Wie gebe ich einer Lambda-Funktion, die mit einer Amazon VPC verbunden ist, Internetzugriff?

Lesedauer: 6 Minute
0

Ich möchte meiner AWS Lambda-Funktion, die mit einer Amazon Virtual Private Cloud (Amazon VPC) verbunden ist, Internetzugriff gewähren.

Kurzbeschreibung

Für den Internetzugriff von einem privaten Subnetz ist eine Network Address Translation (NAT) erforderlich. Um einer mit einer Amazon VPC verbundenen Lambda-Funktion Internetzugriff zu gewähren, leiten Sie den ausgehenden Datenverkehr an ein NAT-Gateway oder eine NAT-Instance in einem öffentlichen Subnetz weiter.

Weitere Informationen finden Sie unter Herstellen einer Verbindung mit dem Internet über ein Internet-Gateway. Ein Beispiel-Setup finden Sie unter VPC mit Servern in privaten Subnetzen und NAT.

Hinweis: Sie können auch Amazon VPC-Endpunkte verwenden, um von einer Amazon VPC ohne Internetzugriff aus eine Verbindung zu unterstützten AWS-Diensten herzustellen.

Lösung

(Optional) Mit dem VPC-Assistenten in der AWS-Managementkonsole eine neue Amazon VPC erstellen

Hinweis: Wenn Sie den VPC-Assistenten verwenden, um eine neue Amazon VPC zu erstellen, dann fahren Sie mit dem folgenden Abschnitt fort: Erstellen Sie eine Lambda-Ausführungsrolle für Ihre VPC.

1.    Öffnen Sie den VPC-Assistenten in der AWS-Managementkonsole.

2.    Wählen Sie VPC mit öffentlichen und privaten Subnetzen. Das neue öffentliche Subnetz und das private Subnetz, einschließlich der zugehörigen Internet-Gateways und NAT-Gateways, werden in der Amazon VPC-Konsole angezeigt.

Ein öffentliches Subnetz und ein oder mehrere private Subnetze in Ihrer Amazon VPC erstellen

Anweisungen finden Sie unter Erstellen eines Subnetzes, um jedes Ihrer Subnetze zu erstellen.

Wenn Sie die Subnetze erstellen, geben Sie bei Name tag einen Namen für jedes Subnetz ein, der es entweder als öffentlich oder privat kennzeichnet. Zum Beispiel: Öffentliches Subnetz, Privates Lambda 1 und Privates Lambda 2.

Hinweis: Es hat sich bewährt, mehr als ein privates Subnetz in verschiedenen Verfügbarkeitszonen einzurichten. So schaffen Sie Redundanz und ermöglichen es Lambda, eine hohe Verfügbarkeit für Ihre Funktion zu gewährleisten.

Erstellen eines Internet-Gateways und Zuordnen des Gateways zu Ihrer Amazon VPC

Anweisungen finden Sie unter Internet-Gateway erstellen und anhängen.

Ein NAT-Gateway erstellen

Anweisungen finden Sie unter Ein NAT-Gateway erstellen. Wenn Sie das NAT-Gateway erstellen, wählen Sie für Subnetz das Subnetz aus, das Sie veröffentlichen möchten. (Aus dem vorherigen Beispiel: Öffentliches Subnetz.)

Hinweis: Informationen zum Testen Ihres NAT-Gateway-Setups finden Sie unter Testen des öffentlichen NAT-Gateways.

Zwei benutzerdefinierte Routing-Tabellen erstellen – eine für Ihr öffentliches Subnetz und eine für Ihr privates Subnetz

Hinweis: Wenn eine mit Amazon VPC verbundene Lambda-Funktion Anfragen stellt, wählt sie zufällig ein zugehöriges Subnetz aus.. Wenn die Funktion ein falsch konfiguriertes Subnetz verwendet, wird eine Fehlermeldung angezeigt. Um zufällige Fehler zu vermeiden, stellen Sie sicher, dass Sie für alle Subnetze, die Ihre Funktion verwendet, dieselbe Konfiguration verwenden.

Anweisungen finden Sie unter Eine benutzerdefinierte Routing-Tabelle erstellen. Wenn Sie die Routing-Tabellen erstellen, geben Sie bei Name tag einen Namen für jede Routentabelle ein, anhand dessen Sie das Subnetz identifizieren können, dem sie zugeordnet ist. Zum Beispiel: Öffentliches Subnetz und privates Lambda.

Stellen Sie für jede Routing-Tabelle sicher, dass Sie die folgenden Schritte ausführen:

Für die Routing-Tabelle des öffentlichen Subnetzes

1.    Ordnen Sie die Routing-Tabelle des öffentlichen Subnetzes (Öffentliches Subnetz) dem Subnetz zu, das Sie veröffentlichen möchten.

2.    Fügen Sie der Routing-Tabelle eine neue Route hinzu, die die folgenden Konfigurationen enthält:

Geben Sie als Destination 0.0.0.0/0 ein.
Wählen Sie für Ziel Internet-Gateway und dann die ID (igw-123example) des Internet-Gateways aus, das Sie erstellt haben. Wählen Sie Routen speichern.

Für die Routing-Tabelle des privaten Subnetzes

1.    Ordnen Sie die Routing-Tabelle des privaten Subnetzes (Private Lambda) den privaten Subnetzen zu.

2.    Fügen Sie der Routing-Tabelle eine neue Route hinzu, die die folgenden Konfigurationen enthält:

Geben Sie als Destination 0.0.0.0/0 ein.
Wählen Sie für Ziel NAT Gateway aus. Wählen Sie dann die ID des NAT-Gateways (nat-123example), das Sie erstellt haben.

Wichtig: Wenn Sie eine NAT-Instance verwenden, wählen Sie stattdessen Network Interface. Wählen Sie Routen speichern.

Hinweis: Stellen Sie sicher, dass sich die Routen zu Ihrem NAT-Gateway im Status aktiv befinden. Wenn das NAT-Gateway gelöscht wurde und Sie die Routen nicht aktualisiert haben, befinden sie sich im Status blackhole. Weitere Informationen finden Sie unter Ein NAT-Gateways löschen.

Stellen Sie sicher, dass Ihre Netzwerk-ACL ausgehende Anfragen von Ihrer Lambda-Funktion und bei Bedarf eingehenden Datenverkehr zulässt

Die standardmäßige Netzwerk-Zugriffssteuerungsliste (Netzwerk-ACL) in Ihrer Amazon VPC lässt den gesamten ein- und ausgehenden Datenverkehr zu. Wenn Sie die Netzwerk-ACL-Regeln ändern, stellen Sie sicher, dass Sie weiterhin ausgehende Anfragen von Ihrer Lambda-Funktion zulassen.

Stellen Sie außerdem sicher, dass Ihre Netzwerk-ACL den folgenden eingehenden Datenverkehr basierend auf Ihrer VPC-Konfiguration zulässt:

  • Für private Subnetze, die ein NAT-Gateway verwenden: Lassen Sie eingehenden Verkehr auf den kurzlebigen Ports 1024–65535 zu.
  • Für private Subnetze, die eine NAT-Instance verwenden: Lassen Sie eingehenden Datenverkehr auf den kurzlebigen Ports zu, die von Ihrem NAT-Instance-Betriebssystem verwendet werden.

Hinweis: Weitere Informationen finden Sie unter Datenschutz im Netzwerkdatenverkehr in Amazon VPC.

Eine Lambda-Ausführungsrolle für Ihre VPC erstellen

1.    Öffnen Sie die Rollen-Seite in der AWS Identity and Access Management (IAM)-Konsole.

2.    Wählen Sie Rolle erstellen. Die Seite Rolle erstellen wird geöffnet.

3.    Führen Sie auf der Seite Rolle erstellen die folgenden Schritte aus:

Wählen Sie für Typ der vertrauenswürdigen Entität auswählen die Option AWS-Service aus.
Wählen Sie für Allgemeine Anwendungsfälle Lambda.
Wählen Sie Weiter: Berechtigungen.
Suchen Sie unter Zugriffsrichtlinien anhängen nach AWSLambdaVPCAccessExecutionRole.
Wählen Sie die Richtlinie mit diesem Namen aus. Wählen Sie anschließend Weiter: Tags.
(Optional) Fügen Sie Tags für Ihren Anwendungsfall hinzu.
Wählen Sie Weiter: Prüfen.
Geben Sie unter Rollenname einen Namen für Ihre Lambda-Ausführungsrolle ein. Zum Beispiel: lambda_vpc_basic_execution.
(Optional) Geben Sie unter Rollenbeschreibung eine Beschreibung der Rolle ein. Wählen Sie Rolle erstellen.

Anhängen der Rolle an die Lambda-Funktion

1.    Öffnen Sie die Funktionsseite in der Lambda-Konsole.

2.    Wählen Sie den Namen der Funktion, die Sie mit Ihrer Amazon VPC verbinden möchten.

3.    Wählen Sie die Registerkarte Konfiguration und anschließend Berechtigungen aus.

4.    Wählen Sie unter Ausführungsrolle die Option Bearbeiten aus.

5.    Wählen Sie die Dropdownliste Bestehende Rolle und wählen Sie dann Ihre Rolle aus. Zum Beispiel: lambda_vpc_basic_execution.

6.    Wählen Sie Speichern.

Weitere Informationen finden Sie unter Lambda-Ausführungsrolle und Eine Ausführungsrolle in der IAM-Konsole erstellen.

Die Lambda-Funktion für die Verbindung mit Ihrer Amazon VPC konfigurieren

1.    Öffnen Sie die Funktionsseite in der Lambda-Konsole.

2.    Wählen Sie den Namen der Funktion, die Sie mit Ihrer Amazon VPC verbinden möchten.

3.    Wählen Sie die Registerkarte Konfiguration.

4.    Wählen Sie in der linken Navigationsleiste VPC und dann Bearbeiten aus. Geben Sie dann folgende Felder ein:

Wählen Sie für Virtual Private Cloud (VPC) Ihre VPC aus.
Wählen Sie für Subnetze die privaten Subnetze aus, die Sie erstellt haben. Identifizieren Sie sie anhand ihrer Subnetz-IDs (und Namen, falls Sie sie benannt haben).
Wählen Sie für Sicherheitsgruppen eine Sicherheitsgruppe aus.

Hinweis: Die Standardsicherheitsgruppe lässt den gesamten ausgehenden Internetverkehr zu und ist für die meisten Anwendungsfälle ausreichend. Weitere Informationen finden Sie unter Datenverkehr zu Ihren AWS-Ressourcen mithilfe von Sicherheitsgruppen steuern.

5.    Wählen Sie Speichern.

Ähnliche Informationen

Ausgehende Netzwerke mit Ressourcen in einer VPC verbinden

Behebung von Netzwerkproblemen in Lambda

Wie behebe ich Lambda-Funktionsfehler?

AWS OFFICIAL
AWS OFFICIALAktualisiert vor einem Jahr