Préparez-vous au retrait AWS 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 au retrait AWS des tâches Fargate sur Amazon ECS

Afin d’être prêt à la mise hors service de tâche, effectuez les opérations suivantes :

  1. Définissez la période d’attente pour la mise hors service de tâche.

  2. Capturez les notifications de mise hors service de tâche pour avertir les membres de l’équipe.

  3. Vous ne pouvez pas contrôler le moment exact de la mise hors service 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 de la tâche

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 racine ou utilisateur administratif. 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 valeur 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 : capturer les notifications de mise hors service de tâche 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 mise hors service de tâche vers une application de chat, telle que Slack.

L’illustration suivante présente une vue d’ensemble de la solution.

Schéma illustrant la solution Fargate permettant de capturer les notifications de mise hors service de tâche Fargate.

Les informations suivantes fournissent des détails.

  • Fargate envoie la notification de mise hors service 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 de la mise hors service 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 mise hors service d’une tâche afin de comprendre d’abord la date de mise hors service de la tâche. 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 continu, vous devez mettre à jour le service à l’aide de update-service avec l’option force-deployment avant l’heure de début de la mise hors service.

L’exemple suivant update-service utilise l’option force-deployment.

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

Pour les services qui utilisent le blue/green déploiement, vous devez créer un nouveau déploiement dans AWS CodeDeploy. Pour plus d’informations sur la façon de créer le déploiement, consultez la section create-deployment dans la Référence AWS Command Line Interface .