Préparez-vous à la AWS suppression des tâches Fargate sur 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.

Préparez-vous à la AWS suppression des tâches Fargate sur Amazon ECS

Afin de préparer le retrait des tâches, effectuez les opérations suivantes :

  1. Définissez la période d'attente pour la mise hors service des tâches.

  2. Capturez les notifications de retrait des tâches pour avertir les membres de l'équipe.

  3. Vous ne pouvez pas contrôler le moment exact du retrait d'une tâche, mais vous pouvez contrôler le remplacement des tâches en mettant à jour le service avec l'option de déploiement forcé.

Étape 1 : définir le temps d'attente des tâches

Vous pouvez configurer l'heure à laquelle Fargate commence le retrait des tâches. Pour les charges de travail qui nécessitent l'application immédiate des mises à jour, choisissez le paramètre immédiat (0). Lorsque vous avez besoin de davantage de contrôle, par exemple lorsqu'une tâche ne peut être arrêtée que pendant une certaine période, configurez l'option 7 jours (7) ou 14 jours (14).

Nous vous recommandons de choisir une période d'attente plus courte afin de pouvoir accéder plus rapidement aux nouvelles versions de plateforme.

Configurez la période d'attente en exécutant put-account-setting-default ou put-account-setting en tant qu'utilisateur root ou administrateur. Utilisez l'option fargateTaskRetirementWaitPeriod pour le name et l'option value définie sur l'une des valeurs suivantes :

  • 0- AWS envoie la notification et commence immédiatement à supprimer les tâches concernées.

  • 7- AWS envoie la notification et attend 7 jours calendaires avant de commencer à supprimer les tâches concernées.

  • 14 : AWS envoie la notification et attend 14 jours calendaires avant de commencer à retirer les tâches concernées.

La durée par défaut est de 7 jours.

Pour plus d'informations, consultez put-account-setting-defaultet consultez le put-account-settingmanuel Amazon Elastic Container Service API Reference.

Étape 2 : Capturez les notifications de retrait des tâches pour alerter les équipes et prendre des mesures

En cas de retrait imminent d'une tâche, AWS envoie une notification de retrait de tâche au AWS Health tableau de bord et au contact e-mail principal sur le Compte AWS. Le AWS Health tableau de bord propose un certain nombre d'intégrations dans d'autres AWS services, notamment Amazon EventBridge. Vous pouvez l'utiliser EventBridge pour créer des automatisations à partir d'une notification de retrait de tâche, par exemple en augmentant la visibilité du prochain retrait en transférant le message vers un ChatOps outil. AWS Health Aware est une ressource qui montre la puissance du AWS Health tableau de bord et montre comment les notifications peuvent être distribuées au sein d'une organisation. Vous pouvez transférer une notification de retrait de tâche vers une application de chat, telle que Slack.

L'illustration suivante montre la présentation de la solution.

Schéma illustrant la solution Fargate pour capturer les avis de retrait des tâches Fargate.

Les informations suivantes fournissent des informations détaillées.

  • Fargate envoie la notification de retrait de la tâche au tableau de bord. AWS Health

  • Le AWS Health tableau de bord envoie un e-mail au contact e-mail principal sur le Compte AWS, et le notifie EventBridge.

  • EventBridge possède une règle qui capture la notification de départ à la retraite.

    La règle qui recherche les événements avec le type de détail de l'événement : "AWS Health Event" and the Event Detail Type Code: "AWS_ECS_TASK_PATCHING_RETIREMENT"

  • La règle déclenche une fonction Lambda qui transmet les informations à Slack à l'aide d'un webhook entrant Slack. Pour plus d'informations, consultez la section Webhooks entrants.

Pour un exemple de code, consultez Capture des notifications de retrait de AWS Fargate tâches sur Github.

Étape 3 : Contrôler le remplacement des tâches

Vous ne pouvez pas contrôler le moment exact du retrait d'une tâche, mais vous pouvez définir un temps d'attente. Si vous souhaitez contrôler le remplacement des tâches selon votre propre calendrier, vous pouvez enregistrer l'avis de retrait des tâches afin de comprendre d'abord la date de fin des tâches. Vous pouvez ensuite redéployer votre service pour lancer des tâches de remplacement, ainsi que pour remplacer toutes les tâches autonomes. Pour les services utilisant un déploiement progressif, vous devez mettre à jour le service à l'aide update-service de l'force-deploymentoption avant l'heure de début de la mise hors service.

L'update-serviceexemple suivant utilise l'force-deploymentoption.

aws ecs update-service —-service service_name \ --cluster cluster_name \ --force-new-deployment

Pour les services qui utilisent le déploiement bleu/vert, vous devez créer un nouveau déploiement dans. AWS CodeDeployPour plus d'informations sur la façon de créer le déploiement, voir create-deployment dans la AWS Command Line Interface référence.