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 d’être prêt à la mise hors service de tâche, effectuez les opérations suivantes :
-
Définissez le délai d'attente pour la suppression des tâches ou utilisez les fenêtres EC2 d'événements Amazon.
-
Capturez les notifications de mise hors service de tâche pour avertir les membres de l’équipe.
-
Vous pouvez vous assurer que toutes les tâches de vos services sont exécutées sur la dernière version de la plateforme en mettant à jour le service avec l'option de déploiement forcé. Cette étape est facultative.
Étape 1 : définir le temps d'attente des tâches ou utiliser les fenêtres d' EC2 événements Amazon
Vous disposez de deux options de paramètres de compte pour configurer l'heure à laquelle Fargate commence à supprimer des tâches : et. fargateTaskRetirementWaitPeriod fargateEventWindows
Utilisation des paramètres fargateTaskRetirement WaitPeriod du compte
Vous pouvez configurer l'heure à laquelle Fargate commence le retrait des tâches. Le délai d'attente par défaut est de 7 jours. Pour les charges de travail qui nécessitent l'application immédiate des mises à jour, choisissez le paramètre immédiat (0). Si vous avez besoin de plus de temps, configurez l'7option ou 14 day.
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. Il s’agit de l’option par défaut. -
14: AWS envoie la notification et attend 14 jours calendaires avant de commencer à retirer les tâches concernées.
Pour plus d'informations, consultez put-account-setting-defaultet consultez le put-account-settingmanuel Amazon Elastic Container Service API Reference.
Utilisation des paramètres fargateEventWindows du compte
Depuis le 18/12/2025, Amazon ECS vous permet de configurer les fenêtres d' EC2 événements Amazon pour vos tâches Fargate. Si vous avez besoin d'un contrôle précis sur le moment exact des interruptions de tâches, par exemple en les planifiant le week-end pour éviter toute interruption pendant les heures ouvrables, vous pouvez configurer les fenêtres d' EC2 événements Amazon pour vos tâches, services ou clusters.
Lorsque vous utilisez des fenêtres d'événements, Fargate veille à ce que vos tâches soient exécutées pendant au moins 3 jours avant d'être supprimées dans la prochaine fenêtre disponible, sauf si elles sont interrompues par des actions initiées par l'utilisateur ou par des événements de santé critiques tels que la dégradation du matériel sous-jacent.
Réglez le paramètre du compte fargateEventWindows sur enabled. Vous pouvez utiliser l'une des options suivantes APIs : put-account-setting-default ou put-account-setting en tant qu'utilisateur root ou en tant qu'utilisateur administratif.
Chaque fenêtre d' EC2 événements Amazon doit être ouverte au moins 4 heures par semaine, et chaque plage horaire doit être d'au moins 2 heures. Pour les clusters et les services de grande taille, nous recommandons de configurer des fenêtres d'événements de longue durée (8 heures ou plus) ou de plages de temps plus fréquentes qui se produisent au moins une fois tous les 3 jours. Vous pouvez consulter plus en détail les considérations relatives aux fenêtres d' EC2 événements Amazon dans le guide de l'utilisateur pour vous AWS Fargate assurer que vos tâches s'exécutent pendant au moins 3 jours avant d'être supprimées, sauf si elles sont interrompues par des actions initiées par l'utilisateur ou par des événements de santé critiques tels que la dégradation du matériel sous-jacent.
Important
Il est préférable de remplacer les tâches dans la fenêtre d'événements. Si vous remarquez que des tâches sont supprimées en dehors des fenêtres de vos événements, envisagez d'en prolonger la durée (8 heures ou plus) ou d'augmenter la fréquence (au moins une fois tous les 3 jours).
Pour appliquer les fenêtres d' EC2 événements Amazon à vos mises hors service de tâches Fargate :
-
Réglez le paramètre du compte
fargateEventWindowssurenabled. Vous pouvez utiliser l'une des options suivantes APIs :put-account-setting-defaultouput-account-settingen tant qu'utilisateur root ou en tant qu'utilisateur administratif. Notez qu'il s'agit d'une activation ponctuelle pour l'utilisation de la fonctionnalité Amazon EC2 Event Windows pour vos tâches Fargate. -
Créez une fenêtre d' EC2 événements Amazon via la console AWS ou l'interface de ligne de commande AWS. Pour créer une fenêtre d'événements à l'aide de la CLI, utilisez EC2
create-instance-event-windowl'API avec des plages de temps ou des expressions cron. Prenez note du contenuInstanceEventWindowIdde la réponse.aws ec2 create-instance-event-window \ --time-range StartWeekDay=monday,StartHour=2,EndWeekDay=wednesday,EndHour=8\ --tag-specifications "ResourceType=instance-event-window,Tags=[{Key=K1,Value=V1" \ --namemyEventWindowNameVous pouvez également utiliser des expressions cron lors de la création de fenêtres d' EC2 événements.
aws ec2 create-instance-event-window \ --cron-expression"* 21-23 * * 2,3"\ --tag-specifications "ResourceType=instance-event-window,Tags=[{Key=K1,Value=V1" \ --namemyEventWindowName - You can then associate the event window with specific services, clusters or all tasks in your account using EC2
associate-instance-event-windowAPI.-
For ECS service tasks
aws ec2 associate-instance-event-window \ --instance-event-window-idiew-0abcdef1234567890\ --association-target "InstanceTags=[{Key=aws:ecs:serviceArn,Value=your-service-arn}]" -
For ECS clusters
aws ec2 associate-instance-event-window \ --instance-event-window-idiew-0abcdef1234567890\ --association-target "InstanceTags=[{Key=aws:ecs:clusterArn,Value=your-cluster-arn}]" - To associate an event window with all tasks in the account
aws ec2 associate-instance-event-window \ --instance-event-window-idiew-0abcdef1234567890\ --association-target "InstanceTags=[{Key=aws:ecs:fargateTask,Value=true}]"
-
For ECS service tasks
Vous pouvez utiliser plusieurs paires clé-valeur pour associer une fenêtre d'événements à plusieurs services ou clusters.
Fargate choisira la fenêtre d'événements pour chaque tâche dans l'ordre suivant :
- If there is an event window associated with the task's service, it will be used. This is not applicable for standalone or unmanaged tasks.
- If there is an event window associated with the task's cluster, it will be used.
- If there is an event window set for all Fargate tasks, it will be used.
- The
fargateTaskRetirementWaitPeriodsetting will be used if none of the event windows match with the task.
Configuration des fenêtres d'événements pour la maintenance des tâches de Fargate
Prenons le cas où vous exécutez plusieurs services ECS sur Fargate avec des exigences de disponibilité différentes. Vous voulez avoir un contrôle précis sur les abandons de tâches. Vous pouvez configurer plusieurs fenêtres d'événements comme suit :
-
Maintenance par défaut pour toutes les tâches Fargate : créez une fenêtre d'événements pour la maintenance de routine pendant les heures creuses (de 12 h à 4 h du matin tous les jours) et associez-la à toutes les tâches Fargate à l'aide de la balise.
aws:ecs:fargateTask -
Maintenance du cluster de développement uniquement le week-end : pour un cluster de développement dont les services peuvent tolérer des interruptions le week-end, créez une fenêtre de week-end de 24 heures (samedi et dimanche, toute la journée) et associez-la au cluster à l'aide de la
aws:ecs:clusterArnbalise associée à l'ARN de votre cluster. -
Période restreinte pour les services critiques : pour un service de traitement des paiements essentiel nécessitant une disponibilité élevée en semaine, limitez la maintenance aux heures du week-end tôt le matin (samedi et dimanche, de minuit à 4 h) et associez-le au service spécifique en utilisant le tag associé à l'ARN de votre service.
aws:ecs:serviceArn
Avec cette configuration, le service de paiement utilise sa fenêtre spécifique réservée au week-end, les services et tâches du cluster de développement utilisent la fenêtre de 24 heures du week-end, et toutes les autres tâches Fargate utilisent la fenêtre de maintenance quotidienne par défaut.
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.
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
É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 —-serviceservice_name\ --clustercluster_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 .