Verbinden von VPC-Endpunkten von eingehenden Schnittstellen für Lambda - AWS Lambda

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Verbinden von VPC-Endpunkten von eingehenden Schnittstellen für Lambda

Wenn Sie Amazon Virtual Private Cloud (Amazon VPC) zum Hosten Ihrer AWS Ressourcen verwenden, können Sie eine Verbindung zwischen Ihrer VPC und Lambda herstellen. Sie können mit dieser Verbindung Ihre Lambda-Funktion aufrufen, ohne das öffentliche Internet überqueren.

Um eine private Verbindung zwischen Ihrer VPC und Lambda herzustellen, erstellen Sie einen Schnittstellen-VPC-Endpunkt. Schnittstellenendpunkte werden von betrieben AWS PrivateLink, sodass Sie privat auf Lambda-APIs zugreifen können, ohne dass ein Internet-Gateway, ein NAT-Gerät, eine VPN-Verbindung oder AWS Direct Connect eine Verbindung erforderlich ist. Die Instances in Ihrer VPC benötigen für die Kommunikation mit Lambda-APIs keine öffentlichen IP-Adressen. Datenverkehr zwischen Ihrer VPC und Lambda verlässt das AWS -Netzwerk nicht.

Jeder Schnittstellenendpunkt wird durch eine oder mehrere Elastic Network-Schnittstellen in Ihren Subnetzen dargestellt. Eine Netzwerkschnittstelle stellt eine private IP-Adresse bereit, die als Einstiegspunkt für den Datenverkehr zu Lambda dient.

Überlegungen für Lambda-Schnittstellenendpunkte

Bevor Sie einen Schnittstellenendpunkt für Lambda einrichten, lesen Sie unbedingt die Eigenschaften und Einschränkungen des Schnittstellenendpunkts im Amazon-VPC-Benutzerhandbuch.

Sie können alle Lambda-API-Operationen von Ihrer VPC aus aufrufen. Sie können die Lambda-Funktion beispielsweise aufrufen, indem Sie die Invoke-API aus Ihrer VPC aufrufen. Die vollständige Liste der Lambda-APIs finden Sie unter Aktionen in der Lambda-API-Referenz.

use1-az3 ist eine Region mit begrenzter Kapazität für Lambda-VPC-Funktionen. Sie sollten in dieser Availability Zone keine Subnetze für Ihre Lambda-Funktionen verwenden, da dies im Falle eines Ausfalls zu einer verringerten zonalen Redundanz führen kann.

Keep-Alive für persistente Verbindungen

Lambda löscht Leerlaufverbindungen im Laufe der Zeit. Daher müssen Sie eine Keep-Alive-Direktive verwenden, um dauerhafte Verbindungen zu pflegen. Der Versuch, eine Leerlaufverbindung beim Aufruf einer Funktion wiederzuverwenden, führt zu einem Verbindungsfehler. Um Ihre persistente Verbindung aufrechtzuerhalten, verwenden Sie die Keep-Alive-Direktive, die Ihrer Laufzeit zugeordnet ist. Ein Beispiel finden Sie unter Wiederverwenden von Verbindungen mit Keep-Alive in Node.js im AWS SDK for JavaScript -Entwicklerhandbuch.

Überlegungen zur Abrechnung

Es fallen keine zusätzlichen Kosten für den Zugriff auf eine Lambda-Funktion über einen Schnittstellen-Endpunkt an. Weitere Informationen über Lambda-Preise finden Sie unter AWS Lambda -Preise.

Die Standardpreise für AWS PrivateLink gelten für Schnittstellenendpunkte für Lambda. Ihrem AWS Konto wird jede Stunde, in der ein Schnittstellenendpunkt in jeder Availability Zone bereitgestellt wird, sowie für Daten, die über den Schnittstellenendpunkt verarbeitet werden, in Rechnung gestellt. Weitere Informationen zu Preisen für Schnittstellenendpunkte finden Sie unter AWS PrivateLink -Preise.

Überlegungen zu VPC Peering

Sie können andere VPCs mit Schnittstellenendpunkten über VPC-Peering mit der VPC verbinden. VPC-Peering ist eine Netzwerkverbindung zwischen zwei VPCs. Sie können eine VPC-Peering-Verbindung zwischen Ihren eigenen beiden VPCs oder mit einer VPC in einem anderen AWS -Konto herstellen. Die VPCs können sich auch in zwei verschiedenen Regionen befinden. AWS

Der Verkehr zwischen Peer-VPCs verbleibt im AWS Netzwerk und durchquert nicht das öffentliche Internet. Sobald VPCs per Peering verbunden sind, können Ressourcen wie Amazon-Elastic-Compute-Cloud-(Amazon-EC2)-Instances, Amazon-Relational-Database-Service-(Amazon-RDS)-Instances oder VPC-fähige Lambda-Funktionen in beiden VPCs über Schnittstellenendpunkte, die in einem der VPCs erstellt wurden, auf die Lambda-API zugreifen.

Erstellen eines Schnittstellenendpunkts für Lambda

Sie können einen Schnittstellenendpunkt für Lambda entweder mit der Amazon VPC-Konsole oder mit AWS Command Line Interface ()AWS CLI erstellen. Weitere Informationen finden Sie unter Erstellung eines Schnittstellenendpunkts im Benutzerhandbuch für Amazon VPC.

So erstellen Sie einen Schnittstellenendpunkt für Lambda (Konsole)
  1. Öffnen Sie die Seite Endpunkte der Amazon-VPC-Konsole.

  2. Klicken Sie auf Create Endpoint.

  3. Stellen Sie sicher, dass für Service-Kategorie die Option AWS -Services ausgewählt ist.

  4. Wählen Sie als Service Name (Servicename) com.amazonaws.region.lambda aus. Stellen Sie sicher, dass als Typ die Option Schnittstelle gewählt ist.

  5. Auswählen von VPC und Subnetzen

  6. Um ein privates DNS für den Schnittstellenendpunkt zu aktivieren, aktivieren Sie das Kontrollkästchen für Name eines DNS aktivieren. Wir empfehlen Ihnen, private DNS-Namen für Ihre VPC-Endpunkte für zu aktivieren. AWS-Services Dadurch wird sichergestellt, dass Anfragen, die die Endpunkte des öffentlichen Dienstes verwenden, z. B. Anfragen, die über ein AWS SDK gestellt wurden, an Ihren VPC-Endpunkt weitergeleitet werden.

  7. Wählen Sie unter Security group (Sicherheitsgruppe) eine oder mehrere Sicherheitsgruppen aus.

  8. Wählen Sie Endpunkt erstellen aus.

Um die private DNS-Option verwenden zu können, müssen Sie enableDnsHostnames und enableDnsSupportattributes Ihrer VPC festlegen. Weitere Informationen finden Sie unter Anzeigen und Aktualisieren der DNS-Unterstützung für Ihre VPC im Amazon-VPC-Benutzerhandbuch. Wenn Sie einen privaten DNS für den Schnittstellenendpunkt aktivieren, können Sie mittels seines standardmäßigen DNS-Namen für die Region, beispielsweise lambda.us-east-1.amazonaws.com, API-Anforderungen an Lambda senden. Weitere Service-Endpunkte finden Sie unter Service-Endpunkte und Kontingente im Allgemeine AWS-Referenz.

Weitere Informationen finden Sie unter Zugriff auf einen Service über einen Schnittstellenendpunkt im Benutzerhandbuch für Amazon VPC.

Informationen zum Erstellen und Konfigurieren eines Endpunkts mithilfe AWS CloudFormation von finden Sie in der Ressource AWS: :EC2: :VpcEndpoint im Benutzerhandbuch.AWS CloudFormation

So erstellen Sie einen Schnittstellen-Endpunkt für Lambda (AWS CLI)

Verwenden Sie den create-vpc-endpoint-Befehl und geben Sie die VPC-ID an, den VPC-Endpunkttyp (Schnittstelle), den Servicenamen, die Subnetze, die den Endpunkt verwenden sollen, sowie die Sicherheitsgruppen, die den Endpunktnetzwerkschnittstellen zugeordnet werden sollen. Zum Beispiel:

aws ec2 create-vpc-endpoint --vpc-id vpc-ec43eb89 --vpc-endpoint-type Interface --service-name \ com.amazonaws.us-east-1.lambda --subnet-id subnet-abababab --security-group-id sg-1a2b3c4d

Erstellen einer Richtlinie des Schnittstellenendpunkts für Lambda

Wenn Sie steuern möchten, wer Ihren Schnittstellenendpunkt verwenden kann und auf welche Lambda-Funktionen der Benutzer zugreifen kann, können Sie eine Endpunktrichtlinie an Ihren Endpunkt anfügen. Die Richtlinie gibt die folgenden Informationen an:

  • Prinzipal, der die Aktionen ausführen kann

  • Die Aktionen, die der Prinzipal ausführen kann.

  • Die Ressourcen, auf denen der Prinzipal Aktionen ausführen kann.

Weitere Informationen finden Sie unter Steuerung des Zugriffs auf Services mit VPC-Endpunkten im Amazon VPC Benutzerhandbuch.

Beispiel: Schnittstellenendpunktrichtlinie für Lambda-Aktionen

Im Folgenden finden Sie ein Beispiel für eine Endpunktrichtlinie für Lambda. Bei Anfügung an einen Endpunkt ermöglicht diese Richtlinie dem Benutzer MyUser die Funktion my-function aufzurufen.

Anmerkung

Sie müssen sowohl den qualifizierten als auch den nicht qualifizierten Funktions-ARN in die Ressource aufnehmen.

{ "Statement":[ { "Principal": { "AWS": "arn:aws:iam::111122223333:user/MyUser" }, "Effect":"Allow", "Action":[ "lambda:InvokeFunction" ], "Resource": [ "arn:aws:lambda:us-east-2:123456789012:function:my-function", "arn:aws:lambda:us-east-2:123456789012:function:my-function:*" ] } ] }