

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
<a name="environment-mgmt-compose"></a>

Mit der AWS Elastic Beanstalk [ComposeEnvironments](https://docs.aws.amazon.com/elasticbeanstalk/latest/api/API_ComposeEnvironments.html)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](environment-cfg-links.md).

Die `Compose Environments`-API nutzt ein [Umgebungsmanifest](environment-cfg-manifest.md) 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](ebcli-compose.md).

## Verwenden der `Compose Environments`-API
<a name="environment-mgmt-compose-example"></a>

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](applications-versions.md) 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 zum Aufrufen der API.

```
# 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`. 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](environment-cfg-links.md).