Arbeiten mit Bereitstellungskonfigurationen in CodeDeploy - AWS CodeDeploy

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.

Arbeiten mit Bereitstellungskonfigurationen in CodeDeploy

Eine Bereitstellungskonfiguration besteht aus einer Reihe von Regeln und Erfolgs- und Fehlerbedingungen, die CodeDeploy während einer Bereitstellung verwendet werden. Diese Regeln und Bedingungen sind unterschiedlich, je nachdem, ob Sie die Bereitstellung auf einer EC2/lokalen Rechenplattform, einer AWS Lambda-Rechenplattform oder einer Amazon ECS-Rechenplattform durchführen.

Bereitstellungskonfigurationen auf einer EC2/lokalen Rechenplattform

Wenn Sie die Bereitstellung auf einer EC2/lokalen Rechenplattform durchführen, gibt die Bereitstellungskonfiguration mithilfe eines Werts für „mindestens fehlerfreie Hosts“ und eines optionalen Werts für „mindestens fehlerfreie Hosts pro Zone“ die Anzahl oder den Prozentsatz der Instances an, die zu einem beliebigen Zeitpunkt während einer Bereitstellung verfügbar bleiben müssen.

Sie können eine der drei vordefinierten Bereitstellungskonfigurationen verwenden, die von bereitgestellt werden, oder eine benutzerdefinierte Bereitstellungskonfiguration erstellen. AWS Weitere Informationen zum Erstellen benutzerdefinierter Bereitstellungskonfigurationen finden Sie unterCreate a Deployment Configuration. Wenn Sie keine Bereitstellungskonfiguration angeben, CodeDeploy verwendet die CodeDeployDefault. OneAtATime-Bereitstellungskonfiguration.

Weitere Informationen darüber, wie der Zustand einer Instanz während einer Bereitstellung CodeDeploy überwacht und bewertet wird, finden Sie unter. Instance Health Eine Liste der Bereitstellungskonfigurationen, die bereits für Ihr AWS Konto registriert sind, finden Sie unterView Deployment Configuration Details.

Vordefinierte Bereitstellungskonfigurationen für eine EC2/lokale Rechenplattform

In der folgenden Tabelle sind die vordefinierten Bereitstellungskonfigurationen aufgeführt.

Anmerkung

Es gibt keine vordefinierten Bereitstellungskonfigurationen, die diese zonal configuration Funktion unterstützen (mit der Sie die Anzahl fehlerfreier Hosts pro Availability Zone angeben können). Wenn Sie diese Funktion verwenden möchten, müssen Sie Ihre eigene Bereitstellungskonfiguration erstellen.

Bereitstellungskonfiguration Beschreibung
CodeDeployDefault.AllAtOnce

In-Situ-Bereitstellungen:

Versucht, eine Anwendungsrevision in möglichst vielen Instances gleichzeitig bereitzustellen. Als Status der Gesamtbereitstellung wird Erfolgreich angezeigt, wenn die Anwendungsrevision in einer oder mehreren Instances bereitgestellt werden konnte. Es wird Fehlgeschlagen als Status der Gesamtbereitstellung angezeigt, wenn die Anwendungsrevision auf keiner Instance bereitgestellt werden konnte. Am Beispiel von neun Instanzen CodeDeployDefault. AllAtOnce versucht, die Bereitstellung auf allen neun Instanzen gleichzeitig durchzuführen. Die Gesamtbereitstellung ist erfolgreich, wenn die Revision in mindestens einer Instance bereitgestellt werden kann. Sie schlägt nur fehl, wenn die Revision in keiner der neun Instances bereitgestellt werden kann.

Blau/Grün-Bereitstellungen:

  • Bereitstellung in einer Ersatzumgebung: Folgt den gleichen Bereitstellungsregeln wie CodeDeployDefault. AllAtOnce für Bereitstellungen vor Ort.

  • Datenverkehrsumleitung: Leitet den Datenverkehr in alle Instances in der Austauschumgebung gleichzeitig um. Ist erfolgreich, wenn der Datenverkehr in mindestens eine Instance umgeleitet werden kann. Schlägt fehl, wenn der Datenverkehr in keine der Instances umgeleitet werden kann.

CodeDeployDefault. HalfAtEine Zeit

In-Situ-Bereitstellungen:

Stellt die Anwendungsrevision maximal in der Hälfte der Instances gleichzeitig bereit (bei Nachkommastellen wird abgerundet). Die Gesamtbereitstellung ist erfolgreich, wenn die Anwendungsrevision in mindestens der Hälfte der Instances bereitgestellt werden kann (bei Nachkommastellen wird aufgerundet). Andernfalls schlägt die Bereitstellung fehl. Beispiel: Bei neun Instances wird die Revision in maximal vier Instances gleichzeitig bereitgestellt. Die Gesamtbereitstellung ist erfolgreich, wenn die Revision in mindestens fünf Instances bereitgestellt werden kann. Andernfalls schlägt die Bereitstellung fehl.

Anmerkung

Wenn Sie für Instances in mehreren Auto Scaling Scaling-Gruppen bereitstellen, CodeDeploy erfolgt die Bereitstellung auf bis zu der Hälfte der Instances gleichzeitig, unabhängig von der Auto Scaling Scaling-Gruppe, in der sie sich befinden. Nehmen wir zum Beispiel an, Sie haben zwei Auto Scaling Scaling-Gruppen mit jeweils 10 Instances. ASG1 ASG2 In diesem Szenario CodeDeploy könnten Sie in nur 10 Instances bereitstellen ASG1 und dies als Erfolg betrachten, da es auf mindestens der Hälfte der Instances bereitgestellt wurde.

Blau/Grün-Bereitstellungen:

  • Bereitstellung in einer Ersatzumgebung: Folgt den gleichen Bereitstellungsregeln wie CodeDeployDefault. HalfAtEine Zeit für Bereitstellungen vor Ort.

  • Datenverkehrsumleitung: Leitet den Datenverkehr in maximal die Hälfte der in der Austauschumgebung vorhandenen Instances gleichzeitig um. Ist erfolgreich, wenn der Datenverkehr in mindestens die Hälfte der Instances umgeleitet werden kann. Andernfalls schlägt fehl.

CodeDeployDefault. OneAtEine Zeit

In-Situ-Bereitstellungen:

Stellt die Anwendungsrevision nacheinander auf jeweils nur einer Instance bereit.

Für Bereitstellungsgruppen mit mehr als einer Instance gilt:

  • Die Gesamtbereitstellung ist erfolgreich, wenn die Anwendungsrevision in allen Instances bereitgestellt werden kann. Ausnahme: Wenn die Revision in der letzten Instance nicht bereitgestellt werden kann, gilt die Gesamtbereitstellung dennoch als erfolgreich. Dies liegt daran CodeDeploy , dass mit dem jeweils nur eine Instanz offline geschaltet werden kann. CodeDeployDefault OneAtATime-Konfiguration.

  • Die Gesamtbereitstellung schlägt fehl, sobald die Anwendungsrevision in einer anderen als der letzten Instance nicht bereitgestellt werden kann.

  • Beispiel: Bei neun Instances wird die Revision nacheinander jeweils in einer Instance bereitgestellt. Die Gesamtbereitstellung ist erfolgreich, wenn die Revision in den ersten acht Instances bereitgestellt werden kann. Die Gesamtbereitstellung schlägt fehl, wenn die Revision in einer der ersten acht Instances nicht bereitgestellt werden kann.

In Bereitstellungsgruppen mit einer einzigen Instance ist die Gesamtbereitstellung nur erfolgreich, wenn die Revision auf dieser einen Instance bereitgestellt werden kann.

Blau/Grün-Bereitstellungen:

  • Bereitstellung in einer Ersatzumgebung: Folgt denselben Bereitstellungsregeln wie CodeDeployDefault. OneAtEine Zeit für Bereitstellungen vor Ort.

  • Datenverkehrsumleitung: Leitet den Datenverkehr nacheinander in jeweils eine der Instances in der Austauschumgebung um. Ist erfolgreich, wenn der Datenverkehr in alle Austausch-Instances umgeleitet werden kann. Schlägt fehl, sobald die Umleitung erstmals fehlschlägt. Ausnahme: Wenn die letzte Instance nicht registriert werden kann, gilt die Gesamtbereitstellung dennoch als erfolgreich.

Bereitstellungskonfigurationen auf einer Amazon ECS-Rechenplattform

Wenn Sie die Bereitstellung auf einer Amazon ECS-Rechenplattform durchführen, gibt die Bereitstellungskonfiguration an, wie der Datenverkehr auf den aktualisierten Amazon ECS-Aufgabensatz übertragen wird. Sie können den Datenverkehr mithilfe einer kanarischen, linearen oder all-at-onceBereitstellungskonfiguration verlagern. Weitere Informationen finden Sie unter Bereitstellungskonfiguration.

Sie können auch eine eigene benutzerdefinierte Canary- oder lineare Bereitstellungskonfiguration erstellen. Weitere Informationen finden Sie unter Create a Deployment Configuration.

Vordefinierte Bereitstellungskonfigurationen für eine Amazon ECS-Rechenplattform

In der folgenden Tabelle sind die vordefinierten Konfigurationen aufgeführt, die für Amazon ECS-Bereitstellungen verfügbar sind.

Anmerkung

Wenn Sie einen Network Load Balancer verwenden, wird nur die CodeDeployDefault.ECSAllAtOnce vordefinierte Bereitstellungskonfiguration unterstützt.

Bereitstellungskonfiguration Beschreibung

CodeDeployDefault.ecs Linear 10 1 Minuten PercentEvery

Verschiebt jede Minute 10 Prozent des Datenverkehrs, bis der gesamte Datenverkehr verschoben ist.

CodeDeployDefault.ecsLinear 10 3 Minuten PercentEvery

Verschiebt alle drei Minuten 10 Prozent des Datenverkehrs, bis der gesamte Datenverkehr verschoben ist.

CodeDeployDefault.eccanary 10 Prozent 5 Minuten

Verschiebt 10 Prozent des Datenverkehrs im ersten Inkrementschritt. Die restlichen 90 Prozent werden fünf Minuten später bereitgestellt.

CodeDeployDefault. eccanary10 Prozent 15 Minuten

Verschiebt 10 Prozent des Datenverkehrs im ersten Inkrementschritt. Die restlichen 90 Prozent werden 15 Minuten später bereitgestellt.

CodeDeployDefault.ECS AllAtOnce

Verschiebt den gesamten Datenverkehr auf einmal in den aktualisierten Amazon ECS-Container.

Bereitstellungskonfigurationen für AWS CloudFormation blaue/grüne Bereitstellungen (Amazon ECS)

Wenn Sie die Bereitstellung über AWS CloudFormation blaue/grüne Bereitstellungen auf einer Amazon ECS-Rechenplattform durchführen, gibt die Bereitstellungskonfiguration an, wie der Datenverkehr auf den aktualisierten Amazon ECS-Container verlagert wird. Sie können den Datenverkehr mithilfe einer kanarischen, linearen oder all-at-onceBereitstellungskonfiguration verlagern. Weitere Informationen finden Sie unter Bereitstellungskonfiguration.

Bei Bereitstellungen in AWS CloudFormation Blau/Grün können Sie keine eigene benutzerdefinierte kanarische oder lineare Bereitstellungskonfiguration erstellen. step-by-step Anweisungen AWS CloudFormation zur Verwaltung Ihrer Blue/Green-Bereitstellungen von Amazon ECS finden Sie unter Automatisieren von ECS-Blue/Green-Bereitstellungen CodeDeploy mithilfe AWS CloudFormation im Benutzerhandbuch.AWS CloudFormation

Anmerkung

Die Verwaltung von blauen/grünen Amazon ECS-Bereitstellungen mit AWS CloudFormation ist in den Regionen Europa (Mailand), Afrika (Kapstadt) und Asien-Pazifik (Osaka) nicht verfügbar.

Bereitstellungskonfigurationen auf einer Rechenplattform AWS Lambda

Wenn Sie auf einer AWS Lambda-Rechenplattform bereitstellen, gibt die Bereitstellungskonfiguration an, wie der Datenverkehr auf die neuen Lambda-Funktionsversionen in Ihrer Anwendung verlagert wird. Sie können den Datenverkehr mithilfe einer kanarischen, linearen oder all-at-onceBereitstellungskonfiguration verlagern. Weitere Informationen finden Sie unter Bereitstellungskonfiguration.

Sie können auch eine eigene benutzerdefinierte Canary- oder lineare Bereitstellungskonfiguration erstellen. Weitere Informationen finden Sie unter Create a Deployment Configuration.

Vordefinierte Bereitstellungskonfigurationen für eine AWS Lambda Rechenplattform

In der folgenden Tabelle sind die vordefinierten Konfigurationen für AWS Lambda -Bereitstellungen aufgelistet.

Bereitstellungskonfiguration Beschreibung

CodeDeployDefault. LambdaCanary10 Prozent 5 Minuten

Verschiebt 10 Prozent des Datenverkehrs im ersten Inkrementschritt. Die restlichen 90 Prozent werden fünf Minuten später bereitgestellt.

CodeDeployDefault. LambdaCanary10 Prozent 10 Minuten

Verschiebt 10 Prozent des Datenverkehrs im ersten Inkrementschritt. Die restlichen 90 Prozent werden 10 Minuten später bereitgestellt.

CodeDeployDefault. LambdaCanary10 Prozent 15 Minuten

Verschiebt 10 Prozent des Datenverkehrs im ersten Inkrementschritt. Die restlichen 90 Prozent werden 15 Minuten später bereitgestellt.

CodeDeployDefault. LambdaCanary10 Prozent 30 Minuten

Verschiebt 10 Prozent des Datenverkehrs im ersten Inkrementschritt. Die restlichen 90 Prozent werden 30 Minuten später bereitgestellt.

CodeDeployDefault. LambdaLinear10 PercentEvery 1 Minute

Verschiebt jede Minute 10 Prozent des Datenverkehrs, bis der gesamte Datenverkehr verschoben ist.

CodeDeployDefault. LambdaLinear10 PercentEvery 2 Minuten

Verschiebt alle zwei Minuten 10 Prozent des Datenverkehrs, bis der gesamte Datenverkehr verschoben ist.

CodeDeployDefault. LambdaLinear10 PercentEvery 3 Minuten

Verschiebt alle drei Minuten 10 Prozent des Datenverkehrs, bis der gesamte Datenverkehr verschoben ist.

CodeDeployDefault. LambdaLinear10 PercentEvery 10 Minuten Verschiebt alle 10 Minuten 10 Prozent des Datenverkehrs, bis der gesamte Datenverkehr verschoben ist.
CodeDeployDefault.LambdaAllAtOnce

Leitet den gesamten Datenverkehr auf einmal auf die aktualisierten Lambda-Funktionen um.

Topics