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.
Elastic Beanstalk mit Amazon verwenden VPC
In diesem Thema werden die Vorteile der Verwendung von VPC Endpoints mit Elastic Beanstalk und die verschiedenen Arten von Konfigurationen, die Sie implementieren können, erklärt.
Sie können eine Amazon Virtual Private Cloud (AmazonVPC) verwenden, um ein sicheres Netzwerk für Ihre Elastic Beanstalk Beanstalk-Anwendung und ähnliche Anwendungen zu erstellen AWS Ressourcen schätzen. Wenn Sie Ihre Umgebung erstellen, wählen Sie ausVPC, welche Subnetze und Sicherheitsgruppen für Ihre Anwendungsinstanzen und Ihren Load Balancer verwendet werden. Sie können jede beliebige VPC Konfiguration verwenden, sofern sie die folgenden Anforderungen erfüllt.
VPCAnforderungen
-
Internetzugriff – Instances müssen über eine der folgenden Methoden auf das Internet zugreifen können:
-
Öffentliches Subnetz – Instances besitzen eine öffentliche IP-Adresse und verwenden für den Zugriff auf das Internet ein Internet-Gateway.
-
Privates Subnetz — Instances verwenden ein NAT Gerät, um auf das Internet zuzugreifen.
Anmerkung
Wenn Sie VPCEndpunkte in Ihrem so konfigurieren, VPC dass sie sich sowohl mit den
elasticbeanstalk
als auch mit denelasticbeanstalk-health
Diensten verbinden, ist der Internetzugang optional und nur erforderlich, wenn Ihre Anwendung ihn ausdrücklich benötigt. Ohne VPC Endgeräte VPC müssen Sie Zugriff auf das Internet haben.Die StandardeinstellungVPC, die Elastic Beanstalk für Sie einrichtet, bietet Internetzugang.
Elastic Beanstalk unterstützt keine Proxy-Einstellungen wie
HTTPS_PROXY
für die Konfiguration eines Web-Proxys. -
-
NTP— Instances in Ihrer Elastic Beanstalk Beanstalk-Umgebung verwenden das Network Time Protocol (NTP), um die Systemuhr zu synchronisieren. Wenn Instances nicht auf UDP Port 123 kommunizieren können, ist die Uhr möglicherweise nicht mehr synchron, was zu Problemen mit der Elastic Beanstalk Beanstalk-Zustandsberichterstattung führt. Stellen Sie sicher, dass Ihre VPC Sicherheitsgruppen und Ihr Netzwerk eingehenden und ausgehenden UDP Datenverkehr auf Port 123 ACLs zulassen, um diese Probleme zu vermeiden.
Das elastic-beanstalk-samples
Um Ressourcen mit einem zu erstellen AWS CloudFormation Vorlage
-
Klonen Sie das Beispiel-Repository oder laden Sie eine Vorlage über die Links in der herunter README
. -
Öffnen Sie AWS CloudFormation Konsole
. -
Wählen Sie Stack erstellen aus.
-
Wählen Sie Upload a template to Amazon S3 (Vorlage auf Amazon S3 hochladen) aus.
-
Wählen Sie Upload file (Datei hochladen) aus und laden Sie die Vorlagendatei von Ihrem lokalen Computer hoch.
-
Klicken Sie auf Next (Weiter) und befolgen Sie die Anweisungen zum Erstellen eines Stapels mit den Ressourcen in der Vorlage.
Wenn die Stack-Erstellung abgeschlossen ist, suchen Sie auf der Registerkarte Ausgaben nach der VPC ID und dem SubnetzIDs. Verwenden Sie diese, um die Netzwerkkonfigurationskategorie VPC im Assistenten für die neue Umgebung zu konfigurieren.
Themen
- Öffentlich VPC
- Öffentlich/privat VPC
- Privat VPC
- Beispiel: Starten einer Elastic Beanstalk Beanstalk-Anwendung in einem VPC mit Bastion-Hosts
- Beispiel: Starten eines Elastic Beanstalk in a mit Amazon VPC RDS
- Elastic Beanstalk mit Endpunkten verwenden VPC
- Verwendung von Endpunktrichtlinien zur Steuerung des Zugriffs mit VPC Endpunkten
Öffentlich VPC
AWS CloudFormation Vorlage — vpc-public.yaml
Einstellungen (mit Load Balancing)
-
Load balancer visibility (Load Balancer-Sichtbarkeit) – Öffentlich
-
Load balancer subnets (Load Balancer-Subnetze) – Beide öffentliche Subnetze
-
Instance public IP (Öffentliche IP der Instance) – Aktiviert
-
Instance subnets (Instance-Subnetze) – Beide öffentliche Subnetze
-
Instance security groups (Instance-Sicherheitsgruppen) – Standard-Sicherheitsgruppe hinzufügen
Einstellungen (einzelne Instance)
-
Instance subnets (Instance-Subnetze) – Eines der öffentlichen Subnetze
-
Instance security groups (Instance-Sicherheitsgruppen) – Standard-Sicherheitsgruppe hinzufügen
Ein einfaches VPC Layout, das nur öffentlich zugänglich ist, umfasst ein oder mehrere öffentliche Subnetze, ein Internet-Gateway und eine Standardsicherheitsgruppe, die den Verkehr zwischen Ressourcen in der ermöglicht. VPC Wenn Sie eine Umgebung in der erstellenVPC, erstellt Elastic Beanstalk zusätzliche Ressourcen, die je nach Umgebungstyp variieren.
VPCRessourcen
-
Einzelne Instance – Elastic Beanstalk erstellt eine Sicherheitsgruppe für die Anwendungs-Instance, die Datenverkehr aus dem Internet auf Port 80 zulässt, und weist der Instance eine Elastic IP-Adresse zu, damit sie eine öffentliche IP-Adresse hat. Der Domänenname der Umgebung wird zur öffentlichen IP-Adresse der Instance aufgelöst.
-
Lastausgleich – Elastic Beanstalk erstellt eine Sicherheitsgruppe für den Load Balancer, der Datenverkehr aus dem Internet auf Port 80 zulässt, und eine Sicherheitsgruppe für die Anwendungs-Instances, die Datenverkehr aus der Sicherheitsgruppe für den Load Balancer zulassen. Der Domänenname der Umgebung wird zum öffentlichen Domänennamen für den Load Balancer aufgelöst.
Dies ähnelt der Art und Weise, wie Elastic Beanstalk Netzwerke verwaltet, wenn Sie die Standardeinstellung verwenden. VPC Die Sicherheit in einem öffentlichen Subnetz hängt vom Load Balancer und von den Instance-Sicherheitsgruppen ab, die von Elastic Beanstalk erstellt wurden. Es ist die kostengünstigste Konfiguration, da kein Gateway erforderlich ist. NAT
Öffentlich/privat VPC
AWS CloudFormation Vorlage — vpc-privatepublic.yaml
Einstellungen (mit Load Balancing)
-
Load balancer visibility (Load Balancer-Sichtbarkeit) – Öffentlich
-
Load balancer subnets (Load Balancer-Subnetze) – Beide öffentliche Subnetze
-
Instance public IP (Öffentliche IP der Instance) – Deaktiviert
-
Instance subnets (Instance-Subnetze) – Beide private Subnetze
-
Instance security groups (Instance-Sicherheitsgruppen) – Standard-Sicherheitsgruppe hinzufügen
Für zusätzliche Sicherheit fügen Sie private Subnetze zu Ihrem hinzu, um ein öffentlich-privates Layout zu erstellen. VPC Dieses Layout erfordert einen Load Balancer und ein NAT Gateway in den öffentlichen Subnetzen und ermöglicht es Ihnen, Ihre Anwendungsinstanzen, Datenbanken und alle anderen Ressourcen in privaten Subnetzen auszuführen. Instances in privaten Subnetzen können nur über den Load Balancer und das Gateway mit dem Internet kommunizieren. NAT
Privat VPC
AWS CloudFormation Vorlage — vpc-private.yaml
Einstellungen (mit Load Balancing)
-
Load balancer visibility (Load Balancer-Sichtbarkeit) – Privat
-
Load balancer subnets (Load Balancer-Subnetze) – Beide private Subnetze
-
Instance public IP (Öffentliche IP der Instance) – Deaktiviert
-
Instance subnets (Instance-Subnetze) – Beide private Subnetze
-
Instance security groups (Instance-Sicherheitsgruppen) – Standard-Sicherheitsgruppe hinzufügen
Im Fall interner Anwendungen, auf die kein Zugriff aus dem Internet möglich sein darf, können Sie alle Vorgänge in privaten Subnetzen ausführen und den Load Balancer so konfigurieren, dass er nur intern verfügbar ist. Hierzu ändern Sie den Wert für Load balancer visibility (Load Balancer-Sichtbarkeit) in Internal (Intern). Diese Vorlage erstellt ein ohne öffentliche Subnetze und VPC ohne Internet-Gateway. Verwenden Sie dieses Layout für Anwendungen, auf die nur von derselben VPC oder einer angehängten VPN Anwendung aus zugegriffen werden soll.
Ausführen einer Elastic Beanstalk Beanstalk-Umgebung in einer privaten Umgebung VPC
Wenn Sie Ihre Elastic Beanstalk Beanstalk-Umgebung privat erstellenVPC, hat die Umgebung keinen Zugriff auf das Internet. Ihre Anwendung benötigt möglicherweise Zugriff auf den Elastic Beanstalk-Service oder andere Services. Ihre Umgebung könnte z. B. erweiterte Integritätsberichte verwenden. In diesem Fall senden die Umgebungs-Instances Integritätsdaten an den erweiterten Integritätsservice. Und Elastic Beanstalk Beanstalk-Code auf Umgebungsinstanzen sendet Traffic an andere AWS Dienste und sonstiger Datenverkehr an Nicht-AWS Endpunkte (zum Beispiel, um Abhängigkeitspakete für Ihre Anwendung herunterzuladen). Im Folgenden finden Sie einige Schritte, die Sie in diesem Fall möglicherweise ausführen müssen, um sicherzustellen, dass Ihre Umgebung ordnungsgemäß funktioniert.
-
Konfiguration von VPC Endpunkten für Elastic Beanstalk — Elastic Beanstalk und seine Enhanced Health Service Support VPC Endpoints, die sicherstellen, dass der Datenverkehr zu diesen Diensten innerhalb des Amazon-Netzwerks bleibt und kein Internetzugang erforderlich ist. Weitere Informationen finden Sie unter Elastic Beanstalk mit Endpunkten verwenden VPC.
-
VPCEndpunkte für zusätzliche Dienste konfigurieren — Elastic Beanstalk Beanstalk-Instances senden Traffic an mehrere andere AWS Dienste in Ihrem Namen: Amazon Simple Storage Service (Amazon S3), Amazon Simple Queue Service (AmazonSQS), AWS CloudFormation und Amazon CloudWatch Logs. Sie müssen auch VPC Endpunkte für diese Dienste konfigurieren. Ausführliche Informationen zu VPC Endpunkten, einschließlich Links pro Service, finden Sie unter VPCEndpoints im VPCAmazon-Benutzerhandbuch.
Anmerkung
Etwas AWS Dienste, einschließlich Elastic Beanstalk, unterstützen VPC Endpunkte in einer begrenzten Anzahl von AWS Regionen. Wenn Sie Ihre private VPC Lösung entwerfen, stellen Sie sicher, dass Elastic Beanstalk und die anderen hier genannten abhängigen Dienste VPC Endpunkte in der AWS Region, die Sie wählen.
-
Bereitstellen eines privaten Docker-Image – In einer Docker-Umgebung könnte Code auf den Umgebungs-Instances versuchen, während der Erstellung der Umgebung das konfigurierte Docker-Image aus dem Internet abzurufen, und fehlschlagen. Um diesen Fehler zu vermeiden, erstellen Sie ein benutzerdefiniertes Docker-Image in Ihrer Umgebung oder verwenden Sie ein in Amazon Elastic Container Registry (AmazonECR) gespeichertes Docker-Image und konfigurieren Sie einen VPC Endpunkt für den ECR Amazon-Service.
-
DNSNamen aktivieren — Elastic Beanstalk Beanstalk-Code auf Umgebungsinstanzen sendet Traffic an alle AWS Dienste, die ihre öffentlichen Endpunkte verwenden. Um sicherzustellen, dass dieser Datenverkehr durchläuft, wählen Sie bei der Konfiguration aller VPC Schnittstellenendpunkte die Option DNSNamen aktivieren. Dadurch wird ein DNS Eintrag in Ihrem hinzugefügtVPC, der den Endpunkt des öffentlichen Dienstes dem Endpunkt der Schnittstelle VPC zuordnet.
Wichtig
Wenn Ihr VPC Gerät nicht privat ist und über einen öffentlichen Internetzugang verfügt und wenn Enable DNS Name für einen beliebigen VPC Endpoint deaktiviert ist, wird der Datenverkehr zum jeweiligen Dienst über das öffentliche Internet übertragen. Das wird wahrscheinlich nicht von Ihnen gewünscht. Bei einem privaten Server ist dieses Problem leicht zu erkennenVPC, da es verhindert, dass dieser Datenverkehr weitergeleitet wird und Sie Fehler erhalten. Bei einem öffentlichen Auftritt erhalten Sie VPC jedoch keinen Hinweis.
-
Einschluss von Anwendungsabhängigkeiten – Wenn Ihre Anwendung Abhängigkeiten wie Sprachlaufzeitpakete besitzt, versucht sie möglicherweise, diese während der Erstellung der Umgebung aus dem Internet herunterzuladen und zu installieren, und schlägt fehl. Um diesen Fehler zu vermeiden, sollten Sie alle Abhängigkeitspakete in das Quellpaket Ihrer Anwendung einschließen.
-
Verwenden einer aktuellen Plattformversion – Stellen Sie sicher, dass Ihre Umgebung eine Plattformversion verwendet, die am 24. Februar 2020 oder später veröffentlicht wurde. Sie sollten insbesondere eine Plattformversion verwenden, die mit oder nach einem der folgenden beiden Updates veröffentlicht wurde: Linux Update 2020-02-28, Windows Update 2020-02-24.
Anmerkung
Der Grund für die Notwendigkeit einer aktualisierten Plattformversion ist, dass bei älteren Versionen ein Problem auftrat, das dazu führte, dass DNS Einträge, die mit der Option DNSNamen aktivieren erstellt wurden, nicht ordnungsgemäß für Amazon SQS funktionierten.