

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.

# Was ist CodeDeploy?
<a name="welcome"></a>

CodeDeploy ist ein Bereitstellungsservice, der Anwendungsbereitstellungen auf Amazon EC2 EC2-Instances, lokalen Instances, serverlosen Lambda-Funktionen oder Amazon ECS-Services automatisiert.

Sie können unterschiedlichste Anwendungsinhalte bereitstellen, darunter:
+ Code
+ Serverlose Funktionen AWS Lambda 
+ Web- und Konfigurationsdateien
+ Ausführbare Dateien
+ Pakete
+ Skripts
+ Multimediadateien

CodeDeploy kann Anwendungsinhalte bereitstellen, die auf einem Server ausgeführt und in Amazon S3 S3-Buckets, GitHub Repositorys oder Bitbucket-Repositorys gespeichert sind. CodeDeploy kann auch eine serverlose Lambda-Funktion bereitstellen. Sie müssen den vorhandenen Code nicht verändern, um CodeDeploy verwenden zu können. 

CodeDeploy macht es Ihnen einfacher:
+ Schnell neue Funktionen zu veröffentlichen.
+  AWS Lambda Funktionsversionen aktualisieren.
+ Ausfallzeiten während der Anwendungsbereitstellung zu vermeiden.
+ Die Komplexität der Aktualisierung Ihrer Anwendungen zu beherrschen, ohne viele der Risiken, die mit fehleranfälligen manuellen Bereitstellungen verbunden sind.

Der Service passt sich der Größe Ihrer Infrastruktur an, sodass Sie mühelos eine einzige Instance oder Tausende von Instances bereitstellen können.

CodeDeploy funktioniert mit verschiedenen Systemen für Konfigurationsmanagement, Quellcodeverwaltung, [kontinuierliche Integration](https://aws.amazon.com/devops/continuous-integration/), [kontinuierliche Bereitstellung](https://aws.amazon.com/devops/continuous-delivery/) und kontinuierliche Bereitstellung. Weitere Informationen finden Sie unter [Produktintegrationen.](https://aws.amazon.com/codedeploy/product-integrations/)

 Die CodeDeploy Konsole bietet auch eine Möglichkeit, schnell nach Ihren Ressourcen wie Repositorys, Build-Projekten, Bereitstellungsanwendungen und Pipelines zu suchen. Wählen Sie **Go to Ressource (Zur Ressource)** oder drücken Sie die Taste `/` und geben Sie dann den Namen der Ressource ein. Alle Übereinstimmungen werden in der Liste angezeigt. Bei der Suche wird nicht zwischen Groß- und Kleinschreibung unterschieden. Sie sehen nur die Ressourcen, für die Sie die Berechtigung besitzen. Weitere Informationen finden Sie unter [Identitäts- und Zugriffsmanagement für AWS CodeDeploy](security-iam.md). 

**Topics**
+ [

## Vorteile von AWS CodeDeploy
](#benefits)
+ [

## Überblick über Rechenplattformen CodeDeploy
](#compute-platform)
+ [

## Überblick über die CodeDeploy Bereitstellungstypen
](#welcome-deployment-overview)
+ [

## Bitte geben Sie uns Feedback
](#welcome-contact-us)
+ [Primary Components](primary-components.md)
+ [Deployments](deployment-steps.md)
+ [Application Specification Files](application-specification-files.md)

## Vorteile von AWS CodeDeploy
<a name="benefits"></a>

CodeDeploy bietet diese Vorteile:
+ **Server-, serverlose und Container-Anwendungen**. CodeDeployermöglicht es Ihnen, sowohl herkömmliche Anwendungen auf Servern als auch Anwendungen bereitzustellen, die eine serverlose AWS Lambda Funktionsversion oder eine Amazon ECS-Anwendung bereitstellen.
+ **Automatisierte Bereitstellungen**. CodeDeploy automatisiert Ihre Anwendungsbereitstellungen in Ihren Entwicklungs-, Test- und Produktionsumgebungen vollständig. CodeDeploypasst sich Ihrer Infrastruktur an, sodass Sie die Bereitstellung auf einer oder auf Tausenden von Instanzen durchführen können.
+ **Minimierung von Ausfallzeit**. Wenn Ihre Anwendung die EC2/On-Premises-Computing-Plattform verwendet, CodeDeploy trägt dies zur Maximierung Ihrer Anwendungsverfügbarkeit bei. CodeDeploy Führt während einer In-Place-Bereitstellung ein fortlaufendes Update für alle Amazon EC2 EC2-Instances durch. Sie können die Anzahl der Instances angeben, die für Updates gleichzeitig offline geschaltet werden. Während einer blue/green Bereitstellung wird die neueste Anwendungsversion auf Ersatz-Instances installiert. Der Datenverkehr wird wahlweise entweder sofort oder nach Beendigung der Tests der neuen Umgebung an diese Instances umgeleitet. Bei beiden Bereitstellungstypen prüft und verfolgt CodeDeploy die Anwendungsintegrität nach den von Ihnen konfigurierten Regeln. 
+ **Stoppen und Rollback**. Sie können Bereitstellungen automatisch oder manuell stoppen und ein Rollback ausführen, wenn Fehler auftreten. 
+ **Zentrale Steuerung**. Sie können Ihre Bereitstellungen über die CodeDeploy Konsole oder die starten und deren Status verfolgen. AWS CLI Sie erhalten einen Bericht, in dem aufgeführt ist, wann jede Anwendungsrevision bereitgestellt wurde und für welche Amazon EC2 EC2-Instances. 
+ **Einfach zu übernehmen**. CodeDeploy ist plattformunabhängig und funktioniert mit jeder Anwendung. Sie können Ihren Setup-Code problemlos wiederverwenden. CodeDeploy kann auch in Ihren Software-Release-Prozess oder Ihre Continuous-Delivery-Toolchain integriert werden.
+ **Gleichzeitige Bereitstellungen**. Wenn Sie mehr als eine Anwendung haben, die die EC2/On-Premises-Computing-Plattform verwendet, CodeDeploy können Sie sie gleichzeitig auf derselben Gruppe von Instances bereitstellen.



## Überblick über Rechenplattformen CodeDeploy
<a name="compute-platform"></a>

CodeDeploy ist in der Lage, Anwendungen auf drei Computerplattformen bereitzustellen:
+ **EC2/On-Premise**: Beschreibt Instanzen von physischen Servern, bei denen es sich um Amazon EC2 EC2-Cloud-Instances, lokale Server oder beides handeln kann. Anwendungen, die mit der EC2/On-Premises-Rechenplattform erstellt wurden, können aus ausführbaren Dateien, Konfigurationsdateien, Bildern und mehr bestehen.

  Bereitstellungen, die die EC2/On-Premises-Computing-Plattform verwenden, verwalten die Art und Weise, wie der Datenverkehr zu den Instances geleitet wird, indem sie den Bereitstellungstyp „In-Place“ oder „Blue/Green“ verwenden. Weitere Informationen finden Sie unter [Überblick über die CodeDeploy Bereitstellungstypen](#welcome-deployment-overview).
+ **AWS Lambda**: Wird verwendet, um Anwendungen bereitzustellen, die aus einer aktualisierten Version einer Lambda-Funktion bestehen. AWS Lambda verwaltet die Lambda-Funktion in einer serverlosen Rechenumgebung, die aus einer Rechenstruktur mit hoher Verfügbarkeit besteht. Die gesamte Verwaltung der Rechenressourcen erfolgt durch. AWS Lambda Weitere Informationen finden Sie unter [Serverloses Computing und Anwendungen](https://aws.amazon.com/serverless/). Weitere Hinweise zu AWS Lambda und Lambda-Funktionen finden Sie unter [AWS Lambda](https://aws.amazon.com/lambda/).

  Sie können die Art und Weise verwalten, in der der Datenverkehr während einer Bereitstellung auf die aktualisierten Lambda-Funktionsversionen umgeleitet wird, indem Sie eine kanarische, lineare oder lineare all-at-once Konfiguration wählen. 
+ **Amazon ECS**: Wird verwendet, um eine containerisierte Amazon ECS-Anwendung als Task-Set bereitzustellen. CodeDeploy führt eine blue/green Bereitstellung durch, indem eine aktualisierte Version der Anwendung als neuer Ersatz-Aufgabensatz installiert wird. CodeDeploy leitet den Produktionsdatenverkehr vom ursprünglichen Anwendungs-Tasksatz zum Ersatz-Tasksatz um. Der ursprüngliche Tasksatz wird nach einer erfolgreichen Bereitstellung beendet. Weitere Informationen zu Amazon ECS finden Sie unter [Amazon Elastic Container Service](https://aws.amazon.com/ecs/).

  Sie können die Art und Weise verwalten, in der der Datenverkehr während einer Bereitstellung auf den aktualisierten Tasksatz umgeleitet wird, indem Sie eine kanarische, lineare oder lineare all-at-once Konfiguration wählen.
**Anmerkung**  
Amazon blue/green ECS-Bereitstellungen werden sowohl mit als auch CodeDeploy unterstützt. CloudFormation Details zu diesen Bereitstellungen werden in den nachfolgenden Abschnitten beschrieben.

In der folgenden Tabelle wird beschrieben, wie CodeDeploy Komponenten auf den einzelnen Rechenplattformen verwendet werden. Weitere Informationen finden Sie unter: 
+  [Arbeiten mit Bereitstellungsgruppen in CodeDeploy](deployment-groups.md) 
+  [Arbeiten mit Bereitstellungen in CodeDeploy](deployments.md) 
+  [Arbeiten mit Bereitstellungskonfigurationen in CodeDeploy](deployment-configurations.md) 
+  [Arbeiten mit Anwendungsrevisionen für CodeDeploy](application-revisions.md) 
+  [Arbeiten mit Anwendungen in CodeDeploy](applications.md) 


| CodeDeploy Komponente | EC2/Lokal | AWS Lambda | Amazon ECS | 
| --- | --- | --- | --- | 
| Bereitstellungsgruppe | Stellt eine Revision für eine Gruppe von Instances bereit. | Stellt eine neue Version einer serverlosen Lambda-Funktion auf einer Recheninfrastruktur mit hoher Verfügbarkeit bereit. | Spezifiziert den Amazon ECS-Service mit der containerisierten Anwendung, die als Task-Set bereitgestellt werden soll, einem Produktions- und optionalen Test-Listener, der verwendet wird, um den Datenverkehr an die bereitgestellte Anwendung weiterzuleiten und zu beenden, wann der ursprüngliche Tasksatz der bereitgestellten Anwendung umgeleitet und beendet werden soll, sowie optionale Trigger-, Alarm- und Rollback-Einstellungen. | 
| Bereitstellung | Stellt eine neue Version bereit, die aus einer Anwendung und einer Datei besteht. AppSpec Das AppSpec gibt an, wie die Anwendung auf den Instanzen in einer Bereitstellungsgruppe bereitgestellt wird. | Verschiebt den Produktionsdatenverkehr von einer Version einer Lambda-Funktion auf eine neue Version derselben Funktion. Die AppSpec Datei gibt an, welche Lambda-Funktionsversion bereitgestellt werden soll. | Stellt eine aktualisierte Version einer containerisierten Amazon ECS-Anwendung als neuen Ersatz-Tasksatz bereit. CodeDeploy leitet den Produktionsdatenverkehr vom Task-Set mit der Originalversion zum neuen Ersatz-Task-Set mit der aktualisierten Version um. Wenn die Bereitstellung abgeschlossen ist, wird der ursprüngliche Aufgabensatz beendet. | 
| Bereitstellungskonfiguration | Einstellungen, die die Bereitstellungsgeschwindigkeit angeben, ebenso wie die Mindestanzahl der fehlerfreien Instances zu jedem Zeitpunkt während einer Bereitstellung. | Einstellungen, die bestimmen, wie der Verkehr auf die aktualisierten Lambda-Funktionsversionen verlagert wird. | Einstellungen, die bestimmen, wie der Datenverkehr in den aktualisierten Amazon ECS-Aufgabensatz verlagert wird. | 
| Revision | Eine Kombination aus einer AppSpec Datei und Anwendungsdateien, z. B. ausführbaren Dateien, Konfigurationsdateien usw. | Eine AppSpec Datei, die angibt, welche Lambda-Funktion bereitgestellt werden soll, und Lambda-Funktionen, die während Event-Hooks im Deployment-Lebenszyklus Validierungstests ausführen können. |  Eine AppSpec Datei, die Folgendes spezifiziert: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/codedeploy/latest/userguide/welcome.html)  | 
| Anwendung | Eine Sammlung von Bereitstellungsgruppen und Revisionen. Eine EC2/On-Premises-Anwendung verwendet die EC2/On-Premises-Computing-Plattform. | Eine Sammlung von Bereitstellungsgruppen und Revisionen. Eine für eine AWS Lambda Bereitstellung verwendete Anwendung verwendet die serverlose AWS Lambda-Rechenplattform. | Eine Sammlung von Bereitstellungsgruppen und Revisionen. Eine Anwendung, die für eine Amazon ECS-Bereitstellung verwendet wird, verwendet die Amazon ECS-Rechenplattform. | 

## Überblick über die CodeDeploy Bereitstellungstypen
<a name="welcome-deployment-overview"></a>

CodeDeploy bietet zwei Optionen für Bereitstellungstypen:
+ **Direkte Bereitstellung**: Die Anwendung auf jeder Instanz in der Bereitstellungsgruppe wird gestoppt, die neueste Anwendungsversion wird installiert und die neue Version der Anwendung wird gestartet und validiert. Sie können einen Load Balancer verwenden, sodass jede Instanz während der Bereitstellung abgemeldet und nach Abschluss der Bereitstellung wieder betriebsbereit ist. Nur Bereitstellungen, die die EC2/On-Premises-Computing-Plattform verwenden, können In-Place-Bereitstellungen verwenden. Weitere Informationen zu In-Situ-Bereitstellungen finden Sie unter [Überblick über eine direkte Bereitstellung](#welcome-deployment-overview-in-place).
**Anmerkung**  
AWS Lambda- und Amazon ECS-Bereitstellungen können keinen In-Place-Bereitstellungstyp verwenden.
+ **Blau/grüne Bereitstellung**: Das Verhalten Ihrer Bereitstellung hängt davon ab, welche Rechenplattform Sie verwenden:
  + **Blue/green on an EC2/On-Premises-Computerplattform**: Die Instanzen in einer Bereitstellungsgruppe (die ursprüngliche Umgebung) werden mithilfe der folgenden Schritte durch eine andere Gruppe von Instanzen (die Ersatzumgebung) ersetzt:
    + Instanzen werden für die Ersatzumgebung bereitgestellt.
    + Die neueste Anwendungsversion ist auf den Ersatzinstanzen installiert.
    + Für Aktivitäten wie Anwendungstests und Systemverifizierung fällt eine optionale Wartezeit an.
    + Instances in der Ersatzumgebung werden bei einem oder mehreren Elastic Load Balancing Balancing-Load Balancing-Load Balancern registriert, wodurch der Datenverkehr zu ihnen umgeleitet wird. Instances in der ursprünglichen Umgebung werden deregistriert und können beendet oder für andere Zwecke weiterlaufen.
**Anmerkung**  
Wenn Sie eine EC2/lokale Rechenplattform verwenden, beachten Sie, dass blue/green Bereitstellungen nur mit Amazon EC2 EC2-Instances funktionieren.
  + **Blau/Grün auf einer AWS Lambda oder Amazon ECS-Rechenplattform**: Der Datenverkehr wird entsprechend einer **kanarischen**, **linearen** oder **all-at-once**Bereitstellungskonfiguration schrittweise verschoben.
  + **Blaue/grüne Bereitstellungen bis CloudFormation**: Der Datenverkehr wird im Rahmen eines Stack-Updates von Ihren aktuellen Ressourcen auf Ihre aktualisierten Ressourcen verlagert. CloudFormation Derzeit werden nur blue/green ECS-Bereitstellungen unterstützt. 

  Weitere Informationen zu blue/green Bereitstellungen finden Sie unter. [Überblick über eine Bereitstellung blue/green](#welcome-deployment-overview-blue-green)

**Anmerkung**  
Mit dem CodeDeploy Agenten können Sie eine Bereitstellung auf einer Instance durchführen, bei der Sie angemeldet sind, ohne dass Sie eine Anwendung, eine Bereitstellungsgruppe oder sogar ein AWS Konto benötigen. Weitere Informationen finden Sie unter [Verwenden Sie den CodeDeploy Agenten, um ein Bereitstellungspaket auf einem lokalen Computer zu validieren](deployments-local.md).

**Topics**
+ [

### Überblick über eine direkte Bereitstellung
](#welcome-deployment-overview-in-place)
+ [

### Überblick über eine Bereitstellung blue/green
](#welcome-deployment-overview-blue-green)

### Überblick über eine direkte Bereitstellung
<a name="welcome-deployment-overview-in-place"></a>

**Anmerkung**  
AWS Lambda- und Amazon ECS-Bereitstellungen können keinen In-Place-Bereitstellungstyp verwenden.

So funktioniert eine direkte Bereitstellung:

1. Zunächst erstellen Sie bereitstellbaren Inhalt auf Ihrem lokalen Entwicklungscomputer oder einer ähnlichen Umgebung und fügen dann eine *Anwendungsspezifikationsdatei (AppSpec Datei*) hinzu. Die AppSpec Datei ist einzigartig für CodeDeploy. Sie definiert die Bereitstellungsaktionen, die Sie ausführen CodeDeploy möchten. Sie bündeln Ihre bereitstellbaren Inhalte und die AppSpec Datei in einer Archivdatei und laden sie dann in einen Amazon S3 S3-Bucket oder ein GitHub Repository hoch. Diese Archivdatei wird als *Anwendungsrevision* (oder einfach *Revision*) bezeichnet.

1. Als Nächstes geben Sie Informationen CodeDeploy zu Ihrer Bereitstellung an, z. B. aus welchem Amazon S3 S3-Bucket oder GitHub -Repository die Revision abgerufen werden soll und für welche Gruppe von Amazon EC2 EC2-Instances der Inhalt bereitgestellt werden soll. CodeDeploy nennt eine Reihe von Amazon EC2 EC2-Instances eine *Bereitstellungsgruppe*. Eine Bereitstellungsgruppe enthält individuell markierte Amazon EC2-Instances, Amazon EC2 EC2-Instances in Amazon EC2 Auto Scaling-Gruppen oder beides.

   Jedes Mal, wenn Sie eine neue Anwendungsrevision, die für die Bereitstellungsgruppe bereitgestellt werden soll, erfolgreich hochladen, wird dieses Paket als *Zielrevision* für die Bereitstellungsgruppe festgelegt. Mit anderen Worten, die Anwendungsrevision, die aktuell zur Bereitstellung vorgesehen ist, ist die Zielrevision. Diese Revision wird auch für automatische Bereitstellungen verwendet.

1. Als Nächstes fragt der CodeDeploy Agent auf jeder Instance ab CodeDeploy , was und wann aus dem angegebenen Amazon S3 S3-Bucket oder GitHub Repository abgerufen werden soll.

1. Schließlich ruft der CodeDeploy Agent auf jeder Instance die Zielversion aus dem Amazon S3 S3-Bucket oder GitHub Repository ab und stellt den Inhalt anhand der Anweisungen in der AppSpec Datei für die Instance bereit.

 CodeDeploy zeichnet Ihre Bereitstellungen auf, sodass Sie den Bereitstellungsstatus, die Bereitstellungskonfigurationsparameter, den Zustand der Instance usw. abrufen können.

### Überblick über eine Bereitstellung blue/green
<a name="welcome-deployment-overview-blue-green"></a>

Eine blue/green Bereitstellung dient dazu, Ihre Anwendungen zu aktualisieren und gleichzeitig Unterbrechungen zu minimieren, die durch die Änderungen einer neuen Anwendungsversion verursacht werden. CodeDeploy stellt Ihre neue Anwendungsversion zusammen mit der alten Version bereit, bevor Ihr Produktionsdatenverkehr umgeleitet wird. 
+  **AWS Lambda**: Der Verkehr wird von einer Version einer Lambda-Funktion auf eine neue Version derselben Lambda-Funktion umgestellt. 
+  **Amazon ECS**: Der Datenverkehr wird von einem Task-Set in Ihrem Amazon ECS-Service auf ein aktualisiertes Ersatz-Task-Set im selben Amazon ECS-Service umgeleitet. 
+  **EC2/On-Premise**: Der Datenverkehr wird von einer Gruppe von Instances in der ursprünglichen Umgebung auf eine Ersatzgruppe von Instances verlagert. 

Die Bereitstellung aller AWS Lambda- und Amazon blue/green. An EC2/On-Premises deployment can be in-place or blue/green. A blue/green ECS-Bereitstellungen bietet eine Reihe von Vorteilen gegenüber einer Implementierung vor Ort:
+ Sie können eine Anwendung in der neuen Ersatzumgebung installieren und testen und für die Produktion bereitstellen, indem Sie den Datenverkehr einfach umleiten.
+  Wenn Sie die EC2/On-Premises-Computing-Plattform verwenden, ist die Rückkehr zur neuesten Version einer Anwendung schneller und zuverlässiger. Dies liegt daran, dass der Verkehr wieder an die ursprünglichen Instances umgeleitet werden kann, solange diese noch nicht beendet wurden. Bei einer In-Situ-Bereitstellung muss dagegen ein Rollback der Versionen durchgeführt werden, indem die vorherige Anwendungsversion bereitgestellt wird.
+ Wenn Sie die EC2/On-Premises-Rechenplattform verwenden, werden neue Instances für eine blue/green Bereitstellung bereitgestellt, die die meisten Serverkonfigurationen widerspiegeln. up-to-date Auf diese Weise können Sie Probleme vermeiden, die manchmal bei lang laufenden Instances auftreten.
+ Wenn Sie die AWS Lambda-Rechenplattform verwenden, kontrollieren Sie, wie der Datenverkehr von Ihrer ursprünglichen AWS Lambda-Funktionsversion auf Ihre neue AWS Lambda-Funktionsversion übertragen wird.
+ Wenn Sie die Amazon ECS-Rechenplattform verwenden, kontrollieren Sie, wie der Datenverkehr von Ihrem ursprünglichen Aufgabensatz auf Ihren neuen Aufgabensatz verlagert wird.

Bei einer blue/green Bereitstellung mit CloudFormation kann eine der folgenden Methoden verwendet werden:
+ **CloudFormation Vorlagen für Bereitstellungen**: Wenn Sie Bereitstellungen mit CloudFormation Vorlagen konfigurieren, werden Ihre Bereitstellungen durch Updates ausgelöst. CloudFormation Wenn Sie eine Ressource ändern und eine Vorlagenänderung hochladen, wird durch ein Stack-Update die neue Bereitstellung CloudFormation initiiert. Eine Liste der Ressourcen, die Sie in CloudFormation Vorlagen verwenden können, finden Sie unter[CloudFormation Vorlagen als CodeDeploy Referenz](reference-cloudformation-templates.md).
+ **Blaue/grüne Bereitstellungen durch CloudFormation**: Sie können Ihre blue/green Bereitstellungen mithilfe CloudFormation von Stack-Updates verwalten. Sie definieren sowohl die blauen als auch die grünen Ressourcen zusätzlich zu den Einstellungen für das Routing und die Stabilisierung des Datenverkehrs innerhalb der Stack-Vorlage. Wenn Sie dann ausgewählte Ressourcen während eines Stack-Updates aktualisieren, CloudFormation generiert es alle erforderlichen grünen Ressourcen, verschiebt den Verkehr auf der Grundlage der angegebenen Datenverkehrs-Routing-Parameter und löscht die blauen Ressourcen. Weitere Informationen finden Sie unter [Automatisieren von Amazon blue/green ECS-Bereitstellungen CodeDeploy mithilfe CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/blue-green.html) im *AWS CloudFormation Benutzerhandbuch*.
**Anmerkung**  
Wird nur für Amazon blue/green ECS-Bereitstellungen unterstützt.

Wie Sie eine blue/green Bereitstellung konfigurieren, hängt davon ab, welche Rechenplattform Ihre Bereitstellung verwendet.



#### Blaue/grüne Bereitstellung auf einer AWS Lambda oder einer Amazon ECS-Rechenplattform
<a name="blue-green-lambda-compute-type"></a>

Wenn Sie die AWS Lambda oder die Amazon ECS-Rechenplattform verwenden, müssen Sie angeben, wie der Datenverkehr von der ursprünglichen AWS Lambda Funktion oder dem Amazon ECS-Aufgabensatz auf den neuen Funktions- oder Tasksatz verlagert wird. Um anzugeben, wie der Datenverkehr verlagert wird, müssen Sie eine der folgenden Bereitstellungskonfigurationen angeben:
+ **kanarisch**
+ **linear**
+ **all-at-once**

Informationen darüber, wie der Datenverkehr in kanarischen, linearen oder all-at-once Bereitstellungskonfigurationen verlagert wird, finden Sie unter[Bereitstellungskonfiguration](primary-components.md#primary-components-deployment-configuration).

Einzelheiten zur Konfiguration der Lambda-Bereitstellung finden Sie unter[Bereitstellungskonfigurationen auf einer AWS Lambda Rechenplattform](deployment-configurations.md#deployment-configuration-lambda).

Einzelheiten zur Amazon ECS-Bereitstellungskonfiguration finden Sie unter[Bereitstellungskonfigurationen auf einer Amazon-ECS-Datenverarbeitungsplattform](deployment-configurations.md#deployment-configuration-ecs).

#### Blue/Green deployment on an EC2/on-Premises-Rechenplattform
<a name="blue-green-server-compute-type"></a>

**Anmerkung**  
Sie müssen Amazon EC2 EC2-Instances für blue/green Bereitstellungen auf der EC2/On-Premises-Rechenplattform verwenden. Lokale Instances werden für den Bereitstellungstyp nicht unterstützt. blue/green 

Wenn Sie die EC2/On-Premises-Computing-Plattform verwenden, gilt Folgendes:

 Sie benötigen eine oder mehrere Amazon EC2-Instances mit identifizierenden Amazon EC2-Tags oder eine Amazon EC2 Auto Scaling-Gruppe. Die Instances müssen zusätzlich die folgenden Anforderungen erfüllen:
+ An jede Amazon EC2 EC2-Instance muss das richtige IAM-Instance-Profil angehängt sein.
+ Der CodeDeploy Agent muss auf jeder Instance installiert sein und ausgeführt werden.

**Anmerkung**  
In der Regel wird auf den Instanzen in Ihrer ursprünglichen Umgebung auch eine Anwendungsversion ausgeführt, dies ist jedoch keine Voraussetzung für eine blue/green Bereitstellung.

Wenn Sie eine Bereitstellungsgruppe erstellen, die in blue/green Bereitstellungen verwendet wird, können Sie wählen, wie Ihre Ersatzumgebung angegeben wird:

**Kopieren Sie eine bestehende Amazon EC2 Auto Scaling Scaling-Gruppe**: CodeDeploy Erstellt während der blue/green Bereitstellung die Instances für Ihre Ersatzumgebung während der Bereitstellung. Bei dieser Option wird die von Ihnen angegebene Amazon EC2 Auto Scaling Scaling-Gruppe als Vorlage für die Ersatzumgebung CodeDeploy verwendet, einschließlich derselben Anzahl laufender Instances und vieler anderer Konfigurationsoptionen.

**Wählen Sie Instances manuell** aus: Sie können die Instances, die als Ihr Ersatz gezählt werden sollen, mithilfe von Amazon EC2-Instance-Tags, Amazon EC2 Auto Scaling-Gruppennamen oder beidem angeben. Wenn Sie diese Option wählen, müssen Sie die Instances für die Ersatzumgebung erst beim Erstellen der Bereitstellung angeben.

Funktionsweise:

1. Sie haben bereits Instances oder eine Amazon EC2 Auto Scaling Scaling-Gruppe, die als Ihre ursprüngliche Umgebung dient. Wenn Sie eine blue/green Bereitstellung zum ersten Mal ausführen, verwenden Sie in der Regel Instances, die bereits in einer In-Place-Bereitstellung verwendet wurden.

1. In einer vorhandenen CodeDeploy Anwendung erstellen Sie eine blue/green Bereitstellungsgruppe, in der Sie zusätzlich zu den Optionen, die für eine direkte Bereitstellung erforderlich sind, Folgendes angeben:
   + Der oder die Load Balancer, die während des Bereitstellungsprozesses den Datenverkehr von Ihrer ursprünglichen Umgebung an Ihre Ersatzumgebung weiterleiten. blue/green 
   + Ob der Datenverkehr sofort an die Ersatzumgebung umgeleitet oder gewartet werden soll, bis Sie den Datenverkehr manuell umleiten. 
   + Die Übertragungsgeschwindigkeit, mit welcher der Datenverkehr an die Ersatz-Instances umgeleitet werden soll.
   + Ob die Instances, die ersetzt werden, beendet oder weiterhin ausgeführt werden sollen.

1. Sie erstellen eine Bereitstellung für diese Bereitstellungsgruppe, in deren Verlauf Folgendes geschieht:

   1. Wenn Sie sich dafür entscheiden, eine Amazon EC2 Auto Scaling Scaling-Gruppe zu kopieren, werden Instances für Ihre Ersatzumgebung bereitgestellt.

   1. Die Anwendungsrevision, die Sie für die Bereitstellung angeben, wird auf den Ersatz-Instances installiert.

   1. Wenn Sie in den Bereitstellungsgruppeneinstellungen eine Wartezeit angeben, wird die Bereitstellung zeitweilig unterbrochen. In dieser Zeit können Sie die Ersatzumgebung testen und überprüfen. Wenn Sie den Datenverkehr nicht vor Ablauf der Wartezeit manuell umleiten, wird die Bereitstellung gestoppt.

   1. Instances in der Ersatzumgebung werden bei einem Elastic Load Balancing Load Balancer registriert und der Datenverkehr wird an sie weitergeleitet.

   1. Die Registrierung der ursprünglichen Umgebung wird aufgehoben, und diese Instances werden entsprechend der Angaben in der Bereitstellungsgruppe entweder beendet oder weiterhin ausgeführt.

#### Bereitstellung in Blau/Grün durch CloudFormation
<a name="blue-green-cfn-config-type"></a>

Sie können Bereitstellungen in CodeDeploy Blau/Grün verwalten, indem Sie Ihre Ressourcen anhand einer Vorlage modellieren. CloudFormation 

Wenn Sie Ihre blue/green Ressourcen mithilfe einer CloudFormation Vorlage modellieren, erstellen Sie ein Stack-Update CloudFormation , das Ihren Task-Satz aktualisiert. Der Produktionsdatenverkehr verschiebt sich vom ursprünglichen Aufgabensatz Ihres Services in einen Ersatzaufgabensatz entweder auf einmal, mit linearen Bereitstellungen und Bake-Zeit, oder mit Canary-Bereitstellungen. Die Stack-Aktualisierung initiiert eine Bereitstellung in CodeDeploy. Sie können den Status und den Verlauf der Bereitstellung in einsehen CodeDeploy, aber Sie erstellen oder verwalten keine CodeDeploy Ressourcen außerhalb der CloudFormation Vorlage.

**Anmerkung**  
Für blue/green Bereitstellungen bis CloudFormation erstellen Sie keine CodeDeploy Anwendung oder Bereitstellungsgruppe.

Diese Methode unterstützt nur Amazon blue/green ECS-Bereitstellungen. Weitere Informationen zu blue/green Bereitstellungen bis finden Sie CloudFormation unter. [Erstellen Sie eine Amazon blue/green ECS-Bereitstellung über CloudFormation](deployments-create-ecs-cfn.md)

## Bitte geben Sie uns Feedback
<a name="welcome-contact-us"></a>

Wir freuen uns über Ihr Feedback. Um uns zu kontaktieren, besuchen Sie [das CodeDeploy Forum](https://forums.aws.amazon.com/forum.jspa?forumID=179).

**Topics**
+ [Primary Components](primary-components.md)
+ [Deployments](deployment-steps.md)
+ [Application Specification Files](application-specification-files.md)

# CodeDeploy Hauptbestandteile
<a name="primary-components"></a>

Bevor Sie mit der Arbeit mit dem Service beginnen, sollten Sie sich mit den wichtigsten Komponenten des CodeDeploy Bereitstellungsprozesses vertraut machen.

**Topics**
+ [

## Anwendung
](#primary-components-application)
+ [

## Plattform für die Datenverarbeitung
](#primary-components-compute-platform)
+ [

## Bereitstellungskonfiguration
](#primary-components-deployment-configuration)
+ [

## Bereitstellungsgruppe
](#primary-components-deployment-group)
+ [

## Bereitstellungstyp
](#primary-components-deployment-type)
+ [

## IAM-Instanzprofil
](#primary-components-iam-instance-profile)
+ [

## Revision
](#primary-components-revision)
+ [

## Service – -Rolle
](#primary-components-service-role)
+ [

## Zielrevision
](#primary-components-target-revision)
+ [

## Andere Komponenten
](#primary-components-other-components)

## Anwendung
<a name="primary-components-application"></a>

Eine *Anwendung* ist ein Name, der die Anwendung, die Sie bereitstellen möchten, eindeutig identifiziert. CodeDeploy verwendet diesen Namen, der als Container fungiert, um sicherzustellen, dass während einer Bereitstellung auf die richtige Kombination aus Version, Bereitstellungskonfiguration und Bereitstellungsgruppe verwiesen wird.

## Plattform für die Datenverarbeitung
<a name="primary-components-compute-platform"></a>

Eine *Rechenplattform* ist eine Plattform, auf der eine Anwendung CodeDeploy bereitgestellt wird. Es gibt drei Rechenplattformen:
+ **EC2/On-Premises**: Beschreibt Instanzen von physischen Servern, bei denen es sich um EC2 Amazon-Cloud-Instances, lokale Server oder beides handeln kann. Anwendungen, die mit der EC2 /On-Premises-Rechenplattform erstellt wurden, können aus ausführbaren Dateien, Konfigurationsdateien, Images und mehr bestehen.

  Bereitstellungen, die die Compute-Plattform EC2 /On-Premises verwenden, verwalten die Art und Weise, wie der Datenverkehr zu den Instanzen geleitet wird, indem sie den Bereitstellungstyp „Direkt“ oder „Blau/Grün“ verwenden. Weitere Informationen finden Sie unter [Überblick über die CodeDeploy Bereitstellungstypen](welcome.md#welcome-deployment-overview).
+ **AWS Lambda**: Wird verwendet, um Anwendungen bereitzustellen, die aus einer aktualisierten Version einer Lambda-Funktion bestehen. AWS Lambda verwaltet die Lambda-Funktion in einer serverlosen Rechenumgebung, die aus einer Rechenstruktur mit hoher Verfügbarkeit besteht. Die gesamte Verwaltung der Rechenressourcen erfolgt durch. AWS Lambda Weitere Informationen finden Sie unter [Serverloses Computing und Anwendungen](https://aws.amazon.com/serverless/). Weitere Hinweise zu AWS Lambda und Lambda-Funktionen finden Sie unter [AWS Lambda](https://aws.amazon.com/lambda/).

  Sie können die Art und Weise verwalten, in der der Datenverkehr während einer Bereitstellung auf die aktualisierten Lambda-Funktionsversionen umgeleitet wird, indem Sie eine kanarische, lineare oder lineare all-at-once Konfiguration wählen. 
+ **Amazon ECS**: Wird verwendet, um eine containerisierte Amazon ECS-Anwendung als Task-Set bereitzustellen. CodeDeploy führt eine blue/green Bereitstellung durch, indem eine aktualisierte Version der Anwendung als neuer Ersatz-Aufgabensatz installiert wird. CodeDeploy leitet den Produktionsdatenverkehr vom ursprünglichen Anwendungs-Tasksatz zum Ersatz-Tasksatz um. Der ursprüngliche Tasksatz wird nach einer erfolgreichen Bereitstellung beendet. Weitere Informationen zu Amazon ECS finden Sie unter [Amazon Elastic Container Service](https://aws.amazon.com/ecs/).

  Sie können die Art und Weise verwalten, in der der Datenverkehr während einer Bereitstellung auf den aktualisierten Tasksatz umgeleitet wird, indem Sie eine kanarische, lineare oder lineare all-at-once Konfiguration wählen.

**Anmerkung**  
Amazon blue/green ECS-Bereitstellungen werden sowohl durch als auch CodeDeploy unterstützt. CloudFormation Details zu diesen Bereitstellungen werden in den nachfolgenden Abschnitten beschrieben.

## Bereitstellungskonfiguration
<a name="primary-components-deployment-configuration"></a>

Eine *Bereitstellungskonfiguration* besteht aus einer Reihe von Bereitstellungsregeln und Bedingungen für Erfolg und Misserfolg bei der Bereitstellung, die CodeDeploy während einer Bereitstellung verwendet werden. Wenn Ihre Bereitstellung die Rechenplattform EC2 /On-Premises verwendet, können Sie die Mindestanzahl fehlerfreier Instanzen für die Bereitstellung angeben. Wenn Ihre Bereitstellung die AWS Lambda oder die Amazon ECS-Rechenplattform verwendet, können Sie angeben, wie der Datenverkehr an Ihre aktualisierte Lambda-Funktion oder Ihren aktualisierten ECS-Tasksatz weitergeleitet wird.

Weitere Informationen zur Angabe der Mindestanzahl fehlerfreier Hosts für eine Bereitstellung, die die EC2 /On-Premises-Rechenplattform verwendet, finden Sie unter. [Ungefähr die Mindestanzahl fehlerfreier Instanzen](instances-health.md#minimum-healthy-hosts)

Die folgenden Bereitstellungskonfigurationen geben an, wie der Datenverkehr während einer Bereitstellung weitergeleitet wird, die die Lambda- oder die ECS-Rechenplattform verwendet:
+ **Canary**: Der Datenverkehr wird in zwei Inkrementen verschoben. Sie können aus vordefinierten Canary-Optionen wählen, die den Prozentsatz des Datenverkehrs angeben, der im ersten Schritt auf Ihre aktualisierte Lambda-Funktion oder Ihren ECS-Tasksatz übertragen wird, und das Intervall in Minuten, bevor der verbleibende Verkehr in der zweiten Stufe umgeleitet wird. 
+ **Linear**: Der Datenverkehr wird in gleich großen Inkrementen mit einer gleichen Anzahl von Minuten zwischen den Inkrementen verschoben. Sie können aus vordefinierten linearen Optionen wählen, die den prozentualen Anteil des Datenverkehrs angeben, der in jedem Inkrementschritt verschoben wird, sowie die Anzahl der Minuten zwischen den einzelnen Inkrementschritten.
+ **A ll-at-once**: Der gesamte Datenverkehr wird auf einmal von der ursprünglichen Lambda-Funktion oder dem ursprünglichen ECS-Aufgabensatz auf den aktualisierten Funktions- oder Tasksatz umgestellt.

## Bereitstellungsgruppe
<a name="primary-components-deployment-group"></a>

Eine *Bereitstellungsgruppe* besteht aus einer Reihe von einzelnen Instanzen. Eine Bereitstellungsgruppe enthält individuell markierte Instances, EC2 Amazon-Instances in Amazon EC2 Auto Scaling Scaling-Gruppen oder beides. Informationen zu EC2 Amazon-Instance-Tags finden Sie unter [Verwenden der Konsole mit Tags arbeiten](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html#Using_Tags_Console). Weitere Informationen über lokale Instances finden Sie unter [Arbeiten mit lokalen Instanzen für CodeDeploy](instances-on-premises.md). Informationen zu Amazon EC2 Auto Scaling finden Sie unter[Integration CodeDeploy mit Amazon EC2 Auto Scaling](integrations-aws-auto-scaling.md).

## Bereitstellungstyp
<a name="primary-components-deployment-type"></a>

Ein *Bereitstellungstyp* ist eine Methode, mit der die neueste Anwendungsversion auf Instances in einer Bereitstellungsgruppe verfügbar gemacht wird. Es gibt zwei Bereitstellungstypen:
+ **Direkte Bereitstellung**: Die Anwendung auf jeder Instanz in der Bereitstellungsgruppe wird gestoppt, die neueste Anwendungsversion wird installiert und die neue Version der Anwendung wird gestartet und validiert. Sie können einen Load Balancer verwenden, sodass jede Instanz während der Bereitstellung abgemeldet und nach Abschluss der Bereitstellung wieder betriebsbereit ist. Nur Bereitstellungen, die die Compute-Plattform EC2 /On-Premises verwenden, können direkte Bereitstellungen verwenden. Weitere Informationen zu In-Situ-Bereitstellungen finden Sie unter [Überblick über eine direkte Bereitstellung](welcome.md#welcome-deployment-overview-in-place).
+ **Blaue/grüne Bereitstellung**: Das Verhalten Ihrer Bereitstellung hängt davon ab, welche Rechenplattform Sie verwenden:
  + **Blue/green on an EC2/On-Premises-Computerplattform**: Die Instanzen in einer Bereitstellungsgruppe (die ursprüngliche Umgebung) werden mithilfe der folgenden Schritte durch eine andere Gruppe von Instanzen (die Ersatzumgebung) ersetzt:
    + Instanzen werden für die Ersatzumgebung bereitgestellt.
    + Die neueste Anwendungsversion ist auf den Ersatzinstanzen installiert.
    + Für Aktivitäten wie Anwendungstests und Systemverifizierung fällt eine optionale Wartezeit an.
    + Instances in der Ersatzumgebung werden bei einem oder mehreren Elastic Load Balancing Balancing-Load Balancing-Load Balancern registriert, wodurch der Datenverkehr zu ihnen umgeleitet wird. Instances in der ursprünglichen Umgebung werden deregistriert und können beendet oder für andere Zwecke weiterlaufen.
**Anmerkung**  
Wenn Sie eine EC2 /On-Premises-Rechenplattform verwenden, beachten Sie, dass blue/green Bereitstellungen nur mit EC2 Amazon-Instances funktionieren.
  + **Blau/Grün auf einer AWS Lambda oder Amazon ECS-Rechenplattform**: Der Datenverkehr wird entsprechend einer **kanarischen**, **linearen** oder **all-at-once**Bereitstellungskonfiguration schrittweise verschoben.
  + **Blaue/grüne Bereitstellungen bis CloudFormation**: Der Datenverkehr wird im Rahmen eines Stack-Updates von Ihren aktuellen Ressourcen auf Ihre aktualisierten Ressourcen verlagert. CloudFormation Derzeit werden nur blue/green ECS-Bereitstellungen unterstützt. 

  Weitere Informationen zu blue/green Bereitstellungen finden Sie unter. [Überblick über eine Bereitstellung blue/green](welcome.md#welcome-deployment-overview-blue-green)

**Anmerkung**  
Amazon blue/green ECS-Bereitstellungen werden sowohl mit als auch CodeDeploy unterstützt. CloudFormation Details zu diesen Bereitstellungen werden in den nachfolgenden Abschnitten beschrieben.

## IAM-Instanzprofil
<a name="primary-components-iam-instance-profile"></a>

Ein *IAM-Instance-Profil* ist eine IAM-Rolle, die Sie Ihren EC2 Amazon-Instances zuordnen. Dieses Profil beinhaltet die erforderlichen Berechtigungen für den Zugriff auf die Amazon S3 S3-Buckets oder GitHub Repositorys, in denen die Anwendungen gespeichert sind. Weitere Informationen finden Sie unter [Schritt 4: Erstellen Sie ein IAM-Instance-Profil für Ihre Amazon EC2 EC2-Instances](getting-started-create-iam-instance-profile.md).

## Revision
<a name="primary-components-revision"></a>

Eine *Revision* ist eine Version Ihrer Anwendung. Eine AWS Lambda-Bereitstellungsrevision ist eine Datei im YAML- oder JSON-Format, die Informationen über die bereitzustellende Lambda-Funktion angibt. Eine EC2 /On-Premises-Bereitstellungsrevision ist eine Archivdatei, die Quellinhalte (Quellcode, Webseiten, ausführbare Dateien und Bereitstellungsskripts) und eine Anwendungsspezifikationsdatei (Datei) enthält. AppSpec AWS Lambda-Revisionen können in Amazon S3 S3-Buckets gespeichert werden. EC2/On-Premises-Revisionen werden in Amazon S3 S3-Buckets oder Repositorys gespeichert. GitHub Für Amazon S3 wird eine Revision anhand ihres Amazon S3 S3-Objektschlüssels und ihrer ETag Version oder beidem eindeutig identifiziert. Denn GitHub eine Revision wird anhand ihrer Commit-ID eindeutig identifiziert.

## Service – -Rolle
<a name="primary-components-service-role"></a>

Eine *Servicerolle* ist eine IAM-Rolle, die einem AWS Dienst Berechtigungen erteilt, sodass dieser auf AWS Ressourcen zugreifen kann. Die Richtlinien, die Sie der Servicerolle zuordnen, bestimmen, auf welche AWS Ressourcen der Dienst zugreifen kann und welche Aktionen er mit diesen Ressourcen ausführen kann. Denn CodeDeploy eine Servicerolle wird für Folgendes verwendet:
+ Um entweder die auf die Instances angewendeten Tags oder die Amazon EC2 Auto Scaling Scaling-Gruppennamen zu lesen, die den Instances zugeordnet sind. Auf diese Weise können CodeDeploy Instances identifiziert werden, auf denen Anwendungen bereitgestellt werden können.
+ Um Operationen auf Instances, Amazon EC2 Auto Scaling Scaling-Gruppen und Elastic Load Balancing Balancing-Load Balancers durchzuführen.
+ Um Informationen zu Amazon SNS SNS-Themen zu veröffentlichen, sodass Benachrichtigungen gesendet werden können, wenn bestimmte Bereitstellungs- oder Instance-Ereignisse eintreten.
+ Zum Abrufen von Informationen über CloudWatch Alarme, um die Alarmüberwachung für Bereitstellungen einzurichten.

Weitere Informationen finden Sie unter [Schritt 2: Erstellen Sie eine Servicerolle für CodeDeploy](getting-started-create-service-role.md).

## Zielrevision
<a name="primary-components-target-revision"></a>

Eine *Zielrevision* ist die neueste Version der Anwendungsrevision, die Sie in Ihr Repository hochgeladen haben und die Sie für die Instances in einer Bereitstellungsgruppe bereitstellen möchten. Mit anderen Worten: Die Anwendungsrevision, die derzeit für die Bereitstellung vorgesehen ist. Diese Revision wird auch für automatische Bereitstellungen verwendet.

## Andere Komponenten
<a name="primary-components-other-components"></a>

Informationen zu anderen Komponenten des CodeDeploy Workflows finden Sie in den folgenden Themen:
+ [Wählen Sie einen CodeDeploy Repository-Typ](application-revisions-repository-type.md)
+  [CodeDeploy Bereitstellungen](deployment-steps.md)
+  [CodeDeploy Anwendungsspezifikationsdateien (AppSpec)](application-specification-files.md)
+  [CodeDeploy Zustand der Instanz](instances-health.md)
+  [Mit dem CodeDeploy Agenten arbeiten](codedeploy-agent.md)
+  [Arbeiten mit lokalen Instanzen für CodeDeploy](instances-on-premises.md)

# CodeDeploy Bereitstellungen
<a name="deployment-steps"></a>

Dieses Thema bietet Informationen über die Komponenten und Workflows von Bereitstellungen in CodeDeploy. Der Bereitstellungsprozess variiert je nach Rechenplattform oder Bereitstellungsmethode (Lambda, Amazon ECS, EC2/On-Premise oder über AWS CloudFormation), die Sie für Ihre Bereitstellungen verwenden.

**Topics**
+ [

# Bereitstellungen auf einer AWS Lambda Compute Platform
](deployment-steps-lambda.md)
+ [

# Bereitstellung auf einer Amazon-ECS-Datenverarbeitungsplattform
](deployment-steps-ecs.md)
+ [

# Bereitstellungen auf einer EC2/lokalen Rechenplattform
](deployment-steps-server.md)

# Bereitstellungen auf einer AWS Lambda Compute Platform
<a name="deployment-steps-lambda"></a>

Dieses Thema enthält Informationen zu den Komponenten und zum Arbeitsablauf von CodeDeploy Bereitstellungen, die die AWS Lambda-Rechenplattform verwenden. 

**Topics**
+ [

## Bereitstellungs-Workflow auf einer Rechenplattform AWS Lambda
](#deployment-process-workflow-lambda)
+ [

## Die Revision Ihrer Anwendung wird hochgeladen
](#deployment-steps-uploading-your-app-lambda)
+ [

## Erstellen Sie Ihre Anwendungs- und Bereitstellungsgruppen
](#deployment-steps-registering-app-deployment-groups-lambda)
+ [

## Revision Ihrer Anwendung bereitstellen
](#deployment-steps-deploy-lambda)
+ [

## Aktualisierung Ihrer Anwendung
](#deployment-steps-updating-your-app-lambda)
+ [

## Bereitstellungen wurden gestoppt und sind fehlgeschlagen
](#deployment-stop-fail-lambda)
+ [

## Neubereitstellungen und Bereitstellungs-Rollbacks
](#deployment-rollback-lambda)

## Bereitstellungs-Workflow auf einer Rechenplattform AWS Lambda
<a name="deployment-process-workflow-lambda"></a>

Das folgende Diagramm zeigt die wichtigsten Schritte bei der Bereitstellung neuer und aktualisierter AWS Lambda -Funktionen.

![\[Wie CodeDeploy stellt eine neue oder aktualisierte AWS Lambda Funktion bereit?\]](http://docs.aws.amazon.com/de_de/codedeploy/latest/userguide/images/deployment-process-lambda.png)


Zu diesen Schritten gehören:

1. Erstellen Sie eine Anwendung und geben Sie ihr einen eindeutigen Namen für die Anwendungsrevisionen, die Sie bereitstellen möchten. Um Lambda-Funktionen bereitzustellen, wählen Sie bei der Erstellung Ihrer Anwendung die AWS Lambda-Rechenplattform aus. CodeDeploy verwendet diesen Namen während einer Bereitstellung, um sicherzustellen, dass er auf die richtigen Bereitstellungskomponenten verweist, z. B. die Bereitstellungsgruppe, die Bereitstellungskonfiguration und die Anwendungsversion. Weitere Informationen finden Sie unter [Erstellen Sie eine Anwendung mit CodeDeploy](applications-create.md). 

1. Richten Sie eine Bereitstellungsgruppe durch Angabe des Namens der Bereitstellungsgruppe ein.

1. Wählen Sie eine Bereitstellungskonfiguration, um anzugeben, wie der Datenverkehr von Ihrer ursprünglichen AWS Lambda Funktionsversion auf Ihre neue Lambda-Funktionsversion übertragen wird. Weitere Informationen finden Sie unter [Details zur Bereitstellungskonfiguration anzeigen mit CodeDeploy](deployment-configurations-view-details.md).

1. Hochladen einer *Anwendungsspezifikationsdatei* (AppSpec Datei) auf Amazon S3. Die AppSpec Datei spezifiziert eine Lambda-Funktionsversion und Lambda-Funktionen, die zur Validierung Ihrer Bereitstellung verwendet werden. Wenn Sie keine AppSpec Datei erstellen möchten, können Sie mithilfe von YAML oder JSON direkt in der Konsole eine Lambda-Funktionsversion und Funktionen zur Validierung der Lambda-Bereitstellung angeben. Weitere Informationen finden Sie unter [Arbeiten mit Anwendungsrevisionen für CodeDeploy](application-revisions.md).

1. Stellen Sie die Revision Ihrer Anwendung in der Bereitstellungsgruppe bereit. AWS CodeDeploy stellt die von Ihnen angegebene Lambda-Funktionsrevision bereit. Der Datenverkehr wird mithilfe der AppSpec Bereitstellungsdatei, die Sie bei der Erstellung Ihrer Anwendung ausgewählt haben, auf Ihre Lambda-Funktionsrevision umgeleitet. Weitere Informationen finden Sie unter [Erstellen Sie eine Bereitstellung mit CodeDeploy](deployments-create.md).

1. Überprüfen Sie die Bereitstellungsergebnisse. Weitere Informationen finden Sie unter [Überwachung von Bereitstellungen in CodeDeploy](monitoring.md).

## Die Revision Ihrer Anwendung wird hochgeladen
<a name="deployment-steps-uploading-your-app-lambda"></a>

Platzieren Sie eine AppSpec Datei in Amazon S3 oder geben Sie sie direkt in die Konsole ein oder AWS CLI. Weitere Informationen finden Sie unter [CodeDeploy Anwendungsspezifikationsdateien (AppSpec)](application-specification-files.md).

## Erstellen Sie Ihre Anwendungs- und Bereitstellungsgruppen
<a name="deployment-steps-registering-app-deployment-groups-lambda"></a>

Eine CodeDeploy Bereitstellungsgruppe auf einer AWS Lambda-Rechenplattform identifiziert eine Sammlung von einer oder mehreren AppSpec Dateien. Jede AppSpec Datei kann eine Lambda-Funktionsversion bereitstellen. Eine Bereitstellungsgruppe definiert auch eine Reihe von Konfigurationsoptionen für zukünftige Bereitstellungen, wie z. B. Alarme und Rollback-Konfigurationen.

## Revision Ihrer Anwendung bereitstellen
<a name="deployment-steps-deploy-lambda"></a>

Jetzt sind Sie bereit, die in der AppSpec Datei angegebene Funktionsrevision für die Bereitstellungsgruppe bereitzustellen. Sie können die CodeDeploy Konsole oder den Befehl [create-deployment](https://docs.aws.amazon.com/cli/latest/reference/deploy/create-deployment.html) verwenden. Es gibt Parameter, die Sie angeben können, um Ihre Bereitstellung zu steuern, einschließlich der Revision, Bereitstellungsgruppe und Bereitstellungskonfiguration.

## Aktualisierung Ihrer Anwendung
<a name="deployment-steps-updating-your-app-lambda"></a>

Sie können Ihre Anwendung aktualisieren und dann die CodeDeploy Konsole verwenden oder den Befehl [create-deployment](https://docs.aws.amazon.com/cli/latest/reference/deploy/create-deployment.html) aufrufen, um eine Version zu pushen. 

## Bereitstellungen wurden gestoppt und sind fehlgeschlagen
<a name="deployment-stop-fail-lambda"></a>

Sie können die CodeDeploy Konsole oder den Befehl [stop-deployment](https://docs.aws.amazon.com/cli/latest/reference/deploy/stop-deployment.html) verwenden, um eine Bereitstellung zu beenden. Wenn Sie versuchen, die Bereitstellung zu stoppen, gibt es drei Möglichkeiten:
+ Die Bereitstellung wird beendet, und die Operation gibt den Status "Erfolgreich" zurück. In diesem Fall werden keine Bereitstellungslebenszyklusereignisse mehr für die Bereitstellungsgruppe für die gestoppte Bereitstellung ausgeführt. 
+ Die Bereitstellung wird nicht sofort beendet, und die Operation gibt den Status "Ausstehend" zurück. In diesem Fall werden einige Bereitstellungslebenszyklusereignisse in der Bereitstellungsgruppe weiterhin ausgeführt. Nachdem die ausstehende Operation abgeschlossen ist, geben nachfolgende Aufrufe zum Stoppen der Bereitstellung den Status "Erfolgreich" zurück.
+ Die Bereitstellung kann nicht gestoppt werden, und der Vorgang gibt einen Fehler zurück. Weitere Informationen finden Sie unter [ErrorInformation](https://docs.aws.amazon.com/codedeploy/latest/APIReference/API_ErrorInformation.html)[Häufige Fehler](https://docs.aws.amazon.com/codedeploy/latest/APIReference/CommonErrors.html) in der AWS CodeDeploy API-Referenz.

Genauso wie gestoppte Bereitstellungen können fehlgeschlagene Bereitstellungen dazu führen, dass einige Ereignisse im Bereitstellungslebenszyklus bereits ausgeführt wurden. Um herauszufinden, warum eine Bereitstellung fehlgeschlagen ist, verwenden Sie die CodeDeploy-Konsole oder analysieren Sie die Daten der Protokolldatei aus der fehlgeschlagenen Bereitstellung. Weitere Informationen erhalten Sie unter [Revision der Anwendung und Bereinigung der Protokolldateien](codedeploy-agent.md#codedeploy-agent-revisions-logs-cleanup) und [Protokolldaten für CodeDeploy EC2/On-Premises-Bereitstellungen anzeigen](deployments-view-logs.md).

## Neubereitstellungen und Bereitstellungs-Rollbacks
<a name="deployment-rollback-lambda"></a>

CodeDeploy implementiert Rollbacks, indem eine zuvor bereitgestellte Version als neue Bereitstellung erneut bereitgestellt wird. 

Sie können eine Bereitstellungsgruppe für automatisches Rollback konfigurieren, wenn bestimmte Bedingungen erfüllt sind, einschließlich wenn eine Bereitstellung fehlschlägt oder ein Alarm-Überwachungsschwellenwert erreicht ist. Sie können auch die Rollback-Einstellungen für eine Bereitstellungsgruppe in einer einzelnen Bereitstellung überschreiben.

Sie können außerdem ein Rollback einer fehlgeschlagenen Bereitstellung durch erneute manuelle Bereitstellung einer zuvor bereitgestellten Revision durchführen. 

In allen Fällen wird der neuen oder rückabgewickelten Bereitstellung eine eigene Bereitstellungs-ID zugewiesen. Die Liste der Bereitstellungen, die Sie in der CodeDeploy Konsole einsehen können, zeigt, welche das Ergebnis einer automatischen Bereitstellung sind. 

Weitere Informationen finden Sie unter [Eine Bereitstellung erneut bereitstellen und rückgängig machen mit CodeDeploy](deployments-rollback-and-redeploy.md).

# Bereitstellung auf einer Amazon-ECS-Datenverarbeitungsplattform
<a name="deployment-steps-ecs"></a>

Dieses Thema enthält Informationen zu den Komponenten und zum Arbeitsablauf von CodeDeploy Bereitstellungen, die die Amazon ECS-Rechenplattform verwenden. 

**Topics**
+ [

## Bevor Sie mit einer Amazon ECS-Bereitstellung beginnen
](#deployment-steps-prerequisites-ecs)
+ [

## Bereitstellungs-Workflow (auf hoher Ebene) auf einer Amazon ECS-Rechenplattform
](#deployment-process-workflow-ecs)
+ [

## Was passiert während einer Amazon ECS-Bereitstellung
](#deployment-steps-what-happens)
+ [

## Die Revision Ihrer Bewerbung wird hochgeladen
](#deployment-steps-uploading-your-app-ecs)
+ [

## Erstellen Sie Ihre Anwendungs- und Bereitstellungsgruppen
](#deployment-steps-registering-app-deployment-groups-ecs)
+ [

## Revision Ihrer Anwendung bereitstellen
](#deployment-steps-deploy-ecs)
+ [

## Aktualisierung Ihrer Anwendung
](#deployment-steps-updating-your-app-ecs)
+ [

## Bereitstellungen wurden gestoppt und sind fehlgeschlagen
](#deployment-stop-fail-ecs)
+ [

## Neubereitstellungen und Bereitstellungs-Rollbacks
](#deployment-rollback-ecs)
+ [

## Amazon blue/green ECS-Bereitstellungen über AWS CloudFormation
](#deployment-steps-ecs-cf)

## Bevor Sie mit einer Amazon ECS-Bereitstellung beginnen
<a name="deployment-steps-prerequisites-ecs"></a>

 Bevor Sie mit der Bereitstellung einer Amazon ECS-Anwendung beginnen, müssen Sie Folgendes bereithalten. Einige Anforderungen werden bei der Erstellung Ihrer Bereitstellungsgruppe angegeben, andere sind in der AppSpec Datei angegeben.


****  

| Anforderung | Wo angegeben | 
| --- | --- | 
| Amazon-ECS-Cluster | Bereitstellungsgruppe | 
| Amazon-ECS-Service | Bereitstellungsgruppe | 
| Application Load Balancer oder Network Load Balancer | Bereitstellungsgruppe | 
| Produktions-Listener | Bereitstellungsgruppe | 
| Test-Listener (optional) | Bereitstellungsgruppe | 
| Zwei Zielgruppen | Bereitstellungsgruppe | 
| Amazon ECS-Aufgabendefinition | AppSpec datei | 
| Container-Name | AppSpec datei | 
| Container-Port | AppSpec datei | 

**Amazon ECS-Cluster**  
Ein Amazon-ECS-*Cluster* ist eine logische Gruppierung von Aufgaben oder Services. Sie geben den Amazon ECS-Cluster an, der Ihren Amazon ECS-Service enthält, wenn Sie die Bereitstellungsgruppe Ihrer CodeDeploy Anwendung erstellen. Weitere Informationen finden Sie unter [Amazon ECS-Cluster](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ECS_clusters.html) im *Amazon Elastic Container Service-Benutzerhandbuch*.

**Amazon ECS-Service**  
Ein Amazon *ECS-Service* verwaltet und führt bestimmte Instances einer Aufgabendefinition in einem Amazon ECS-Cluster aus. Ihr Amazon ECS-Service muss für aktiviert sein CodeDeploy. Standardmäßig ist ein Amazon ECS-Service für Amazon ECS-Bereitstellungen aktiviert. Wenn Sie Ihre Bereitstellungsgruppe erstellen, entscheiden Sie sich dafür, einen Amazon ECS-Service bereitzustellen, der sich in Ihrem Amazon ECS-Cluster befindet. Weitere Informationen finden Sie unter [Amazon ECS-Services](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs_services.html) im *Amazon Elastic Container Service-Benutzerhandbuch*.

**Application Load Balancer oder Network Load Balancer**  
 Sie müssen Elastic Load Balancing mit dem Amazon ECS-Service verwenden, den Sie mit einer Amazon ECS-Bereitstellung aktualisieren möchten. Sie können einen Application Load Balancer oder einen Network Load Balancer verwenden. Wir empfehlen einen Application Load Balancer, damit Sie Funktionen wie dynamische Portzuweisung und pfadbasiertes Routing und Prioritätsregeln nutzen können. Sie geben den Load Balancer an, wenn Sie die Bereitstellungsgruppe für Ihre CodeDeploy Anwendung erstellen. Weitere Informationen finden Sie unter [Einen Load Balancer, Zielgruppen und Listener für CodeDeploy Amazon ECS-Bereitstellungen einrichten](deployment-groups-create-load-balancer-for-ecs.md) und [Creating a Load Balancer](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/create-load-balancer.html) im *Amazon Elastic Container Service-Benutzerhandbuch*. 

**Ein oder zwei Zuhörer**  
Ein *Listener* wird vom Load Balancer verwendet, um Datenverkehr an die Zielgruppen weiterzuleiten. Ein Produktions-Listener ist erforderlich. Sie können optional einen zweiten Test-Listener angeben, der Datenverkehr an den neuen Aufgabensatz weiterleitet, während Sie Validierungstests durchführen. Sie geben einen oder beide Listener an, wenn Sie die Bereitstellungsgruppe erstellen. Wenn Sie die Amazon ECS-Konsole verwenden, um Ihren Amazon ECS-Service zu erstellen, werden Ihre Listener für Sie erstellt. Weitere Informationen finden Sie unter [Listener für Ihre Application Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-listener.html) im *Elastic Load Balancing User Guide* und [Creating a Service](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/create-service.html) im *Amazon Elastic Container Service User* Guide.

**Zwei Amazon ECS-Zielgruppen**  
 Eine *Zielgruppe* wird verwendet, um Datenverkehr an ein registriertes Ziel weiterzuleiten. Für eine Amazon ECS-Bereitstellung sind zwei Zielgruppen erforderlich: eine für den ursprünglichen Tasksatz Ihrer Amazon ECS-Anwendung und eine für den Ersatz-Tasksatz. CodeDeploy Erstellt während der Bereitstellung einen Ersatzaufgabensatz und leitet den Datenverkehr vom ursprünglichen Aufgabensatz zum neuen um. Sie geben die Zielgruppen an, wenn Sie die Bereitstellungsgruppe der CodeDeploy -Anwendung erstellen.   
 CodeDeploy Ermittelt während einer Bereitstellung, welche Zielgruppe mit dem Aufgabensatz in Ihrem Amazon ECS-Service verknüpft ist, der den Status hat `PRIMARY` (dies ist der ursprüngliche Aufgabensatz), ordnet ihm eine Zielgruppe zu und ordnet dann die andere Zielgruppe dem Ersatzaufgabensatz zu. Bei der nächsten Bereitstellung wird die Zielgruppe, die dem ursprünglichen Aufgabensatz der jetzigen Bereitstellung zugeordnet ist, dem neuen Aufgabensatz der nächsten Bereitstellung zugeordnet. Weitere Informationen finden Sie unter [Zielgruppen für Ihre Application Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-target-groups.html) im *Elastic Load Balancing User Guide*. 

**Eine Amazon ECS-Aufgabendefinition**  
 Eine *Aufgabendefinition* ist erforderlich, um den Docker-Container auszuführen, der Ihre Amazon ECS-Anwendung enthält. Sie geben den ARN Ihrer Aufgabendefinition in der AppSpec Datei Ihrer CodeDeploy Anwendung an. Weitere Informationen finden Sie unter [Amazon ECS-Aufgabendefinitionen](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definitions.html) im *Amazon Elastic Container Service-Benutzerhandbuch* und[AppSpec Abschnitt „Ressourcen“ für Amazon ECS-Bereitstellungen](reference-appspec-file-structure-resources.md#reference-appspec-file-structure-resources-ecs). 

**Ein Container für Ihre Amazon ECS-Anwendung**  
 Ein Docker-*Container* ist eine Software-Einheit, die Code und dessen Abhängigkeiten so verpackt, dass Ihre Anwendung ausgeführt werden kann. Ein Container isoliert die Anwendung so, dass sie in verschiedenen Computing-Umgebungen ausgeführt werden kann. Ihr Load Balancer leitet den Verkehr an einen Container im Taskset Ihrer Amazon ECS-Anwendung weiter. Sie geben den Namen Ihres Containers in der AppSpec Datei Ihrer CodeDeploy Anwendung an. Der in Ihrer AppSpec Datei angegebene Container muss einer der in Ihrer Amazon ECS-Aufgabendefinition angegebenen Container sein. Weitere Informationen finden Sie unter [Was ist Amazon Elastic Container Service?](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/Welcome.html) im *Amazon Elastic Container Service-Benutzerhandbuch* und[AppSpec Abschnitt „Ressourcen“ für Amazon ECS-Bereitstellungen](reference-appspec-file-structure-resources.md#reference-appspec-file-structure-resources-ecs). 

**Ein Port für Ihren Ersatz-Aufgabensatz**  
 Während Ihrer Amazon ECS-Bereitstellung leitet Ihr Load Balancer den Datenverkehr an diesen *Port* auf dem in der AppSpec Datei Ihrer CodeDeploy Anwendung angegebenen Container weiter. Sie geben den Port in der AppSpec Datei Ihrer CodeDeploy Anwendung an. Weitere Informationen finden Sie unter [AppSpec Abschnitt „Ressourcen“ für Amazon ECS-Bereitstellungen](reference-appspec-file-structure-resources.md#reference-appspec-file-structure-resources-ecs). 

## Bereitstellungs-Workflow (auf hoher Ebene) auf einer Amazon ECS-Rechenplattform
<a name="deployment-process-workflow-ecs"></a>

Das folgende Diagramm zeigt die wichtigsten Schritte bei der Bereitstellung aktualisierter Amazon ECS-Services.

![\[Wie CodeDeploy stellt eine Anwendung als Aufgabensatz in Amazon ECS bereit.\]](http://docs.aws.amazon.com/de_de/codedeploy/latest/userguide/images/deployment-process-ecs.png)


Zu diesen Schritten gehören:

1. Erstellen Sie eine AWS CodeDeploy Anwendung, indem Sie einen Namen angeben, der eindeutig darstellt, was Sie bereitstellen möchten. Um eine Amazon ECS-Anwendung bereitzustellen, wählen Sie in Ihrer AWS CodeDeploy Anwendung die Amazon ECS-Rechenplattform aus. CodeDeploy verwendet während einer Bereitstellung eine Anwendung, um auf die richtigen Bereitstellungskomponenten zu verweisen, z. B. die Bereitstellungsgruppe, die Zielgruppen, die Listener und das Verhalten bei der Umleitung des Datenverkehrs sowie die Anwendungsversion. Weitere Informationen finden Sie unter [Erstellen Sie eine Anwendung mit CodeDeploy](applications-create.md). 

1. Richten Sie eine Bereitstellungsgruppe ein, indem Sie Folgendes angeben:
   +  Name der Bereitstellungsgruppe. 
   +  Ihr Amazon ECS-Cluster und Service-Name. Der Deployment Controller des Amazon ECS-Service muss auf eingestellt sein CodeDeploy. 
   +  Der Produktions-Listener, ein optionaler Test-Listener und Zielgruppen, die während einer Bereitstellung verwendet werden. 
   +  Bereitstellungseinstellungen, z. B. wann der Produktionsdatenverkehr an den Amazon ECS-Ersatzaufgabensatz in Ihrem Amazon ECS-Service umgeleitet werden soll und wann der ursprüngliche Amazon ECS-Auftragssatz in Ihrem Amazon ECS-Service beendet werden muss. 
   +  Optionale Einstellungen, wie z. B. Auslöser, Alarme und Rollback-Verhalten. 

1. Geben Sie eine *Anwendungsspezifikationsdatei (AppSpec Datei*) an. Sie können es auf Amazon S3 hochladen, es im YAML- oder JSON-Format in die Konsole eingeben oder mit dem SDK AWS CLI oder angeben. Die AppSpec Datei spezifiziert eine Amazon ECS-Aufgabendefinition für die Bereitstellung, eine Container-Namen- und Port-Zuordnung, die zur Weiterleitung des Datenverkehrs verwendet werden, und Lambda-Funktionen, die nach den Hooks des Deployment-Lebenszyklus ausgeführt werden. Der Containername muss ein Container in Ihrer Amazon ECS-Aufgabendefinition sein. Weitere Informationen finden Sie unter [Arbeiten mit Anwendungsrevisionen für CodeDeploy](application-revisions.md).

1. Stellen Sie die Revision Ihrer Anwendung bereit. AWS CodeDeploy leitet den Verkehr von der ursprünglichen Version eines Task-Sets in Ihrem Amazon ECS-Service zu einem neuen Ersatz-Task-Set um. Zielgruppen werden in der Bereitstellungsgruppe verwendet, um den Datenverkehr an den ursprünglichen und den neuen Aufgabensatz weiterzuleiten. Wenn die Bereitstellung abgeschlossen ist, wird der ursprüngliche Aufgabensatz beendet. Sie können einen optionalen Test-Listener angeben, um Testdatenverkehr an die neue Version weiterzuleiten, bevor der richtige Datenverkehr an sie weitergeleitet wird. Weitere Informationen finden Sie unter [Erstellen Sie eine Bereitstellung mit CodeDeploy](deployments-create.md).

1. Überprüfen Sie die Bereitstellungsergebnisse. Weitere Informationen finden Sie unter [Überwachung von Bereitstellungen in CodeDeploy](monitoring.md).

## Was passiert während einer Amazon ECS-Bereitstellung
<a name="deployment-steps-what-happens"></a>

Bevor eine Amazon ECS-Bereitstellung mit einem Test-Listener gestartet wird, müssen Sie dessen Komponenten konfigurieren. Weitere Informationen finden Sie unter [Bevor Sie mit einer Amazon ECS-Bereitstellung beginnen](#deployment-steps-prerequisites-ecs).

 Das folgende Diagramm zeigt die Beziehung zwischen diesen Komponenten, wenn eine Amazon ECS-Bereitstellung startbereit ist. 

![\[Die Beziehung zwischen dem Load Balancer, den Listenern, den Zielgruppen und der Aufgabenstellung, wenn eine Amazon ECS-Bereitstellung startbereit ist.\]](http://docs.aws.amazon.com/de_de/codedeploy/latest/userguide/images/codedeploy-ecs-deployment-step-1.png)


Wenn die Bereitstellung gestartet wird, werden die Ereignisse im Bereitstellungslebenszyklus einzeln ausgeführt. Einige Lebenszyklusereignisse sind Hooks, die nur Lambda-Funktionen ausführen, die in der AppSpec Datei angegeben sind. Die Ereignisse im Bereitstellungslebenszyklus in der folgenden Tabelle sind in der Reihenfolge aufgeführt, in der sie ausgeführt werden. Weitere Informationen finden Sie unter [AppSpec Abschnitt „Hooks“ für eine Amazon ECS-Bereitstellung](reference-appspec-file-structure-hooks.md#appspec-hooks-ecs).


| Lebenszyklus-Ereignis | Aktion im Lebenszyklus-Ereignis | 
| --- | --- | 
| BeforeInstall(ein Hook für Lambda-Funktionen) | Führen Sie Lambda-Funktionen aus. | 
| Installieren | Richten Sie den Ersatzaufgabensatz ein. | 
| AfterInstall(ein Hook für Lambda-Funktionen) | Führen Sie Lambda-Funktionen aus. | 
| AllowTestTraffic | Leiten Sie Datenverkehr aus dem Test-Listener an Zielgruppe 2 weiter. | 
| AfterAllowTestTraffic(ein Hook für Lambda-Funktionen) | Führen Sie Lambda-Funktionen aus. | 
| BeforeAllowTraffic(ein Hook für Lambda-Funktionen) | Führen Sie Lambda-Funktionen aus. | 
| AllowTraffic | Leiten Sie Datenverkehr aus dem Produktions-Listener an Zielgruppe 2 weiter. | 
| AfterAllowTraffic | Führen Sie Lambda-Funktionen aus. | 



**Anmerkung**  
Lambda-Funktionen in einem Hook sind optional.

1. <a name="ecs-before-install"></a>

****

   Führt alle Lambda-Funktionen aus, die im `BeforeInstall` Hook in der AppSpec Datei angegeben sind.

1. <a name="ecs-install"></a>

****

   Während des `Install`-Lebenszyklusereignisses:

   1.  In Ihrem Amazon ECS-Service wird ein Ersatzaufgabensatz erstellt. 

   1.  Die aktualisierte containerisierte Anwendung wird im Ersatzaufgabensatz installiert. 

   1.  Die zweite Zielgruppe wird dem Ersatzaufgabensatz zugeordnet. 

    Dieses Diagramm zeigt Bereitstellungskomponenten mit dem neuen Ersatzaufgabensatz. Die containerisierte Anwendung befindet sich in diesem Aufgabensatz. Der Aufgabensatz besteht aus drei Aufgaben. (Eine Anwendung kann eine beliebige Anzahl von Aufgaben umfassen.) Die zweite Zielgruppe wird jetzt dem Ersatzaufgabensatz zugeordnet.   
![\[Die Bereitstellungskomponenten mit dem neuen Ersatzaufgabensatz. Die containerisierte Anwendung befindet sich in diesem Aufgabensatz. Der Aufgabensatz besteht aus drei Aufgaben. Die zweite Zielgruppe wird jetzt dem Ersatzaufgabensatz zugeordnet.\]](http://docs.aws.amazon.com/de_de/codedeploy/latest/userguide/images/codedeploy-ecs-deployment-step-2.png)

1. <a name="ecs-after-install"></a>

****

   Führt alle Lambda-Funktionen aus, die im `AfterInstall` Hook in der AppSpec Datei angegeben sind.

1. <a name="ecs-allow-test-traffic"></a>

****

   Das `AllowTestTraffic`-Ereignis wird aufgerufen. Während dieses Lebenszyklusereignisses leitet der Test-Listener den Datenverkehr an die aktualisierte containerisierte Anwendung weiter.  
![\[Der Test-Listener leitet den Datenverkehr an die aktualisierte containerisierte Anwendung weiter.\]](http://docs.aws.amazon.com/de_de/codedeploy/latest/userguide/images/codedeploy-ecs-deployment-step-3.png)

1. <a name="ecs-after-allow-test-traffic"></a>

****

   Führt alle Lambda-Funktionen aus, die im `AfterAllowTestTraffic` Hook in der AppSpec Datei angegeben sind. Lambda-Funktionen können die Bereitstellung anhand des Testdatenverkehrs validieren. Beispiel: Eine Lambda-Funktion kann den Datenverkehr an den Test-Listener leiten und Metriken aus dem Ersatzaufgabensatz nachverfolgen. Wenn Rollbacks konfiguriert sind, können Sie einen CloudWatch Alarm konfigurieren, der einen Rollback auslöst, wenn der Validierungstest in Ihrer Lambda-Funktion fehlschlägt.

    Nach dem Abschluss der Validierungstests tritt eine der folgenden Situationen ein: 
   +  Wenn die Validierung fehlschlägt und Rollbacks konfiguriert sind, wird der Bereitstellungsstatus als `Failed` markiert und Komponenten kehren in ihren Zustand zurück, wenn die Bereitstellung gestartet wird. 
   +  Wenn die Validierung fehlschlägt und Rollbacks nicht konfiguriert sind, wird der Bereitstellungsstatus als `Failed` markiert und Komponenten bleiben in ihrem aktuellen Zustand.
   +  Wenn die Validierung erfolgreich ist, wird die Bereitstellung am `BeforeAllowTraffic`-Hook fortgesetzt.

    Weitere Informationen finden Sie unter [Überwachung von Bereitstellungen mit CloudWatch Alarmen in CodeDeploy](monitoring-create-alarms.md), [Automatische Rollbacks](deployments-rollback-and-redeploy.md#deployments-rollback-and-redeploy-automatic-rollbacks) und [Konfigurieren von erweiterten Optionen für eine Bereitstellungsgruppe](deployment-groups-configure-advanced-options.md). 

1. <a name="ecs-before-allow-traffic"></a>

****

   Führt alle Lambda-Funktionen aus, die im `BeforeAllowTraffic` Hook in der AppSpec Datei angegeben sind.

1. <a name="ecs-allow-traffic"></a>

****

   Das `AllowTraffic`-Ereignis wird aufgerufen. Produktionsdatenverkehr wird vom ursprünglichen Aufgabensatz auf den Ersatzaufgabensatz umgeleitet. Das folgende Diagramm zeigt den Ersatzaufgabensatz, der den Produktionsdatenverkehr empfängt.   
![\[Der Ersatz-Tasksatz empfängt Produktionsdatenverkehr.\]](http://docs.aws.amazon.com/de_de/codedeploy/latest/userguide/images/codedeploy-ecs-deployment-step-4.png)

1. <a name="ecs-after-allow-traffic"></a>

****

   Führt alle Lambda-Funktionen aus, die im `AfterAllowTraffic` Hook in der AppSpec Datei angegeben sind.

1. 

****

   Nachdem alle Ereignisse erfolgreich waren, wird der Bereitstellungsstatus auf `Succeeded` gesetzt und die ursprüngliche Aufgabe entfernt.   
![\[Alle Ereignisse erfolgreich.\]](http://docs.aws.amazon.com/de_de/codedeploy/latest/userguide/images/codedeploy-ecs-deployment-step-6.png)

## Die Revision Ihrer Bewerbung wird hochgeladen
<a name="deployment-steps-uploading-your-app-ecs"></a>

Platzieren Sie eine AppSpec Datei in Amazon S3 oder geben Sie sie direkt in die Konsole ein oder AWS CLI. Weitere Informationen finden Sie unter [CodeDeploy Anwendungsspezifikationsdateien (AppSpec)](application-specification-files.md).

## Erstellen Sie Ihre Anwendungs- und Bereitstellungsgruppen
<a name="deployment-steps-registering-app-deployment-groups-ecs"></a>

Eine CodeDeploy Bereitstellungsgruppe auf einer Amazon ECS-Rechenplattform identifiziert Listener, die den Datenverkehr an Ihre aktualisierte Amazon ECS-Anwendung weiterleiten sollen, sowie zwei Zielgruppen, die während Ihrer Bereitstellung verwendet wurden. Eine Bereitstellungsgruppe definiert auch eine Reihe von Konfigurationsoptionen, wie z. B. Alarme und Rollback-Konfigurationen.

## Revision Ihrer Anwendung bereitstellen
<a name="deployment-steps-deploy-ecs"></a>

Jetzt sind Sie bereit, den aktualisierten Amazon ECS-Service bereitzustellen, der in Ihrer Bereitstellungsgruppe angegeben ist. Sie können die CodeDeploy Konsole oder den Befehl [create-deployment](https://docs.aws.amazon.com/cli/latest/reference/deploy/create-deployment.html) verwenden. Es gibt Parameter, die Sie angeben können, um Ihre Bereitstellung zu steuern, einschließlich der Revision und der Bereitstellungsgruppe.

## Aktualisierung Ihrer Anwendung
<a name="deployment-steps-updating-your-app-ecs"></a>

Sie können Ihre Anwendung aktualisieren und dann die CodeDeploy Konsole verwenden oder den Befehl [create-deployment](https://docs.aws.amazon.com/cli/latest/reference/deploy/create-deployment.html) aufrufen, um eine Version zu pushen. 

## Bereitstellungen wurden gestoppt und sind fehlgeschlagen
<a name="deployment-stop-fail-ecs"></a>

Sie können die CodeDeploy Konsole oder den Befehl [stop-deployment](https://docs.aws.amazon.com/cli/latest/reference/deploy/stop-deployment.html) verwenden, um eine Bereitstellung zu beenden. Wenn Sie versuchen, die Bereitstellung zu stoppen, gibt es drei Möglichkeiten:
+ Die Bereitstellung wird beendet, und die Operation gibt den Status "Erfolgreich" zurück. In diesem Fall werden keine Bereitstellungslebenszyklusereignisse mehr für die Bereitstellungsgruppe für die gestoppte Bereitstellung ausgeführt. 
+ Die Bereitstellung wird nicht sofort beendet, und die Operation gibt den Status "Ausstehend" zurück. In diesem Fall werden einige Bereitstellungslebenszyklusereignisse in der Bereitstellungsgruppe weiterhin ausgeführt. Nachdem die ausstehende Operation abgeschlossen ist, geben nachfolgende Aufrufe zum Stoppen der Bereitstellung den Status "Erfolgreich" zurück.
+ Die Bereitstellung kann nicht gestoppt werden, und der Vorgang gibt einen Fehler zurück. Weitere Informationen finden Sie unter [Fehlerinformationen](https://docs.aws.amazon.com/codedeploy/latest/APIReference/API_ErrorInformation.html) und [Häufige Fehler](https://docs.aws.amazon.com/codedeploy/latest/APIReference/CommonErrors.html) in der AWS CodeDeploy API-Referenz.

## Neubereitstellungen und Bereitstellungs-Rollbacks
<a name="deployment-rollback-ecs"></a>

CodeDeploy implementiert Rollbacks, indem der Datenverkehr vom Ersatz-Task-Set zum ursprünglichen Task-Set umgeleitet wird. 

Sie können eine Bereitstellungsgruppe für automatisches Rollback konfigurieren, wenn bestimmte Bedingungen erfüllt sind, einschließlich wenn eine Bereitstellung fehlschlägt oder ein Alarm-Überwachungsschwellenwert erreicht ist. Sie können auch die Rollback-Einstellungen für eine Bereitstellungsgruppe in einer einzelnen Bereitstellung überschreiben.

Sie können außerdem ein Rollback einer fehlgeschlagenen Bereitstellung durch erneute manuelle Bereitstellung einer zuvor bereitgestellten Revision durchführen. 

In allen Fällen wird der neuen oder rückabgewickelten Bereitstellung eine eigene Bereitstellungs-ID zugewiesen. Die CodeDeploy -Konsole zeigt eine Liste der Bereitstellungen, die das Ergebnis einer automatischen Bereitstellung sind. 

Bei einer erneuten Bereitstellung wird die Zielgruppe, die dem ursprünglichen Aufgabensatz der jetzigen Bereitstellung zugeordnet ist, dem neuen Aufgabensatz der erneuten Bereitstellung zugeordnet.

Weitere Informationen finden Sie unter [Eine Bereitstellung erneut bereitstellen und rückgängig machen mit CodeDeploy](deployments-rollback-and-redeploy.md).

## Amazon blue/green ECS-Bereitstellungen über AWS CloudFormation
<a name="deployment-steps-ecs-cf"></a>

Sie können es verwenden AWS CloudFormation , um Amazon blue/green ECS-Bereitstellungen über CodeDeploy zu verwalten. Weitere Informationen finden Sie unter [Erstellen Sie eine Amazon blue/green ECS-Bereitstellung über CloudFormation](deployments-create-ecs-cfn.md).

**Anmerkung**  
Die Verwaltung von Amazon blue/green ECS-Bereitstellungen mit CloudFormation ist in der Region Asien-Pazifik (Osaka) nicht verfügbar.

# Bereitstellungen auf einer EC2/lokalen Rechenplattform
<a name="deployment-steps-server"></a>

Dieses Thema enthält Informationen zu den Komponenten und zum Arbeitsablauf von CodeDeploy Bereitstellungen, die die EC2/On-Premises-Computing-Plattform verwenden. Informationen blue/green zu Bereitstellungen finden Sie unter. [Überblick über eine Bereitstellung blue/green](welcome.md#welcome-deployment-overview-blue-green)

**Topics**
+ [

## Bereitstellungskomponenten auf einer EC2/lokalen Rechenplattform
](#deployment-steps-components-server)
+ [

## Bereitstellungs-Workflow auf einer EC2/lokalen Rechenplattform
](#deployment-steps-workflow)
+ [

## Instances einrichten
](#deployment-steps-setting-up-instances)
+ [

## Die Revision Ihrer Anwendung wird hochgeladen
](#deployment-steps-uploading-your-app)
+ [

## Erstellen Sie Ihre Anwendungs- und Bereitstellungsgruppen
](#deployment-steps-registering-app-deployment-groups)
+ [

## Revision Ihrer Anwendung bereitstellen
](#deployment-steps-deploy)
+ [

## Aktualisierung Ihrer Anwendung
](#deployment-steps-updating-your-app)
+ [

## Bereitstellungen wurden gestoppt und sind fehlgeschlagen
](#deployment-stop-fail)
+ [

## Erneute Bereitstellungen und Bereitstellungs-Rollbacks
](#deployment-rollback)

## Bereitstellungskomponenten auf einer EC2/lokalen Rechenplattform
<a name="deployment-steps-components-server"></a>

Das folgende Diagramm zeigt die Komponenten einer CodeDeploy Bereitstellung auf einer EC2/On-Premises-Computerplattform. 

![\[Die Komponenten in einer CodeDeploy Bereitstellung auf einer EC2/lokalen Rechenplattform.\]](http://docs.aws.amazon.com/de_de/codedeploy/latest/userguide/images/deployment-components-workflow.png)


## Bereitstellungs-Workflow auf einer EC2/lokalen Rechenplattform
<a name="deployment-steps-workflow"></a>

Das folgende Diagramm zeigt die wichtigsten Schritte in der Bereitstellung von Anwendungsrevisionen:

![\[Die wichtigsten Schritte bei der Bereitstellung von Anwendungsrevisionen.\]](http://docs.aws.amazon.com/de_de/codedeploy/latest/userguide/images/deployment-process.png)


Zu diesen Schritten gehören:

1. Erstellen Sie eine Anwendung und geben Sie ihr einen Namen, der die Anwendungsrevisionen, die Sie bereitstellen möchten, und die Rechenplattform für Ihre Anwendung eindeutig identifiziert. CodeDeploy verwendet diesen Namen während einer Bereitstellung, um sicherzustellen, dass er auf die richtigen Bereitstellungskomponenten verweist, z. B. die Bereitstellungsgruppe, die Bereitstellungskonfiguration und die Anwendungsversion. Weitere Informationen finden Sie unter [Erstellen Sie eine Anwendung mit CodeDeploy](applications-create.md).

1. Richten Sie eine Bereitstellungsgruppe ein, indem Sie einen Bereitstellungstyp und die Instances angeben, für die Sie die Anwendungsrevisionen bereitstellen möchten. Eine In-Situ-Bereitstellung aktualisiert Instances mit der neuesten Anwendungsrevision. Bei einer blue/green Bereitstellung wird ein Ersatzsatz von Instances für die Bereitstellungsgruppe mit einem Load Balancer registriert und die Registrierung der ursprünglichen Instances aufgehoben. 

   Sie können die auf die Instances angewendeten Tags, die Amazon EC2 Auto Scaling Scaling-Gruppennamen oder beides angeben.

   Wenn Sie eine Gruppe von Tags in einer Bereitstellungsgruppe angeben, erfolgt die Bereitstellung CodeDeploy auf Instances, auf die mindestens eines der angegebenen Tags angewendet wurde. Wenn Sie zwei oder mehr Tag-Gruppen angeben, erfolgt CodeDeploy die Bereitstellung nur für die Instances, die die Kriterien für jede der Tag-Gruppen erfüllen. Weitere Informationen finden Sie unter [Tagging von Instanzen für Bereitstellungsgruppen in CodeDeploy](instances-tagging.md).

   In allen Fällen müssen die Instances für die Verwendung in einer Bereitstellung konfiguriert sein (d. h. sie müssen markiert sein oder zu einer Amazon EC2 Auto Scaling Scaling-Gruppe gehören) und der CodeDeploy Agent muss installiert sein und ausgeführt werden. 

   Wir stellen Ihnen eine CloudFormation Vorlage zur Verfügung, mit der Sie schnell eine Amazon EC2 EC2-Instance auf Basis von Amazon Linux oder Windows Server einrichten können. Wir stellen Ihnen auch den eigenständigen CodeDeploy Agenten zur Verfügung, sodass Sie ihn auf Amazon Linux-, Ubuntu Server-, Red Hat Enterprise Linux (RHEL) - oder Windows Server-Instances installieren können. Weitere Informationen finden Sie unter [Erstellen Sie eine Bereitstellungsgruppe mit CodeDeploy](deployment-groups-create.md).

   Sie können auch die folgenden Optionen angeben: 
   + **Amazon SNS SNS-Benachrichtigungen**. Erstellen Sie Auslöser, die Benachrichtigungen an Abonnenten eines Amazon SNS SNS-Themas senden, wenn bestimmte Ereignisse, wie Erfolgs- oder Fehlschlagsereignisse, in Bereitstellungen und Instances auftreten. Weitere Informationen finden Sie unter [Überwachung von Bereitstellungen mit Amazon SNS SNS-Ereignisbenachrichtigungen](monitoring-sns-event-notifications.md).
   + **Alarmbasierte Bereitstellungsverwaltung**. Implementieren Sie Amazon CloudWatch Alarm Monitoring, um Bereitstellungen zu stoppen, wenn Ihre Messwerte die festgelegten Schwellenwerte über- oder unterschreiten. CloudWatch
   + **Automatische Bereitstellungsrollbacks**. Konfigurieren Sie das automatische Zurücksetzen einer Bereitstellung auf die letzte funktionierende Revision, wenn eine Bereitstellung fehlschlägt oder ein Alarmschwellenwert erreicht ist.

1. Legen Sie eine Bereitstellungskonfiguration fest, um anzugeben, wie viele Instances Ihrer Anwendungsrevisionen gleichzeitig bereitgestellt werden sollen, und um die Bedingungen für Erfolg und Fehler für die Bereitstellung zu beschreiben. Weitere Informationen finden Sie unter [Details zur Bereitstellungskonfiguration anzeigen mit CodeDeploy](deployment-configurations-view-details.md).

1. Laden Sie eine Anwendungsrevision auf Amazon S3 hoch oder GitHub. Zusätzlich zu den Dateien, die Sie bereitstellen möchten, und allen Skripten, die Sie während der Bereitstellung ausführen möchten, müssen Sie eine *Anwendungsspezifikationsdatei (AppSpec Datei*) beifügen. Diese Datei enthält Bereitstellungsanweisungen, wie zum Beispiel wohin die Dateien auf jeder Instance kopiert werden und wann die Bereitstellungsskripts ausgeführt werden sollen. Weitere Informationen finden Sie unter [Arbeiten mit Anwendungsrevisionen für CodeDeploy](application-revisions.md).

1. Stellen Sie Ihre Anwendungsrevision für die Bereitstellungsgruppe bereit. Der CodeDeploy Agent auf jeder Instance in der Bereitstellungsgruppe kopiert Ihre Anwendungsversion von Amazon S3 oder GitHub in die Instance. Der CodeDeploy Agent entbündelt dann die Revision und kopiert die Dateien anhand der AppSpec Datei an die angegebenen Speicherorte und führt alle Bereitstellungsskripte aus. Weitere Informationen finden Sie unter [Erstellen Sie eine Bereitstellung mit CodeDeploy](deployments-create.md).

1. Überprüfen Sie die Bereitstellungsergebnisse. Weitere Informationen finden Sie unter [Überwachung von Bereitstellungen in CodeDeploy](monitoring.md).

1. Stellen Sie eine Revision erneut bereit. Dies ist sinnvoll, wenn Sie einen Fehler im Quelleinhalt korrigieren müssen oder die Bereitstellungsskripts in einer anderen Reihenfolge ausführen möchten oder eine Bereitstellung fehlgeschlagen ist. Bündeln Sie dazu Ihren überarbeiteten Quellinhalt, alle Bereitstellungsskripten und die AppSpec Datei in eine neue Version und laden Sie die Version dann in den Amazon S3-Bucket oder das Amazon GitHub S3-Repository hoch. Anschließend führen Sie eine neue Bereitstellung für dieselbe Bereitstellungsgruppe mit der neuen Revision aus. Weitere Informationen finden Sie unter [Erstellen Sie eine Bereitstellung mit CodeDeploy](deployments-create.md).

## Instances einrichten
<a name="deployment-steps-setting-up-instances"></a>

 Sie müssen Instances einrichten, bevor Sie erstmalig Anwendungsrevisionen bereitstellen können. Wenn eine Anwendungsrevision drei Produktionsserver und zwei Backup-Server erfordert, starten oder verwenden Sie fünf Instances. 

So stellen Sie Instances manuell bereit:

1. Installieren Sie den CodeDeploy Agenten auf den Instanzen. Der CodeDeploy Agent kann auf Amazon Linux-, Ubuntu Server-, RHEL- und Windows Server-Instances installiert werden.

1. Aktivieren Sie das Tagging, wenn Sie Tags verwenden, um Instances in einer Bereitstellungsgruppe zu identifizieren. CodeDeploy verwendet Tags, um Instanzen zu identifizieren und in CodeDeploy Bereitstellungsgruppen zu gruppieren. Im Tutorial "Erste Schritte" wurde zwar beides verwendet, aber Sie können einfach einen Schlüssel oder einen Wert verwenden, um ein Tag für eine Bereitstellungsgruppe zu definieren.

1. Starten Sie Amazon EC2 EC2-Instances mit angehängtem IAM-Instance-Profil. Das IAM-Instance-Profil muss beim Start an eine Amazon EC2 EC2-Instance angehängt werden, damit der CodeDeploy Agent die Identität der Instance überprüfen kann.

1. Erstellen Sie eine Servicerolle. Stellen Sie Servicezugriff bereit, damit Sie die Tags in Ihrem AWS Konto erweitern CodeDeploy können.

Bei einer ersten Bereitstellung erledigt die CloudFormation Vorlage all dies für Sie. Es erstellt und konfiguriert neue, einzelne Amazon EC2 EC2-Instances auf Basis von Amazon Linux oder Windows Server, wobei der CodeDeploy Agent bereits installiert ist. Weitere Informationen finden Sie unter [Arbeiten mit Instanzen für CodeDeploy](instances.md). 

**Anmerkung**  
Für eine blue/green Bereitstellung können Sie wählen, ob Sie bereits vorhandene Instances für die Ersatzumgebung verwenden oder sich im Rahmen des Bereitstellungsprozesses neue Instances CodeDeploy bereitstellen lassen möchten. 

## Die Revision Ihrer Anwendung wird hochgeladen
<a name="deployment-steps-uploading-your-app"></a>

Platzieren Sie eine AppSpec Datei im Stammordner der Ordnerstruktur für den Quellinhalt Ihrer Anwendung. Weitere Informationen finden Sie unter [CodeDeploy Anwendungsspezifikationsdateien (AppSpec)](application-specification-files.md).

Verpacken Sie die Quellinhalts-Ordnerstruktur der Anwendung in ein Archivdateiformat, beispielsweise ZIP, TAR oder komprimiertes TAR. Laden Sie die Archivdatei (die *Revision*) in einen Amazon S3-Bucket oder ein Amazon GitHub S3-Repository hoch.

**Anmerkung**  
Die Tar- und komprimierten Tar-Archivdateiformate (.tar und .tar.gz) werden für Windows Server-Instances nicht unterstützt.

## Erstellen Sie Ihre Anwendungs- und Bereitstellungsgruppen
<a name="deployment-steps-registering-app-deployment-groups"></a>

Eine CodeDeploy Bereitstellungsgruppe identifiziert eine Sammlung von Instances anhand ihrer Tags, Amazon EC2 Auto Scaling Scaling-Gruppennamen oder beidem. Es können mehrere Anwendungsrevisionen für dieselbe Instance bereitgestellt werden. Eine Anwendungsrevision kann für mehrere Instances bereitgestellt werden. 

Sie können beispielsweise das Tag "Prod" zu den drei Produktionsservern und "Backup" zu den beiden Backup-Servern hinzufügen. Diese beiden Tags können verwendet werden, um zwei verschiedene Bereitstellungsgruppen in der CodeDeploy Anwendung zu erstellen, sodass Sie wählen können, welcher Serversatz (oder beide) an einer Bereitstellung teilnehmen soll.

Sie können mehrere Tag-Gruppen in einer Bereitstellungsgruppe verwenden, um Bereitstellungen auf eine kleinere Auswahl von Instances einzuschränken. Weitere Informationen finden Sie unter [Tagging von Instanzen für Bereitstellungsgruppen in CodeDeploy](instances-tagging.md).

## Revision Ihrer Anwendung bereitstellen
<a name="deployment-steps-deploy"></a>

Jetzt sind Sie bereit, Ihre Anwendungsrevision von Amazon S3 oder GitHub in der Bereitstellungsgruppe bereitzustellen. Sie können die CodeDeploy Konsole oder den Befehl [create-deployment](https://docs.aws.amazon.com/cli/latest/reference/deploy/create-deployment.html) verwenden. Es gibt Parameter, die Sie angeben können, um Ihre Bereitstellung zu steuern, einschließlich der Revision, Bereitstellungsgruppe und Bereitstellungskonfiguration.

## Aktualisierung Ihrer Anwendung
<a name="deployment-steps-updating-your-app"></a>

Sie können Ihre Anwendung aktualisieren und dann die CodeDeploy Konsole verwenden oder den Befehl [create-deployment](https://docs.aws.amazon.com/cli/latest/reference/deploy/create-deployment.html) aufrufen, um eine Version zu pushen. 

## Bereitstellungen wurden gestoppt und sind fehlgeschlagen
<a name="deployment-stop-fail"></a>

Sie können die CodeDeploy Konsole oder den Befehl [stop-deployment](https://docs.aws.amazon.com/cli/latest/reference/deploy/stop-deployment.html) verwenden, um eine Bereitstellung zu beenden. Wenn Sie versuchen, die Bereitstellung zu stoppen, gibt es drei Möglichkeiten:
+ Die Bereitstellung wird beendet, und die Operation gibt den Status "Erfolgreich" zurück. In diesem Fall werden keine Bereitstellungslebenszyklusereignisse mehr für die Bereitstellungsgruppe für die gestoppte Bereitstellung ausgeführt. Einige Dateien wurden möglicherweise bereits kopiert und einige Skripte bereits für eine oder mehrere der Instances in der Bereitstellungsgruppe ausgeführt.
+ Die Bereitstellung wird nicht sofort beendet, und die Operation gibt den Status "Ausstehend" zurück. In diesem Fall werden einige Bereitstellungslebenszyklusereignisse in der Bereitstellungsgruppe weiterhin ausgeführt. Einige Dateien wurden möglicherweise bereits kopiert und einige Skripte bereits für eine oder mehrere der Instances in der Bereitstellungsgruppe ausgeführt. Nachdem die ausstehende Operation abgeschlossen ist, geben nachfolgende Aufrufe zum Stoppen der Bereitstellung den Status "Erfolgreich" zurück.
+ Die Bereitstellung kann nicht gestoppt werden, und der Vorgang gibt einen Fehler zurück. Weitere Informationen finden Sie unter [ErrorInformation](https://docs.aws.amazon.com/codedeploy/latest/APIReference/API_ErrorInformation.html)[Häufige Fehler](https://docs.aws.amazon.com/codedeploy/latest/APIReference/CommonErrors.html) in der AWS CodeDeploy API-Referenz.

Genauso wie gestoppte Bereitstellungen können fehlgeschlagene Bereitstellungen dazu führen, dass einige Ereignisse im Bereitstellungslebenszyklus bereits für eine oder mehrere Instances in der Bereitstellungsgruppe ausgeführt wurden. Um herauszufinden, warum eine Bereitstellung fehlgeschlagen ist, können Sie die CodeDeploy Konsole verwenden, den [get-deployment-instance](https://docs.aws.amazon.com/cli/latest/reference/deploy/get-deployment-instance.html)Befehl aufrufen oder die Protokolldateidaten der fehlgeschlagenen Bereitstellung analysieren. Weitere Informationen erhalten Sie unter [Revision der Anwendung und Bereinigung der Protokolldateien](codedeploy-agent.md#codedeploy-agent-revisions-logs-cleanup) und [Protokolldaten für CodeDeploy EC2/On-Premises-Bereitstellungen anzeigen](deployments-view-logs.md).

## Erneute Bereitstellungen und Bereitstellungs-Rollbacks
<a name="deployment-rollback"></a>

CodeDeploy implementiert Rollbacks, indem eine zuvor bereitgestellte Version als neue Bereitstellung erneut bereitgestellt wird. 

Sie können eine Bereitstellungsgruppe für automatisches Rollback konfigurieren, wenn bestimmte Bedingungen erfüllt sind, einschließlich wenn eine Bereitstellung fehlschlägt oder ein Alarm-Überwachungsschwellenwert erreicht ist. Sie können auch die Rollback-Einstellungen für eine Bereitstellungsgruppe in einer einzelnen Bereitstellung überschreiben.

Sie können außerdem ein Rollback einer fehlgeschlagenen Bereitstellung durch erneute manuelle Bereitstellung einer zuvor bereitgestellten Revision durchführen. 

In allen Fällen wird der neuen oder rückabgewickelten Bereitstellung eine eigene Bereitstellungs-ID zugewiesen. Die Liste der Bereitstellungen, die Sie in der CodeDeploy Konsole einsehen können, zeigt, welche das Ergebnis einer automatischen Bereitstellung sind. 

Weitere Informationen finden Sie unter [Eine Bereitstellung erneut bereitstellen und rückgängig machen mit CodeDeploy](deployments-rollback-and-redeploy.md).

# CodeDeploy Anwendungsspezifikationsdateien (AppSpec)
<a name="application-specification-files"></a>

[Eine Anwendungsspezifikationsdatei (AppSpec Datei), die nur für gilt CodeDeploy, ist eine Datei im [YAML- oder JSON-Format](http://www.yaml.org).](http://www.json.org) Die AppSpec Datei wird verwendet, um jede Bereitstellung als eine Reihe von Lifecycle-Event-Hooks zu verwalten, die in der Datei definiert sind.

Hinweise zum Erstellen einer wohlgeformten AppSpec Datei finden Sie unter[CodeDeploy AppSpec Dateiverweis](reference-appspec-file.md).

**Topics**
+ [

## AppSpec Dateien auf einer Amazon ECS Compute Platform
](#appspec-files-on-ecs-compute-platform)
+ [

## AppSpec Dateien auf einer AWS Lambda Rechenplattform
](#appspec-files-on-lambda-compute-platform)
+ [

## AppSpec Dateien auf einer EC2/lokalen Rechenplattform
](#appspec-files-on-server-compute-platform)
+ [

## Wie der CodeDeploy Agent die AppSpec Datei verwendet
](#application-specification-files-agent-usage)

## AppSpec Dateien auf einer Amazon ECS Compute Platform
<a name="appspec-files-on-ecs-compute-platform"></a>

Wenn Ihre Anwendung die Amazon ECS-Rechenplattform verwendet, kann die AppSpec Datei entweder mit YAML oder JSON formatiert werden. Sie kann auch direkt in den Editor der Konsole eingegeben werden. Die AppSpec Datei wird verwendet, um Folgendes anzugeben:
+ Der Name des Amazon ECS-Service sowie der Name und der Port des Containers, die für die Weiterleitung des Datenverkehrs an den neuen Tasksatz verwendet werden.
+ Die Funktionen können als Validierungstests verwendet werden.

Sie können Lambda-Validierungsfunktionen nach Ereignissen im Bereitstellungslebenszyklus ausführen. Weitere Informationen finden Sie unter [AppSpec Abschnitt „Hooks“ für eine Amazon ECS-Bereitstellung](reference-appspec-file-structure-hooks.md#appspec-hooks-ecs), [AppSpec Dateistruktur für Amazon ECS-Bereitstellungen](reference-appspec-file-structure.md#ecs-appspec-structure) und [AppSpec Dateibeispiel für eine Amazon ECS-Bereitstellung](reference-appspec-file-example.md#appspec-file-example-ecs).

## AppSpec Dateien auf einer AWS Lambda Rechenplattform
<a name="appspec-files-on-lambda-compute-platform"></a>

Wenn Ihre Anwendung die AWS Lambda-Rechenplattform verwendet, kann die AppSpec Datei entweder mit YAML oder JSON formatiert werden. Sie kann auch direkt in den Editor der Konsole eingegeben werden. Die AppSpec Datei wird verwendet, um Folgendes anzugeben:
+ Die Version der AWS Lambda Funktion, die bereitgestellt werden soll.
+ Die Funktionen können als Validierungstests verwendet werden.

Sie können Lambda-Validierungsfunktionen nach Ereignissen im Bereitstellungslebenszyklus ausführen. Weitere Informationen finden Sie unter [AppSpec Abschnitt „Hooks“ für eine AWS Lambda-Bereitstellung](reference-appspec-file-structure-hooks.md#appspec-hooks-lambda).

## AppSpec Dateien auf einer EC2/lokalen Rechenplattform
<a name="appspec-files-on-server-compute-platform"></a>

Wenn Ihre Anwendung die EC2/On-Premises-Computerplattform verwendet, ist die Datei immer YAML-formatiert. AppSpec Die Datei wird verwendet, um: AppSpec 
+ Ordnen Sie die Quelldateien in Ihrer Anwendungsrevision den entsprechenden Zielen auf der Instance zu.
+ Geben Sie benutzerdefinierte Berechtigungen für bereitgestellte Dateien an.
+ Legen Sie Scripts fest, die auf jeder Instance in verschiedenen Phasen des Bereitstellungsprozesses ausgeführt werden.

Sie können nach vielen einzelnen Ereignissen im Bereitstellungslebenszyklus Skripts auf einer Instanz ausführen. CodeDeploy führt nur die in der Datei angegebenen Skripts aus, aber diese Skripts können andere Skripts auf der Instance aufrufen. Sie können alle Arten von Scripts ausführen, sofern diese vom Betriebssystem auf der jeweiligen Instance unterstützt werden. Weitere Informationen finden Sie unter [AppSpec Abschnitt „Hooks“ für eine EC2/On-Premises-Bereitstellung](reference-appspec-file-structure-hooks.md#appspec-hooks-server). 

## Wie der CodeDeploy Agent die AppSpec Datei verwendet
<a name="application-specification-files-agent-usage"></a>

Während der Bereitstellung sucht der CodeDeploy Agent im Abschnitt **Hooks** der AppSpec Datei nach dem Namen des aktuellen Ereignisses. Wenn das Ereignis nicht gefunden wird, fährt der CodeDeploy -Agent mit dem nächsten Schritt fort. Wenn das Ereignis gefunden wird, ruft der CodeDeploy Agent die Liste der auszuführenden Skripts ab. Die Scripts werden sequenziell ausgeführt werden, und zwar in der Reihenfolge, in der sie in der Datei aufgeführt sind. Der Status jedes Skripts wird in der CodeDeploy Agent-Protokolldatei auf der Instanz protokolliert. 

Wenn ein Script erfolgreich ausgeführt wird, wird der Beendigungscode 0 (Null) ausgegeben.

**Anmerkung**  
 Der CodeDeploy Agent wird nicht in einer AWS Lambda- oder Amazon ECS-Bereitstellung verwendet. 

**Während des **Installationsereignisses** bestimmt der CodeDeploy Agent anhand der im Dateiabschnitt der AppSpec Datei definierten Zuordnungen, welche Ordner oder Dateien von der Revision in die Instance kopiert werden sollen.**

Wenn der auf dem Betriebssystem installierte CodeDeploy Agent nicht mit den Angaben in der AppSpec Datei übereinstimmt, schlägt die Bereitstellung fehl.

Hinweise zu CodeDeploy Agent-Protokolldateien finden Sie unter[Mit dem CodeDeploy Agenten arbeiten](codedeploy-agent.md).