

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
<a name="deployment-lifecycle-hooks"></a>

Lorsqu'un déploiement démarre, il passe par différentes étapes du cycle de vie. Chaque étape peut être dans un état tel que `IN_PROGRESS` ou`SUCCEEDED`. Vous pouvez configurer les hooks du cycle de vie à des étapes spécifiques pour exécuter une logique personnalisée ou introduire des points de décision avant le début du 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` of `SUCCEEDED``FAILED`, ou `IN_PROGRESS` pour indiquer à Amazon ECS comment procéder. Vous pouvez utiliser ces hooks pour exécuter des tests de validation, appliquer des politiques de gouvernance ou mettre en œuvre 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](lambda-lifecycle-hooks.md).

Crochets de pause  
Amazon ECS suspend le déploiement à une étape du cycle de vie configurée et attend que vous appeliez l'`ContinueServiceDeployment`API pour poursuivre ou annuler. Pendant la pause, vous pouvez exécuter vos propres flux de travail en externe, tels que les approbations manuelles, les tests d'intégration avec les outils existants, les contrôles de préparation opérationnelle ou les étapes du CI/CD pipeline. Pour de plus amples informations, veuillez consulter [Suspendre les hooks pour les déploiements de services Amazon ECS](pause-lifecycle-hooks.md).

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

## Détails du cycle de vie des crochets
<a name="lifecycle-hook-details-overview"></a>

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


| Champ | Description | 
| --- | --- | 
| hookId | 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 la fonction Lambda ARN. 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 effectue lorsque le délai de connexion expire : ROLLBACK ouCONTINUE. | 

## Catégories d’étapes du cycle de vie
<a name="lifecycle-stage-categories"></a>

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

1. **Étapes d'appel 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`

1. **Étapes d'appel récurrentes** : Amazon ECS peut invoquer ces étapes à plusieurs reprises au cours du déploiement d'un service. Pour les déploiements linéaires et Canary, les étapes suivantes sont invoquées à chaque étape du transfert de trafic :
   + `PRE_PRODUCTION_TRAFFIC_SHIFT`
   + `PRODUCTION_TRAFFIC_SHIFT`

**Note**  
Les crochets de pause ne peuvent pas être configurés à `TEST_TRAFFIC_SHIFT` ou `PRODUCTION_TRAFFIC_SHIFT` parce que ces étapes sont également invoquées pendant le rollback. Une pause pendant une annulation nécessiterait un `ContinueServiceDeployment` appel supplémentaire pour terminer la restauration.

## Étapes prises en charge par type de crochet
<a name="lifecycle-hooks-supported-stages"></a>


| É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 | 