Beispiel: Starten einer Elastic Beanstalk-Anwendung in einer VPC mit Amazon RDS
In diesem Abschnitt werden Sie schrittweise durch die Aufgaben geführt, die für die Bereitstellung einer Elastic Beanstalk-Anwendung mit Amazon RDS in einer VPC über ein NAT-Gateway notwendig sind. Ihre Infrastruktur sollte dann wie das folgende Diagramm aussehen.

Anmerkung
Wenn Sie noch keine DB-Instance mit Ihrer Anwendung verwendet haben, versuchen Sie, eine zu einer Testumgebung hinzuzufügen und eine Verbindung mit einer externen DB-Instance herzustellen, bevor Sie eine VPC-Konfiguration hinzufügen.
Erstellen einer VPC mit einem öffentlichen und privaten Subnetz
Sie können die Amazon VPC-Konsole
So erstellen Sie eine VPC
-
Melden Sie sich bei der Amazon VPC-Konsole
an. -
Wählen Sie im Navigationsbereich VPC Dashboard (VPC-Dashboard) aus. Wählen Sie dann die Option Create VPC (VPC erstellen).
-
Klicken Sie auf VPC with Public and Private Subnets (VPC mit öffentlichen und privaten Subnetzen) und anschließend auf Select (Auswählen).
-
Der Elastic Load Balancing-Load Balancer und die Amazon EC2-Instances müssen sich in derselben Availability Zone befinden, um miteinander kommunizieren zu können. Wählen Sie in jeder Liste Availability Zone dieselbe Availability Zone aus.
-
Wählen Sie eine Elastic IP-Adresse für Ihr NAT-Gateway aus.
-
Wählen Sie Create VPC aus.
Der Assistent erstellt Ihre VPC, Subnetze und das Internet-Gateway. Außerdem wird die Haupt-Routing-Tabelle aktualisiert und eine benutzerdefinierte Routing-Tabelle erstellt. Zum Schluss erstellt der Assistent ein NAT-Gateway im öffentlichen Subnetz.
Anmerkung
Sie können auswählen, ob eine NAT-Instance statt im NAT-Gateway im öffentlichen Subnetz starten soll. Weitere Informationen finden Sie unter Szenario 2: VPC mit öffentlichen und privaten Subnetzen (NAT) im Amazon VPC-Benutzerhandbuch.
-
Nachdem die VPC erfolgreich erstellt wurde, erhalten Sie eine VPC-ID. Sie benötigen diesen Wert im nächsten Schritt. Um die VPC-ID anzuzeigen, wählen Sie Your VPCs (Ihre VPCs) im linken Bereich der Amazon VPC-Konsole
aus.
Erstellen einer DB-Subnetzgruppe
Eine DB-Subnetzgruppe für eine VPC ist eine Sammlung von Subnetzen (in der Regel private Subnetze), die Sie für Ihre Backend-RDS-DB-Instances bestimmen sollten. Jede DB-Subnetzgruppe sollte über mindestens ein Subnetz für jede Availability Zone in einer bestimmten AWS-Region verfügen. Weitere Informationen erhalten Sie unter Erstellen eines Subnetzes in Ihrer VPC.
Erstellen einer DB-Subnetzgruppe
Öffnen Sie die Amazon RDS-Konsole
. -
Wählen Sie im Navigationsbereich Subnetzgruppe aus.
-
Wählen Sie DB-Subnetzgruppe erstellen aus.
-
Wählen Sie Name und geben Sie dann den Namen Ihrer DB-Subnetzgruppe ein.
-
Wählen Sie Description (Beschreibung) und beschreiben Sie dann Ihre DB-Subnetzgruppe.
-
Wählen Sie für VPC die ID der zuvor erstellten VPC aus.
-
Wählen Sie im Abschnitt Add subnets (Subnetze hinzufügen) die Option Add all the subnets related to this VPC (Alle zu dieser VPC gehörenden Subnetze hinzufügen).
-
Wenn Sie fertig sind, wählen Sie Erstellen aus.
Ihre neue DB-Subnetzgruppe wird in der Liste der Subnetzgruppen in der Amazon RDS-Konsole angezeigt. Sie können sie wählen, um die Details im Details-Bereich unten auf der Seite anzeigen zu lassen – einschließlich aller Subnetze, die dieser Gruppe angehören.
Bereitstellen in Elastic Beanstalk
Nach dem Einrichten Ihrer VPC können Sie Ihre Umgebung darin erstellen und Ihre Anwendung für Elastic Beanstalk bereitstellen. Sie können dies mit der Elastic-Beanstalk-Konsole tun oder die AWS-Toolkits, AWS CLI, EB CLI oder Elastic-Beanstalk-API verwenden. Wenn Sie die Elastic Beanstalk-Konsole verwenden, laden Sie einfach Ihre .war
- oder .zip
-Datei hoch und wählen Sie die VPC-Einstellung im Assistenten aus. Elastic Beanstalk erstellt Ihre Umgebung in Ihrer VPC und stellt Ihre Anwendung bereit. Alternativ können Sie zum Bereitstellen Ihrer Anwendung auch die AWS-Toolkits, die AWS CLI, die EB CLI oder die Elastic-Beanstalk-API verwenden. Dazu müssen Sie Ihre VPC-Optionseinstellungen in einer Konfigurationsdatei definieren und diese Datei mit Ihrem Quell-Bundle bereitstellen. Dieses Thema enthält Anleitungen für beide Methoden.
Bereitstellen mit der Elastic Beanstalk-Konsole
Die Elastic Beanstalk-Konsole führt Sie durch die Schritte zum Erstellen Ihrer neuen Umgebung in der VPC. Sie müssen eine .war
-Datei (für Java-Anwendungen) bzw. eine .zip
-Datei (für alle anderen Anwendungen) angeben. Nehmen Sie auf der Seite VPC Configuration (VPC-Konfiguration) des Elastic Beanstalk-Umgebungsassistenten folgende Einstellungen vor:
- VPC
-
Wählen Sie Ihre VPC aus.
- VPC Security Group (VPC-Sicherheitsgruppe
-
Wählen Sie die weiter oben erstellte Instance-Sicherheitsgruppe aus.
- ELB visibility (ELB-Sichtbarkeit
-
Wählen Sie
External
aus, wenn Ihr Load Balancer öffentlich verfügbar sein soll, oderInternal
, wenn der Load Balancer nur in Ihrer VPC zur Verfügung stehen soll.
Wählen Sie die Subnetze für Ihren Load Balancer und die EC2 Instances aus. Stellen Sie sicher, dass Sie das öffentliche Subnetz für den Load Balancer und das private Subnetz für Ihre Amazon EC2-Instances auswählen. Standardmäßig erstellt der VPC-Assistent das öffentliche Subnetz in 10.0.0.0/24
und das private Subnetz in 10.0.1.0/24
.
Sie können die Subnetz-IDs anzeigen, indem Sie Subnets (Subnetze) in der Amazon VPC-Konsole

Bereitstellen über die AWS Toolkits, EB CLI, AWS CLI oder API
Beim Bereitstellen Ihrer Anwendung für Elastic Beanstalk unter Verwendung der AWS-Toolkits, der EB CLI, der AWS CLI oder der API können Sie Ihre VPC-Optionseinstellungen in einer Datei angeben und mit Ihrem Quell-Bundle bereitstellen. Weitere Informationen finden Sie unter Erweiterte Umgebungsanpassung mit Konfigurationsdateien (.ebextensions).
Wenn Sie die Optionseinstellungen aktualisieren, müssen Sie mindestens Folgendes angeben:
-
VPCId (VPC-ID) – Enthält die ID der VPC.
-
Subnets (Subnetze) – Enthält die ID des Auto Scaling-Gruppensubnetzes. In diesem Beispiel ist dies die ID des privaten Subnetzes.
-
ELBSubnets (ELB-Subnetze) – Enthält die ID des Subnetzes für den Load Balancer. In diesem Beispiel ist dies die ID des öffentlichen Subnetzes.
-
SecurityGroups (Sicherheitsgruppen) – Enthält die ID der Sicherheitsgruppen.
-
DBSubnets (DB-Subnetze) – Enthält die ID der DB-Subnetze.
Anmerkung
Wenn Sie DB-Subnetze verwenden, müssen Sie zusätzliche Subnetze in Ihrer VPC erstellen, um alle Availability Zones in der AWS-Region abzudecken.
Optional können Sie auch die folgenden Informationen angeben:
-
ELBScheme (ELB-Schema) – Geben Sie
internal
an, wenn ein interner Load Balancer in Ihrer VPC erstellt werden soll, damit nur innerhalb der VPC auf die Elastic Beanstalk-Anwendung zugegriffen werden kann.
Nachfolgend finden Sie ein Beispiel für die Optionseinstellungen, die Sie bei der Elastic Beanstalk-Anwendungsbereitstellung in einer VPC verwenden können. Weitere Informationen zu VPC-Optionseinstellungen (einschließlich Beispiele, wie diese angegeben werden, Standardwerte und gültige Werte) finden Sie in der aws:ec2:vpc-Namespace-Tabelle in Konfigurationsoptionen.
option_settings:
- namespace: aws:autoscaling:launchconfiguration
option_name: EC2KeyName
value: ec2keypair
- namespace: aws:ec2:vpc
option_name: VPCId
value: vpc-170647c
- namespace: aws:ec2:vpc
option_name: Subnets
value: subnet-4f195024
- namespace: aws:ec2:vpc
option_name: ELBSubnets
value: subnet-fe064f95
- namespace: aws:ec2:vpc
option_name: DBSubnets
value: subnet-fg148g78
- namespace: aws:autoscaling:launchconfiguration
option_name: InstanceType
value: m1.small
- namespace: aws:autoscaling:launchconfiguration
option_name: SecurityGroups
value: sg-7f1ef110
Anmerkung
Wenn Sie DB-Subnetze verwenden, müssen Sie zusätzliche Subnetze in Ihrer VPC erstellen, um alle Availability Zones in der AWS-Region abzudecken.