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 dem 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. Das Compose
Environments
API benötigt eine Liste von 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. Wenn Sie eine Gruppe von Umgebungen mit dem erstellen Compose Environments
API, erstellt Elastic Beanstalk abhängige Umgebungen erst, nachdem deren Abhängigkeiten aktiv sind. Weitere Informationen zu Umgebungs-Links finden Sie unter Verknüpfungen zwischen Elastic Beanstalk-Umgebungen erstellen.
The Compose Environments
API verwendet ein Umgebungsmanifest, um Konfigurationsdetails zu speichern, die von Gruppen von Umgebungen gemeinsam genutzt 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 das Compose Environments
API mit der Elastic Beanstalk Beanstalk-Befehlszeilenschnittstelle (EBCLI) AWS CLI, das oder ein verwenden. SDK Anweisungen Verwalten mehrerer Elastic Beanstalk-Umgebungen als Gruppe mit der EB CLI für EB CLI finden Sie unter.
Unter Verwendung des 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 Front-End-Anwendung Jobs zu einer SQS Amazon-Warteschlange hinzu. Die zweite Umgebung ruft worker
Jobs aus der Warteschlange ab und verarbeitet sie. worker
verwendet einen G2-Instanztyp, der eine hohe Leistung bietetGPU, während er auf einem kostengünstigeren generischen Instanztyp ausgeführt werden front
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
Nachdem Sie eine Anwendungsversion für die Anwendungskomponenten Frontend (front-v1) und Worker (worker-v1) erstellt haben, rufen Sie die Compose Environments
API mit den Versionsnamen auf. In diesem Beispiel verwenden wir den, AWS CLI um den 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="amzn-s3-demo-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": "amzn-s3-demo-bucket",
"S3Key": "front-v1.zip"
}
}
}
~$ aws elasticbeanstalk create-application-version --application-name media-library --version-label worker-v1 --process --source-bundle S3Bucket="amzn-s3-demo-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": "amzn-s3-demo-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
. Das API erstellt die Namen der Umgebungen, indem es die in der env.yaml
Datei EnvironmentName
angegebenen Werte mit der im Compose Environments
Aufruf angegebenen group name
Option verkettet, 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 in der front-dev
Umgebung ausgeführte Anwendung kann auf den Namen der SQS Amazon-Warteschlange zugreifen, die an die worker-dev
Umgebung angehängt ist, indem sie die WORKERQUEUE
Variable liest. Weitere Informationen zu Umgebungs-Links finden Sie unter Verknüpfungen zwischen Elastic Beanstalk-Umgebungen erstellen.