Verwalten mehrerer Elastic Beanstalk-Umgebungen als Gruppe mit der EB CLI - 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.

Verwalten mehrerer Elastic Beanstalk-Umgebungen als Gruppe mit der EB CLI

Sie können mit der EB-CLI Gruppen von AWS Elastic Beanstalk-Umgebungen erstellen, die jeweils eine separate Komponente einer Service-orientierten Architekturanwendung ausführen. Die EB-CLI verwaltet solche Gruppen unter Verwendung der ComposeEnvironments-API.

Anmerkung

Umgebungsgruppen unterscheiden sich von dem Konzept mehrerer Container in einer Multicontainer Docker-Umgebung. Mit Umgebungsgruppen wird jede Komponente Ihrer Anwendung in einer separaten Elastic Beanstalk-Umgebung ausgeführt, mit jeweils einem eigenen Satz von Amazon EC2-Instances. Jede Komponente kann separat skaliert werden. Mit Multicontainer Docker kombinieren Sie mehrere Komponenten einer Anwendung in einer einzigen Umgebung. Alle Komponenten verwenden den gleichen Satz an Amazon EC2-Instances, wobei jede Instance mehrere Docker-Container ausführt. Wählen Sie eine dieser Architekturen entsprechend den Anforderungen Ihrer Anwendung aus.

Details zu Multicontainer Docker finden Sie unter Verwenden des Amazon-ECS-Plattformzweigs.

Organisieren Sie Ihre Anwendungskomponenten in der folgenden Ordnerstruktur:

~/project-name |-- component-a | `-- env.yaml `-- component-b `-- env.yaml

Jeder Unterordner enthält den Quellcode für eine unabhängige Komponente einer Anwendung, die in ihrer eigenen Umgebung ausgeführt, sowie eine Umgebungsdefinitionsdatei mit dem Namen env.yaml. Weitere Informationen zum Format env.yaml finden Sie unter Umgebungsmanifest (env.yaml).

Zur Verwendung der Compose Environments-API führen Sie zuerst eb init aus dem Projektordner aus und geben Sie die einzelnen Komponenten mit dem Namen des Ordners an, der sie mit der --modules-Option enthält:

~/workspace/project-name$ eb init --modules component-a component-b

Sie werden von der EB CLI aufgefordert, jede Komponente zu konfigurieren. Anschließend wird das .elasticbeanstalk-Verzeichnis in jedem Komponentenordner erstellt. EB CLI erstellt keine Konfigurationsdateien im übergeordneten Verzeichnis.

~/project-name |-- component-a | |-- .elasticbeanstalk | `-- env.yaml `-- component-b |-- .elasticbeanstalk `-- env.yaml

Führen Sie im nächsten Schritt den eb create-Befehl mit einer Liste von zu erstellenden Umgebungen aus, einen für jede Komponente:

~/workspace/project-name$ eb create --modules component-a component-b --env-group-suffix group-name

Mit diesem Befehl wird eine Umgebung für jede Komponente erstellt. Die Namen der Umgebungen werden erstellt, indem der EnvironmentName, der in der env.yaml-Datei angegeben ist, mit dem Gruppennamen zusammengefügt wird (durch einen Bindestrich getrennt). Die Gesamtlänge dieser beiden Optionen und der Bindestrich dürfen nicht größer als die maximal zulässige Umgebungsnamenlänge von 23 Zeichen.

Verwenden Sie den eb deploy-Befehl, um die Umgebung zu aktualisieren:

~/workspace/project-name$ eb deploy --modules component-a component-b

Sie können jede Komponente einzeln oder als Gruppe aktualisieren. Geben Sie die Komponenten an, die Sie mit der --modules-Option aktualisieren möchten.

Die EB CLI speichert den Gruppennamen, den Sie mit eb create im branch-defaults-Abschnitt der EB CLI-Konfigurationsdatei unter /.elasticbeanstalk/config.yml verwendet haben. Zum Bereitstellen Ihrer Anwendung für eine andere Gruppe verwenden Sie die --env-group-suffix-Option, wenn Sie eb deploy ausführen. Wenn die Gruppe noch nicht vorhanden ist, erstellt die EB CLI eine neue Gruppe von Umgebungen:

~/workspace/project-name$ eb deploy --modules component-a component-b --env-group-suffix group-2-name

Zum Beenden der Umgebungen führen Sie eb terminate im Ordner für jedes Modul aus. Standardmäßig zeigt die EB CLI eine Fehlermeldung an, wenn Sie versuchen, eine Umgebung zu beenden, von der eine andere laufende Umgebung abhängt. Beenden Sie zuerst die abhängige Umgebung oder überschreiben Sie mit der --ignore-links-Option das Standardverhalten:

~/workspace/project-name/component-b$ eb terminate --ignore-links