

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.

# Container mithilfe von Elastic Beanstalk bereitstellen
<a name="deploy-containers-by-using-elastic-beanstalk"></a>

*Thomas Scott und Jean-Baptiste Guillois, Amazon Web Services*

## Zusammenfassung
<a name="deploy-containers-by-using-elastic-beanstalk-summary"></a>

In der Amazon Web Services (AWS) Cloud unterstützt AWS Elastic Beanstalk Docker als verfügbare Plattform, sodass Container mit der erstellten Umgebung ausgeführt werden können. Dieses Muster zeigt, wie Container mithilfe des Elastic Beanstalk-Service bereitgestellt werden. Bei der Bereitstellung dieses Musters wird die auf der Docker-Plattform basierende Webserver-Umgebung verwendet.

Um Elastic Beanstalk für die Bereitstellung und Skalierung von Webanwendungen und Services zu verwenden, laden Sie Ihren Code hoch und die Bereitstellung erfolgt automatisch. Kapazitätsbereitstellung, Lastenausgleich, automatische Skalierung und Überwachung des Anwendungszustands sind ebenfalls enthalten. Wenn Sie Elastic Beanstalk verwenden, können Sie die volle Kontrolle über die AWS-Ressourcen übernehmen, die Elastic Beanstalk in Ihrem Namen erstellt. Für die Nutzung von Elastic Beanstalk fallen keine zusätzlichen Gebühren an. Sie zahlen nur für die AWS-Ressourcen, die zum Speichern und Ausführen Ihrer Anwendungen verwendet werden.

Dieses Muster enthält Anweisungen für die Bereitstellung mithilfe der [AWS Elastic Beanstalk Command Line Interface (EB CLI)](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/eb-cli3-install-advanced.html) und der AWS-Managementkonsole.

**Anwendungsfälle**

Zu den Anwendungsfällen für Elastic Beanstalk gehören die folgenden: 
+ Stellen Sie eine Prototypumgebung bereit, um eine Frontend-Anwendung zu demonstrieren. (Dieses Muster verwendet ein Dockerfile**** als Beispiel.)
+ Stellen Sie eine API bereit, um API-Anfragen für eine bestimmte Domain zu bearbeiten.
+ Stellen Sie eine Orchestrierungslösung mithilfe von Docker-Compose bereit (`docker-compose.yml`wird in diesem Muster**** nicht als praktisches Beispiel verwendet).

## Voraussetzungen und Einschränkungen
<a name="deploy-containers-by-using-elastic-beanstalk-prereqs"></a>

**Voraussetzungen**
+ Ein AWS-Konto
+ AWS EB CLI lokal installiert
+ Docker ist auf einem lokalen Computer installiert

**Einschränkungen**
+ Im kostenlosen Tarif gibt es ein Docker-Pull-Limit von 100 Pulls pro 6 Stunden pro IP-Adresse.

## Architektur
<a name="deploy-containers-by-using-elastic-beanstalk-architecture"></a>

**Zieltechnologie-Stack**
+ Amazon Elastic Compute Cloud (Amazon EC2) -Instanzen
+ Sicherheitsgruppe
+ Application Load Balancer
+ Auto Scaling-Gruppe

**Zielarchitektur**

![Architektur für die Bereitstellung von Containern mit Elastic Beanstalk.](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/images/pattern-img/dfabcdc2-747f-40e2-a603-08ea31ba71d3/images/1d17ff09-1aea-4c72-adb5-eaf741601428.png)


**Automatisierung und Skalierung**

AWS Elastic Beanstalk kann automatisch auf der Grundlage der Anzahl der gestellten Anfragen skalieren. Zu den für eine Umgebung erstellten AWS-Ressourcen gehören ein Application Load Balancer, eine Auto Scaling Scaling-Gruppe und eine oder mehrere EC2 Amazon-Instances. 

Der Load Balancer befindet sich vor den EC2 Amazon-Instances, die Teil der Auto Scaling Scaling-Gruppe sind. Amazon EC2 Auto Scaling startet automatisch zusätzliche EC2 Amazon-Instances, um der zunehmenden Belastung Ihrer Anwendung Rechnung zu tragen. Wenn die Auslastung Ihrer Anwendung abnimmt, stoppt Amazon EC2 Auto Scaling Instances, hält aber mindestens eine Instance am Laufen.

**Automatische Skalierung löst aus**

Die Auto Scaling Scaling-Gruppe in Ihrer Elastic Beanstalk Beanstalk-Umgebung verwendet zwei CloudWatch Amazon-Alarme, um Skalierungsvorgänge einzuleiten. Mit den Standardauslösern wird die Skalierung durchgeführt, wenn der durchschnittliche ausgehende Netzwerkdatenverkehr von der jeweiligen Instance innerhalb von 5 Minuten 6 MB über- oder 2 MB unterschreitet. Um Amazon EC2 Auto Scaling effektiv zu nutzen, konfigurieren Sie Trigger, die für Ihre Anwendung, Ihren Instance-Typ und Ihre Serviceanforderungen geeignet sind. Sie können die Skalierung anhand unterschiedlicher Statistiken wie Latenz, Festplatten-I/O-Vorgänge, CPU-Auslastung und Anforderungsanzahl ausführen. Weitere Informationen finden Sie unter [Auto Scaling-Trigger](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/environments-cfg-autoscaling-triggers.html).

## Tools
<a name="deploy-containers-by-using-elastic-beanstalk-tools"></a>

**AWS-Services**
+ [AWS Command Line Interface (AWS CLI)](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html) ist ein Open-Source-Tool, mit dem Sie über Befehle in Ihrer Befehlszeilen-Shell mit AWS-Services interagieren können.
+ [AWS EB Command Line Interface (EB CLI)](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/eb-cli3-install.html) ist ein Befehlszeilenclient, mit dem Sie Elastic Beanstalk Beanstalk-Umgebungen erstellen, konfigurieren und verwalten können.
+ [Elastic Load Balancing](https://docs.aws.amazon.com/elasticloadbalancing/latest/userguide/what-is-load-balancing.html) verteilt den eingehenden Anwendungs- oder Netzwerkverkehr auf mehrere Ziele. Sie können beispielsweise den Traffic auf Amazon Elastic Compute Cloud (Amazon EC2) -Instances, Container und IP-Adressen in einer oder mehreren Availability Zones verteilen.

**Andere Dienste**
+ [Docker](https://www.docker.com/) packt Software in standardisierte Einheiten, sogenannte Container, die Bibliotheken, Systemtools, Code und Laufzeit enthalten.

**Code**

Der Code für dieses Muster ist im GitHub [Cluster Sample Application](https://github.com/aws-samples/cluster-sample-app) Repository verfügbar.

## Epen
<a name="deploy-containers-by-using-elastic-beanstalk-epics"></a>

### Mit einem Dockerfile erstellen
<a name="build-with-a-dockerfile"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Klonen Sie das Remote-Repository. | [See the AWS documentation website for more details](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/deploy-containers-by-using-elastic-beanstalk.html) | App-Entwickler, AWS-Administrator, AWS DevOps | 
| Initialisieren Sie das Elastic Beanstalk Docker-Projekt. | [See the AWS documentation website for more details](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/deploy-containers-by-using-elastic-beanstalk.html) | App-Entwickler, AWS-Administrator, AWS DevOps | 
| Testen Sie das Projekt lokal. | [See the AWS documentation website for more details](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/deploy-containers-by-using-elastic-beanstalk.html) | App-Entwickler, AWS-Administrator, AWS DevOps | 

### Mit EB CLI bereitstellen
<a name="deploy-using-eb-cli"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Führen Sie den Bereitstellungsbefehl aus | [See the AWS documentation website for more details](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/deploy-containers-by-using-elastic-beanstalk.html) | App-Entwickler, AWS-Administrator, AWS DevOps | 
| Greifen Sie auf die bereitgestellte Version zu. | Nachdem der Bereitstellungsbefehl abgeschlossen ist, greifen Sie mit dem `eb open` Befehl auf das Projekt zu. | App-Entwickler, AWS-Administrator, AWS DevOps | 

### Mit der Konsole bereitstellen
<a name="deploy-using-the-console"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Stellen Sie die Anwendung mithilfe des Browsers bereit. | [See the AWS documentation website for more details](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/deploy-containers-by-using-elastic-beanstalk.html) | App-Entwickler, AWS-Administrator, AWS DevOps | 
| Greifen Sie auf die bereitgestellte Version zu. | Greifen Sie nach der Bereitstellung auf die bereitgestellte Anwendung zu und wählen Sie die angegebene URL aus. | App-Entwickler, AWS-Administrator, AWS DevOps | 

## Zugehörige Ressourcen
<a name="deploy-containers-by-using-elastic-beanstalk-resources"></a>
+ [Webserver-Umgebungen](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/concepts-webserver.html)
+ [Installieren Sie die EB CLI auf macOS](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/eb-cli3-install-osx.html)
+ [Manuelles Installieren der EB-CLI](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/eb-cli3-install-advanced.html)

## Zusätzliche Informationen
<a name="deploy-containers-by-using-elastic-beanstalk-additional"></a>

**Vorteile der Verwendung von Elastic Beanstalk**
+ Automatische Bereitstellung der Infrastruktur
+ Automatische Verwaltung der zugrunde liegenden Plattform
+ Automatisches Patchen und Updates zur Unterstützung der Anwendung
+ Automatische Skalierung der Anwendung
+ Möglichkeit, die Anzahl der Knoten anzupassen
+ Möglichkeit, bei Bedarf auf die Infrastrukturkomponenten zuzugreifen
+ Einfache Bereitstellung im Vergleich zu anderen Container-Bereitstellungslösungen