View a markdown version of this page

Hooks de cycle de vie pour les déploiements de service Amazon ECS - Amazon Elastic Container Service

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Hooks de cycle de vie pour les déploiements de service Amazon ECS

Lorsqu'un déploiement démarre, il passe par les différentes étapes de son cycle de vie. Chaque étape peut être dans un état tel que IN_PROGRESS ouSUCCEEDED. Vous pouvez configurer des hooks de cycle de vie à des étapes spécifiques pour exécuter une logique personnalisée ou introduire des points de décision avant le déploiement. Amazon ECS prend en charge deux types de hooks de cycle de vie :

Crochets Lambda

Amazon ECS invoque une fonction Lambda à des étapes spécifiques d'un déploiement. Votre fonction contient votre logique personnalisée et doit renvoyer un objet JSON contenant un hookStatus signe de SUCCEEDEDFAILED, ou IN_PROGRESS pour indiquer à Amazon ECS comment procéder. Vous pouvez utiliser ces crochets pour exécuter des tests de validation, appliquer des politiques de gouvernance ou implémenter des étapes d'approbation personnalisées avant le déploiement. Pour de plus amples informations, veuillez consulter Hooks Lambda pour les déploiements de services Amazon ECS.

Crochets de pause

Amazon ECS interrompt le déploiement à une étape du cycle de vie configurée et attend que vous appeliez l'ContinueServiceDeploymentAPI pour continuer ou revenir en arrière. Pendant la pause, vous pouvez exécuter vos propres flux de travail en externe, tels que des approbations manuelles, des tests d'intégration avec des outils existants, des contrôles de préparation opérationnelle ou des étapes du CI/CD pipeline. Pour de plus amples informations, veuillez consulter Suspendre les hooks pour les déploiements de services Amazon ECS.

Vous pouvez configurer les hooks Lambda et les hooks pause au même stade du cycle de vie. Les deux hooks doivent être terminés avant que le déploiement ne passe à l'étape suivante.

Détails du cycle de vie des crochets

Lorsque les hooks sont actifs pendant un déploiement, vous pouvez consulter leur statut en appelantDescribeServiceDeployments. La réponse inclut un lifecycleHookDetails tableau contenant les champs suivants pour chaque hook actif :

Champ Description
hookId L'identifiant unique pour l'exécution de ce hook. Utilisez cette valeur lorsque vous appelez ContinueServiceDeployment des crochets de pause.
targetType Type de crochet : AWS_LAMBDA ouPAUSE.
targetArn L'ARN de la cible du hook. Pour les hooks Lambda, il s'agit de l'ARN de la fonction Lambda. Pour les crochets de pause, ce champ n'est pas défini.
status État actuel du hook :AWAITING_ACTION,IN_PROGRESS, SUCCEEDEDFAILED, ouTIMED_OUT.
expiresAt Date et heure d'expiration du hook. (Exemple : T12:06:49-07:00 2026-05-06)
timeoutAction L'action qu'Amazon ECS entreprend lorsque le hook expire : ROLLBACK ouCONTINUE.

Catégories d’étapes du cycle de vie

Les étapes du cycle de vie entrent dans deux catégories principales :

  1. Étapes d'invocation uniques  : Amazon ECS n'invoque ces étapes qu'une seule fois lors du déploiement d'un service :

    • RECONCILE_SERVICE

    • PRE_SCALE_UP

    • POST_SCALE_UP

    • TEST_TRAFFIC_SHIFT

    • POST_TEST_TRAFFIC_SHIFT

    • POST_PRODUCTION_TRAFFIC_SHIFT

  2. Étapes d'appel récurrentes  : Amazon ECS peut invoquer ces étapes plusieurs fois au cours du déploiement d'un service. Pour les déploiements linéaires et canaris, ces étapes sont invoquées à chaque étape de transfert de trafic :

    • PRE_PRODUCTION_TRAFFIC_SHIFT

    • PRODUCTION_TRAFFIC_SHIFT

Note

Les hooks de pause ne peuvent pas être configurés pendant TEST_TRAFFIC_SHIFT ou PRODUCTION_TRAFFIC_SHIFT parce que ces étapes sont également invoquées lors de la restauration. Une pause pendant une restauration nécessiterait un ContinueServiceDeployment appel supplémentaire pour terminer la restauration.

Étapes prises en charge par type de crochet

Étape du cycle de vie Crochets Lambda Crochets de pause
RECONCILE_SERVICE Oui Oui
PRE_SCALE_UP Oui Oui
POST_SCALE_UP Oui Oui
TEST_TRAFFIC_SHIFT Oui Non
POST_TEST_TRAFFIC_SHIFT Oui Oui
PRE_PRODUCTION_TRAFFIC_SHIFT Oui Oui
PRODUCTION_TRAFFIC_SHIFT Oui Non
POST_PRODUCTION_TRAFFIC_SHIFT Oui Oui