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
hookStatussigne deSUCCEEDEDFAILED, ouIN_PROGRESSpour 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 :
-
Étapes d'invocation uniques : Amazon ECS n'invoque ces étapes qu'une seule fois lors du déploiement d'un service :
RECONCILE_SERVICEPRE_SCALE_UPPOST_SCALE_UPTEST_TRAFFIC_SHIFTPOST_TEST_TRAFFIC_SHIFTPOST_PRODUCTION_TRAFFIC_SHIFT
-
É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_SHIFTPRODUCTION_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 |