VPCEndpunkte für eingehende Schnittstellen für Lambda verbinden - 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.

VPCEndpunkte für eingehende Schnittstellen für Lambda verbinden

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

Um eine private Verbindung zwischen Ihnen VPC und Lambda herzustellen, erstellen Sie einen VPCSchnittstellenendpunkt. Schnittstellenendpunkte werden mit Strom versorgt AWS PrivateLink, sodass Sie privat auf Lambda zugreifen können, APIs ohne dass ein Internet-Gateway, ein NAT Gerät, eine Verbindung oder AWS Direct Connect eine VPN Verbindung erforderlich ist. Instances in Ihrem VPC System benötigen keine öffentlichen IP-Adressen, um mit Lambda APIs zu kommunizieren. Der Verkehr zwischen Ihnen 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, sollten Sie die Eigenschaften und Einschränkungen der Schnittstellenendpunkte im VPCAmazon-Benutzerhandbuch lesen.

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

use1-az3ist eine Region mit begrenzter Kapazität für VPC Lambda-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.

VPCÜberlegungen zum Peering

Sie können mithilfe VPC von Peering eine Verbindung VPCs zu anderen Endpunkten VPC mit der Schnittstelle herstellen. VPCPeering ist eine Netzwerkverbindung zwischen zwei. VPCs Sie können eine VPC Peering-Verbindung zwischen Ihren eigenen beiden VPCs oder mit einem VPC in einem anderen AWS Konto herstellen. VPCsSie können sich auch in zwei verschiedenen AWS Regionen befinden.

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

Erstellen eines Schnittstellenendpunkts für Lambda

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

So erstellen Sie einen Schnittstellenendpunkt für Lambda (Konsole)
  1. Öffnen Sie die Seite Endpoints der VPC Amazon-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 für Service Name die Option com.amazonaws aus.region.lambda. Stellen Sie sicher, dass als Typ die Option Schnittstelle gewählt ist.

  5. Wählen Sie ein VPC und Subnetze aus.

  6. Um Private DNS für den Schnittstellenendpunkt zu aktivieren, aktivieren Sie das Kontrollkästchen DNS Name aktivieren. Wir empfehlen Ihnen, private DNS Namen für Ihre VPC Endpunkte für AWS-Services zu aktivieren. Dadurch wird sichergestellt, dass Anfragen, die die Endpunkte des öffentlichen Dienstes verwenden, wie Anfragen, die über einen gestellt werden AWS SDK, 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 zu verwenden, müssen Sie das enableDnsHostnames und enableDnsSupportattributes Ihrer VPC angeben. Weitere Informationen finden Sie unter DNSSupport für Sie anzeigen und aktualisieren VPC im VPCAmazon-Benutzerhandbuch. Wenn Sie Private DNS für den Schnittstellenendpunkt aktivieren, können Sie API Anfragen an Lambda stellen, indem Sie den DNS Standardnamen für die Region verwenden, lambda.us-east-1.amazonaws.com z. B. Weitere Service-Endpunkte finden Sie unter Service-Endpunkte und Kontingente im Allgemeine AWS-Referenz.

Weitere Informationen finden Sie unter Zugreifen auf einen Service über einen Schnittstellenendpunkt im VPCAmazon-Benutzerhandbuch.

Informationen zum Erstellen und Konfigurieren eines Endpunkts mit AWS CloudFormation finden Sie in der VPCEndpoint Ressource AWSEC2:::: im AWS CloudFormation Benutzerhandbuch.

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

Verwenden Sie den create-vpc-endpointBefehl und geben Sie die VPC ID, den VPC Endpunkttyp (Schnittstelle), den Dienstnamen, die Subnetze, die den Endpunkt verwenden, und die Sicherheitsgruppen an, die den Netzwerkschnittstellen des Endpunkts zugeordnet werden sollen. Beispielsweise:

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 Steuern des Zugriffs auf Dienste mit VPC Endpunkten im VPCAmazon-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 die qualifizierte als auch die unqualifizierte Funktion 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:*" ] } ] }