Gruppen von Elastic Beanstalk Umgebungen erstellen oder aktualisieren - 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.

Gruppen von Elastic Beanstalk Umgebungen erstellen oder aktualisieren

Mit der AWS Elastic Beanstalk Compose Environments API können Sie Gruppen von Elastic Beanstalk Beanstalk-Umgebungen in einer einzigen Anwendung erstellen und aktualisieren. Jede Umgebung in der Gruppe kann eine separate Komponente einer serviceorientierten Architekturanwendung ausführen. Die Compose Environments-API nimmt eine Liste der Anwendungsversionen und einen optionalen Gruppennamen. Elastic Beanstalk erstellt eine Umgebung für jede Anwendungsversion oder, wenn die Umgebungen bereits vorhanden ist, stellt die Anwendungsversionen darin bereit.

Erstellen Sie Links zwischen Elastic Beanstalk-Umgebungen zur Benennung einer Umgebung in Abhängigkeit von einer anderen. Beim Erstellen einer Gruppe von Umgebungen mit der Compose Environments-API erstellt Elastic Beanstalk abhängige Umgebungen nur, nachdem deren Abhängigkeiten aktiv sind. Weitere Informationen zu Umgebungs-Links finden Sie unter Verknüpfungen zwischen Elastic Beanstalk-Umgebungen erstellen.

Die Compose Environments-API nutzt ein Umgebungsmanifest zum Speichern von Konfigurationsdetails, die von Gruppen von Umgebungen gemeinsam verwendet werden. Jede Komponentenanwendung muss über eine env.yaml-Konfigurationsdatei im Quell-Bundle der Anwendung verfügen, in der die Parameter angegeben werden, mit denen die Umgebung erstellt wird.

Compose Environments erfordert, dass EnvironmentName und SolutionStack im Umgebungsmanifest für jede Komponentenanwendung angegeben werden.

Sie können die Compose Environments API mit der Elastic Beanstalk Beanstalk-Befehlszeilenschnittstelle (EB CLI) AWS CLI, dem oder einem SDK verwenden. EB CLI-Anweisungen finden Sie unter Verwalten mehrerer Elastic Beanstalk-Umgebungen als Gruppe mit der EB CLI.

Verwenden der Compose Environments-API

Beispielsweise könnten Sie eine Anwendung namens Media Library erstellen, mit der Benutzer Bilder und Videos hochladen und verwalten können, die in Amazon Simple Storage Service (Amazon S3) gespeichert sind. Die Anwendung verfügt über eine Frontend-Umgebung, front, für die Ausführung einer Webanwendung, mit der Benutzer einzelne Dateien hoch- und herunterladen, ihre Bibliothek anzeigen Batch-Verarbeitungsjobs initiieren können.

Anstatt die Jobs direkt zu verarbeiten, fügt die Frontend-Anwendung Jobs zu einer Amazon SQS-Warteschlange hinzu. Die zweite Umgebung, worker zieht Jobs aus der Warteschlange und verarbeitet sie. worker verwendet einen G2-Instance-Typ, der eine Hochleistungs-GPU hat, während front auf einem kosteneffizienteren, allgemeinen Instance-Type ausgeführt werden kann.

Sie organisieren den Projektordner Media Library in separate Verzeichnisse für jede Komponente, wobei jedes Verzeichnis eine Umgebungs-Definitionsdatei (env.yaml) mit den Quellcode enthält:

~/workspace/media-library |-- front | `-- env.yaml `-- worker `-- env.yaml

Die folgenden Auflistung zeigt die env.yaml-Datei für jede Komponentenanwendung.

~/workspace/media-library/front/env.yaml

EnvironmentName: front+ EnvironmentLinks: "WORKERQUEUE" : "worker+" AWSConfigurationTemplateVersion: 1.1.0.0 EnvironmentTier: Name: WebServer Type: Standard SolutionStack: 64bit Amazon Linux 2015.09 v2.0.4 running Java 8 OptionSettings: aws:autoscaling:launchconfiguration: InstanceType: m4.large

~/workspace/media-library/worker/env.yaml

EnvironmentName: worker+ AWSConfigurationTemplateVersion: 1.1.0.0 EnvironmentTier: Name: Worker Type: SQS/HTTP SolutionStack: 64bit Amazon Linux 2015.09 v2.0.4 running Java 8 OptionSettings: aws:autoscaling:launchconfiguration: InstanceType: g2.2xlarge

Nach dem Erstellen einer Anwendungsversion für die Frontend- (front-v1) und Worker- (worker-v1) Anwendungskomponenten, die Sie mit der Compose Environments-API mit den Versionsnamen erstellen. In diesem Beispiel verwenden wir die, AWS CLI um die API aufzurufen.

# Create application versions for each component: ~$ aws elasticbeanstalk create-application-version --application-name media-library --version-label front-v1 --process --source-bundle S3Bucket="DOC-EXAMPLE-BUCKET",S3Key="front-v1.zip" { "ApplicationVersion": { "ApplicationName": "media-library", "VersionLabel": "front-v1", "Description": "", "DateCreated": "2015-11-03T23:01:25.412Z", "DateUpdated": "2015-11-03T23:01:25.412Z", "SourceBundle": { "S3Bucket": "DOC-EXAMPLE-BUCKET", "S3Key": "front-v1.zip" } } } ~$ aws elasticbeanstalk create-application-version --application-name media-library --version-label worker-v1 --process --source-bundle S3Bucket="DOC-EXAMPLE-BUCKET",S3Key="worker-v1.zip" { "ApplicationVersion": { "ApplicationName": "media-library", "VersionLabel": "worker-v1", "Description": "", "DateCreated": "2015-11-03T23:01:48.151Z", "DateUpdated": "2015-11-03T23:01:48.151Z", "SourceBundle": { "S3Bucket": "DOC-EXAMPLE-BUCKET", "S3Key": "worker-v1.zip" } } } # Create environments: ~$ aws elasticbeanstalk compose-environments --application-name media-library --group-name dev --version-labels front-v1 worker-v1

Die dritte Anfrage erstellt zwei Umgebungen, front-dev und worker-dev. Die API erstellt die Namen der Umgebungen, indem der EnvironmentName, der in der env.yaml-Datei angegeben ist, mit der group name-Option im Compose Environments-Aufruf angegeben wird, getrennt durch einen Bindestrich. Die Gesamtlänge dieser beiden Optionen und der Bindestrich dürfen nicht größer als die maximal zulässige Umgebungsnamenlänge von 23 Zeichen.

Die Anwendung in der front-dev-Umgebung kann auf den Namen der Amazon SQS-Warteschlange zugreifen, die der worker-dev-Umgebung angefügt ist, indem die WORKERQUEUE-Variable gelesen wird. Weitere Informationen zu Umgebungs-Links finden Sie unter Verknüpfungen zwischen Elastic Beanstalk-Umgebungen erstellen.