View a markdown version of this page

Lebenszyklus-Hooks für Amazon-ECS-Servicebereitstellungen - Amazon Elastic Container Service

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.

Lebenszyklus-Hooks für Amazon-ECS-Servicebereitstellungen

Wenn eine Bereitstellung beginnt, durchläuft sie Lebenszyklusphasen. Jede Phase kann sich in einem Zustand wie IN_PROGRESS oder SUCCEEDED befinden. Sie können Lifecycle-Hooks in bestimmten Phasen konfigurieren, um benutzerdefinierte Logik auszuführen oder Entscheidungspunkte einzuführen, bevor die Bereitstellung fortgesetzt wird. Amazon ECS unterstützt zwei Arten von Lifecycle-Hooks:

Lambda-Haken

Amazon ECS ruft in bestimmten Phasen einer Bereitstellung eine Lambda-Funktion auf. Ihre Funktion enthält Ihre benutzerdefinierte Logik und muss ein JSON-Objekt zurückgeben, das ein hookStatus vonSUCCEEDED, oder enthältFAILED, IN_PROGRESS um Amazon ECS mitzuteilen, wie vorzugehen ist. Sie können diese Hooks verwenden, um Validierungstests durchzuführen, Governance-Richtlinien durchzusetzen oder benutzerdefinierte Genehmigungsschritte zu implementieren, bevor die Bereitstellung fortgesetzt wird. Weitere Informationen finden Sie unter Lambda-Hooks für Amazon ECS-Servicebereitstellungen.

Hooks pausieren

Amazon ECS unterbricht die Bereitstellung in einer konfigurierten Lebenszyklusphase und wartet darauf, dass Sie die ContinueServiceDeployment API aufrufen, um fortzufahren oder ein Rollback durchzuführen. Während der Pause können Sie Ihre eigenen Workflows extern ausführen, z. B. manuelle Genehmigungen, Integrationstests mit vorhandenen Tools, Prüfungen der Betriebsbereitschaft oder Pipeline-Schritte. CI/CD Weitere Informationen finden Sie unter Hooks für Amazon ECS-Servicebereitstellungen pausieren.

Sie können sowohl Lambda-Hooks als auch Pause-Hooks in derselben Lebenszyklusphase konfigurieren. Beide Hooks müssen abgeschlossen sein, bevor die Bereitstellung zur nächsten Phase übergeht.

Einzelheiten zum Lebenszyklus-Hook

Wenn Hooks während einer Bereitstellung aktiv sind, können Sie ihren Status telefonisch einsehenDescribeServiceDeployments. Die Antwort enthält ein lifecycleHookDetails Array mit den folgenden Feldern für jeden aktiven Hook:

Feld Description
hookId Der eindeutige Bezeichner für diese Hook-Ausführung. Verwenden Sie diesen Wert, wenn Sie Pause-Hooks aufrufenContinueServiceDeployment.
targetType Der Hook-Typ: AWS_LAMBDA oderPAUSE.
targetArn Der ARN des Hook-Ziels. Für Lambda-Hooks ist dies die Lambda-Funktion ARN. Für Pause-Hooks ist dieses Feld nicht gesetzt.
status Der aktuelle Status des Hooks: AWAITING_ACTIONIN_PROGRESS,SUCCEEDED,FAILED, oderTIMED_OUT.
expiresAt Das Datum und die Uhrzeit, zu dem der Hook abläuft. (Beispiel: T12:06:49-07:00 2026-05-06)
timeoutAction Die Aktion, die Amazon ECS ergreift, wenn beim Hook eine Zeitüberschreitung eintritt: ROLLBACK oderCONTINUE.

Kategorien von Lebenszyklusphasen

Lebenszyklusphasen gliedern sich in zwei Kategorien:

  1. Einzelne Aufrufphasen — Amazon ECS ruft diese Phasen während einer Servicebereitstellung nur einmal auf:

    • RECONCILE_SERVICE

    • PRE_SCALE_UP

    • POST_SCALE_UP

    • TEST_TRAFFIC_SHIFT

    • POST_TEST_TRAFFIC_SHIFT

    • POST_PRODUCTION_TRAFFIC_SHIFT

  2. Wiederkehrende Aufrufphasen — Amazon ECS kann diese Phasen während einer Servicebereitstellung mehrmals aufrufen. Bei linearen und kanarischen Bereitstellungen werden diese Phasen bei jedem Schritt der Verkehrsverlagerung aufgerufen:

    • PRE_PRODUCTION_TRAFFIC_SHIFT

    • PRODUCTION_TRAFFIC_SHIFT

Anmerkung

Pause-Hooks können nicht bei TEST_TRAFFIC_SHIFT oder konfiguriert werdenPRODUCTION_TRAFFIC_SHIFT, weil diese Phasen auch während des Rollbacks aufgerufen werden. Das Anhalten während eines Rollbacks würde einen zusätzlichen ContinueServiceDeployment Aufruf erfordern, um das Rollback abzuschließen.

Unterstützte Stufen nach Hook-Typ

Phase des Lebenszyklus Lambda-Haken Hooks pausieren
RECONCILE_SERVICE Ja Ja
PRE_SCALE_UP Ja Ja
POST_SCALE_UP Ja Ja
TEST_TRAFFIC_SHIFT Ja Nein
POST_TEST_TRAFFIC_SHIFT Ja Ja
PRE_PRODUCTION_TRAFFIC_SHIFT Ja Ja
PRODUCTION_TRAFFIC_SHIFT Ja Nein
POST_PRODUCTION_TRAFFIC_SHIFT Ja Ja