Beispiel: Starten einer Elastic Beanstalk-Anwendung in einer VPC mit Amazon RDS - AWS Elastic Beanstalk

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.

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.

Elastic Beanstalk- und VPC-Topologie mit Amazon RDS
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 zum Erstellen einer VPC verwenden.

So erstellen Sie eine VPC
  1. Melden Sie sich bei der Amazon VPC-Konsole an.

  2. Wählen Sie im Navigationsbereich VPC Dashboard (VPC-Dashboard) aus. Wählen Sie dann die Option Create VPC (VPC erstellen).

  3. Klicken Sie auf VPC with Public and Private Subnets (VPC mit öffentlichen und privaten Subnetzen) und anschließend auf Select (Auswählen).

    Wählen Sie "VPC with Public and Private Subnets (VPC mit öffentlichen und privaten Subnetzen)" und anschließend "Select (Auswählen)" aus.
  4. 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 dieselben Availability Zones für Ihre privaten und öffentlichen Subnetze aus.
  5. Wählen Sie eine Elastic IP-Adresse für Ihr NAT-Gateway aus.

  6. 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.

  7. 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.

    Die Amazon VPC-Konsole zeigt die VPC-ID an.

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
  1. Öffnen Sie die Amazon RDS-Konsole.

  2. Wählen Sie im Navigationsbereich Subnetzgruppe aus.

  3. Wählen Sie DB-Subnetzgruppe erstellen aus.

  4. Wählen Sie Name und geben Sie dann den Namen Ihrer DB-Subnetzgruppe ein.

  5. Wählen Sie Description (Beschreibung) und beschreiben Sie dann Ihre DB-Subnetzgruppe.

  6. Wählen Sie für VPC die ID der zuvor erstellten VPC aus.

  7. 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).

    Fügen Sie alle zu Ihrer VPC gehörenden Subnetze hinzu.
  8. 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, oder Internal, 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 auswählen.

Subnetz-IDs für die VPC

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.