VPC-Zugriff für ausgehenden Verkehr aktivieren - AWS App Runner

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.

VPC-Zugriff für ausgehenden Verkehr aktivieren

Standardmäßig kann Ihre AWS App Runner Anwendung Nachrichten an öffentliche Endpunkte senden. Dazu gehören Ihre eigenen Lösungen und alle anderen öffentlichen Websites oder Webdienste. AWS-Services Ihre Anwendung kann sogar Nachrichten an öffentliche Endpunkte von Anwendungen senden, die in einer VPC von Amazon Virtual Private Cloud (Amazon VPC) ausgeführt werden. Wenn Sie beim Starten Ihrer Umgebung keine VPC konfigurieren, verwendet App Runner die Standard-VPC, die öffentlich ist.

Sie können sich dafür entscheiden, Ihre Umgebung in einer benutzerdefinierten VPC zu starten, um die Netzwerk- und Sicherheitseinstellungen für ausgehenden Datenverkehr anzupassen. Sie können Ihren AWS App Runner Service für den Zugriff auf Anwendungen aktivieren, die in einer privaten VPC von Amazon Virtual Private Cloud (Amazon VPC) aus ausgeführt werden. Danach kann sich Ihre Anwendung mit anderen Anwendungen verbinden und Nachrichten an diese senden, die in einer Amazon Virtual Private Cloud (Amazon VPC) gehostet werden. Beispiele sind eine Amazon RDS-Datenbank ElastiCache, Amazon und andere private Dienste, die in einer privaten VPC gehostet werden.

VPC-Anschluss

Sie können Ihren Service mit einer VPC verknüpfen, indem Sie in der App Runner-Konsole einen VPC-Endpunkt namens VPC Connector erstellen. Um einen VPC-Connector zu erstellen, geben Sie die VPC, ein oder mehrere Subnetze und optional eine oder mehrere Sicherheitsgruppen an. Nachdem Sie einen VPC Connector konfiguriert haben, können Sie ihn mit einem oder mehreren App Runner-Diensten verwenden.

Einmalige Latenz

Wenn Sie Ihren App Runner-Dienst mit einem benutzerdefinierten VPC-Connector für ausgehenden Datenverkehr konfigurieren, kann es zu einer einmaligen Startlatenz von zwei bis fünf Minuten kommen. Der Startvorgang wartet, bis der VPC Connector bereit ist, eine Verbindung zu anderen Ressourcen herzustellen, bevor er den Dienststatus auf Wird ausgeführt setzt. Sie können einen Dienst mit einem benutzerdefinierten VPC-Connector konfigurieren, wenn Sie ihn zum ersten Mal erstellen, oder Sie können dies später tun, indem Sie ein Service-Update durchführen.

Beachten Sie, dass es zu keiner Latenz kommt, wenn Sie dieselbe VPC-Connectorkonfiguration für einen anderen Dienst wiederverwenden. Die VPC-Connectorkonfiguration basiert auf der Kombination aus Sicherheitsgruppe und Subnetz. Bei einer bestimmten VPC-Connector-Konfiguration tritt die Latenz nur einmal auf, nämlich bei der ersten Erstellung der VPC Connector Hyperplane ENIs (Elastic Network Interfaces).

Mehr über benutzerdefinierte VPC-Konnektoren und Hyperplane AWS

Die VPC-Konnektoren in App Runner basieren auf AWS Hyperplane, dem internen Amazon-Netzwerksystem, das hinter mehreren AWS Ressourcen wie Network Load Balancer, NAT Gateway und AWS steht. PrivateLink Die AWS Hyperplane-Technologie bietet hohen Durchsatz und niedrige Latenz sowie einen höheren Grad an gemeinsamer Nutzung. Eine Hyperplane-ENI wird in Ihren Subnetzen erstellt, wenn Sie einen VPC-Connector erstellen und ihn Ihrem Service zuordnen. Eine VPC-Connectorkonfiguration basiert auf einer Kombination aus Sicherheitsgruppe und Subnetz, und Sie können in mehreren App Runner-Diensten auf denselben VPC Connector verweisen. Daher werden die zugrunde liegenden Hyperplane-ENIs von Ihren App Runner-Diensten gemeinsam genutzt. Diese gemeinsame Nutzung ist machbar, auch wenn Sie die Anzahl der Aufgaben erhöhen, die zur Bewältigung der Anforderungslast erforderlich sind, und führt zu einer effizienteren Nutzung des IP-Raums in Ihrer VPC. Weitere Informationen finden Sie im AWS-Container-Blog unter Deep Dive on AWS App Runner VPC Networking.

Subnetz

Jedes Subnetz befindet sich in einer bestimmten Availability Zone. Für eine hohe Verfügbarkeit empfehlen wir, Subnetze für mindestens drei Availability Zones auszuwählen. Wenn die Region weniger als drei Availability Zones hat, empfehlen wir Ihnen, Ihre Subnetze für alle unterstützten Availability Zones auszuwählen.

Achten Sie bei der Auswahl eines Subnetzes für Ihre VPC darauf, dass Sie ein privates Subnetz und kein öffentliches Subnetz wählen. Dies liegt daran, dass der App Runner-Dienst beim Erstellen eines VPC-Connectors in jedem der Subnetze eine Hyperplane-ENI erstellt. Jedem Hyperplane-ENI wird nur eine private IP-Adresse zugewiesen und sie ist mit einem Schlüssel-Tag versehen. AWSAppRunnerManaged Wenn Sie ein öffentliches Subnetz wählen, treten beim Ausführen Ihres App Runner-Dienstes Fehler auf. Wenn Ihr Dienst jedoch auf Dienste zugreifen muss, die sich im Internet oder in anderen öffentlichen Bereichen befinden AWS-Services, finden Sie weitere Informationen unterÜberlegungen bei der Auswahl eines Subnetzes .

Überlegungen bei der Auswahl eines Subnetzes

  • Wenn Sie Ihren Service mit einer VPC verbinden, hat der ausgehende Datenverkehr keinen Zugriff auf das öffentliche Internet. Der gesamte ausgehende Datenverkehr von Ihrer Anwendung wird über die VPC geleitet, mit der Ihr Service verbunden ist. Alle Netzwerkregeln für die VPC gelten für den ausgehenden Datenverkehr Ihrer Anwendung. Das bedeutet, dass Ihre Dienste nicht auf das öffentliche Internet und AWS die APIs zugreifen können. Um Zugriff zu erhalten, führen Sie einen der folgenden Schritte aus:

    • Connect die Subnetze über ein NAT-Gateway mit dem Internet.

    • Richten Sie VPC-Endpunkte für die ein AWS-Services , auf die Sie zugreifen möchten. Ihr Service bleibt innerhalb der Amazon VPC, indem Sie AWS PrivateLink

  • In einigen Availability Zones werden die Subnetze, die mit App Runner-Diensten verwendet werden können, AWS-Regionen nicht unterstützt. Wenn Sie Subnetze in diesen Availability Zones auswählen, kann Ihr Dienst nicht erstellt oder aktualisiert werden. In diesen Situationen bietet App Runner eine detaillierte Fehlermeldung, die auf die nicht unterstützten Subnetze und Availability Zones hinweist. In diesem Fall können Sie das Problem beheben, indem Sie die nicht unterstützten Subnetze aus Ihrer Anfrage entfernen und es dann erneut versuchen.

Sicherheitsgruppe

Sie können optional die Sicherheitsgruppen angeben, die App Runner für den Zugriff auf die angegebenen AWS Subnetze verwendet. Wenn Sie keine Sicherheitsgruppen angeben, verwendet App Runner die Standardsicherheitsgruppe der VPC. Die Standard-Sicherheitsgruppe lässt den gesamten ausgehenden Datenverkehr zu.

Das Hinzufügen einer Sicherheitsgruppe bietet eine zusätzliche Sicherheitsebene für die VCP Connectors, sodass Sie mehr Kontrolle über den Netzwerkverkehr haben. Der VPC-Connector wird nur für die ausgehende Kommunikation aus Ihrer Anwendung verwendet. Sie verwenden Regeln für ausgehenden Datenverkehr, um die Kommunikation mit den gewünschten Zielendpunkten zu ermöglichen. Sie müssen außerdem sicherstellen, dass für alle Sicherheitsgruppen, die der Zielressource zugeordnet sind, die entsprechenden Regeln für eingehenden Datenverkehr gelten. Andernfalls können diese Ressourcen keinen Datenverkehr akzeptieren, der von den VPC Connector-Sicherheitsgruppen stammt.

Anmerkung

Wenn Sie Ihren Service mit einer VPC verknüpfen, ist der folgende Datenverkehr nicht betroffen:

  • Eingehender Verkehr — Eingehende Nachrichten, die Ihre Anwendung empfängt, werden von einer zugehörigen VPC nicht beeinflusst. Die Nachrichten werden über den öffentlichen Domainnamen weitergeleitet, der mit Ihrem Service verknüpft ist, und interagieren nicht mit der VPC.

  • App Runner-Verkehr — App Runner verwaltet verschiedene Aktionen in Ihrem Namen, z. B. das Abrufen von Quellcode und Bildern, das Übertragen von Protokollen und das Abrufen von Geheimnissen. Der Traffic, den diese Aktionen generieren, wird nicht über Ihre VPC geleitet.

Weitere Informationen zur AWS App Runner Integration mit Amazon VPC finden Sie unter AWS App Runner VPC Networking.

Anmerkung

Für ausgehenden Datenverkehr unterstützt App Runner derzeit nur IPv4.

VPC-Zugriff verwalten

Anmerkung

Wenn Sie einen VPC-Connector für ausgehenden Verkehr für einen Dienst erstellen, tritt beim darauffolgenden Dienststartvorgang eine einmalige Latenz auf. Sie können diese Konfiguration für einen neuen Dienst bei der Erstellung oder später mit einem Service-Update festlegen. Weitere Informationen finden Sie Einmalige Latenz im Kapitel Networking with App Runner in diesem Handbuch.

Verwalten Sie den VPC-Zugriff für Ihre App Runner-Dienste mit einer der folgenden Methoden:

App Runner console

Wenn Sie einen Dienst mit der App Runner-Konsole erstellen oder seine Konfiguration später aktualisieren, können Sie wählen, ob Sie Ihren ausgehenden Datenverkehr konfigurieren möchten. Suchen Sie auf der Konsolenseite nach dem Abschnitt Netzwerkkonfiguration. Wählen Sie für ausgehenden Netzwerkverkehr eine der folgenden Optionen aus:

  • Öffentlicher Zugriff: Um Ihren Dienst mit öffentlichen Endpunkten anderer AWS-Services zu verknüpfen.

  • Benutzerdefinierte VPC: Um Ihren Service mit einer VPC von Amazon VPC zu verknüpfen. Ihre Anwendung kann sich mit anderen Anwendungen verbinden und Nachrichten an diese senden, die in einer Amazon VPC gehostet werden.

So aktivieren Sie Custom VPC
  1. Öffnen Sie die App Runner-Konsole und wählen Sie in der Liste der Regionen Ihre AWS-Region aus.

  2. Gehen Sie unter Dienst konfigurieren zum Abschnitt Netzwerk.

    Konfigurationsseite der App Runner-Konsole mit Netzwerkoptionen
  3. Wählen Sie Custom VPC für ausgehenden Netzwerkverkehr.

  4. Wählen Sie im Navigationsbereich VPC-Connector aus.

    Wenn Sie die VPC-Connectors erstellt haben, zeigt die Konsole eine Liste der VPC-Connectors in Ihrem Konto an. Sie können einen vorhandenen VPC-Connector auswählen und Weiter wählen, um Ihre Konfiguration zu überprüfen. Fahren Sie dann mit dem letzten Schritt fort. Alternativ können Sie mithilfe der folgenden Schritte einen neuen VPC-Connector hinzufügen.

  5. Wählen Sie Neu hinzufügen, um einen neuen VPC-Connector für Ihren Service zu erstellen.

    Anschließend wird das Dialogfeld Neuen VPC-Connector hinzufügen geöffnet.

    App Runner-Konsole mit Dialogfeld „Neuen VPC-Connector hinzufügen“
  6. Geben Sie einen Namen für Ihren VPC-Connector ein und wählen Sie die erforderliche VPC aus der verfügbaren Liste aus.

  7. Wählen Sie für Subnetze ein Subnetz für jede Availability Zone aus, von der aus Sie auf den App Runner-Dienst zugreifen möchten. Wählen Sie für eine bessere Verfügbarkeit drei Subnetze aus. Oder, wenn es weniger als drei Subnetze gibt, wählen Sie alle verfügbaren Subnetze aus.

    Anmerkung

    Stellen Sie sicher, dass Sie dem VPC-Connector private Subnetze zuweisen. Wenn Sie dem VPC-Connector öffentliche Subnetze zuweisen, kann Ihr Service während eines Updates keine automatische Erstellung oder ein Rollback durchführen.

  8. (Optional) Wählen Sie unter Sicherheitsgruppe die Sicherheitsgruppen aus, die den Endpunkt-Netzwerkschnittstellen zugeordnet werden sollen.

  9. (Optional) Sie fügen ein Tag hinzu, indem Sie neuen Tag hinzufügen auswählen und den Schlüssel und den Wert für den Tag eingeben.

  10. Wählen Sie Hinzufügen aus.

    Die Details des VPC-Connectors, den Sie erstellt haben, werden unter VPC-Connector angezeigt.

  11. Wählen Sie Weiter, um Ihre Konfiguration zu überprüfen, und wählen Sie dann Create and deploy aus.

    App Runner erstellt eine VPC-Connector-Ressource für Sie und ordnet sie dann Ihrem Service zu. Wenn der Dienst erfolgreich erstellt wurde, zeigt die Konsole das Service-Dashboard mit einer Serviceübersicht über den neuen Service an.

App Runner API or AWS CLI

Wenn Sie die API-Aktionen CreateServiceoder UpdateServiceApp Runner aufrufen, verwenden Sie das EgressConfiguration Mitglied des NetworkConfiguration Parameters, um eine VPC-Connector-Ressource für Ihren Service anzugeben.

Verwenden Sie die folgenden App Runner API-Aktionen, um Ihre VPC Connector-Ressourcen zu verwalten.

  • CreateVpcConnector— Erzeugt einen neuen VPC-Connector.

  • ListVpcConnectors— Gibt eine Liste der VPC-Konnektoren zurück, die Ihrem AWS-Konto zugeordnet sind. Die Liste enthält vollständige Beschreibungen.

  • DescribeVpcConnector— Gibt eine vollständige Beschreibung eines VPC-Connectors zurück.

  • DeleteVpcConnector— Löscht einen VPC-Connector. Wenn Sie das VPC-Connector-Kontingent für Ihren erreichen AWS-Konto, müssen Sie möglicherweise nicht benötigte VPC-Connectors löschen.

Um eine Anwendung auf App Runner bereitzustellen, die ausgehenden Zugriff auf eine VPC hat, müssen Sie zunächst einen VPC-Connector erstellen. Sie können dies tun, indem Sie ein oder mehrere Subnetze und Sicherheitsgruppen angeben, die der Anwendung zugeordnet werden sollen. Sie können dann in Create oder UpdateServiceüber die CLI auf den VPC-Connector verweisen, wie im folgenden Beispiel dargestellt:

cat > vpc-connector.json <<EOF { "VpcConnectorName": "my-vpc-connector", "Subnets": [ "subnet-a", "subnet-b", "subnet-c" ], "SecurityGroups": [ "sg-1", "sg-2" ] } EOF aws apprunner create-vpc-connector \ --cli-input-json file:///vpc-connector.json cat > service.json <<EOF { "ServiceName": "my-vpc-connected-service", "SourceConfiguration": { "ImageRepository": { "ImageIdentifier": "<ecr-image-identifier> ", "ImageConfiguration": { "Port": "8000" }, "ImageRepositoryType": "ECR" } }, "NetworkConfiguration": { "EgressConfiguration": { "EgressType": "VPC", "VpcConnectorArn": "arn:aws:apprunner:..../my-vpc-connector" } } } EOF aws apprunner create-service \ --cli-input-json file:///service.js