View a markdown version of this page

Retrait et maintenance des tâches pour AWS 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.

Retrait et maintenance des tâches pour AWS Fargate sur Amazon ECS

AWS est responsable de la maintenance de l'infrastructure sous-jacente de AWS Fargate. AWS détermine quand une révision de version de plate-forme doit être remplacée par une nouvelle révision de l'infrastructure. C'est ce que l'on appelle le retrait des tâches. AWS envoie une notification de retrait de tâche lorsqu'une révision de version de plate-forme est retirée. Nous mettons régulièrement à jour les versions de nos plateformes prises en charge pour introduire une nouvelle révision contenant des mises à jour du logiciel d’exécution Fargate et des dépendances sous-jacentes telles que le système d’exploitation et l’environnement d’exécution du conteneur. Une fois qu’une nouvelle version est disponible, nous mettons hors service l’ancienne version afin de garantir que toutes les charges de travail des clients s’exécutent sur la version la plus récente de la version de plateforme Fargate. Lorsqu'une révision est retirée, toutes les tâches exécutées sur cette révision sont arrêtées.

Les tâches Amazon ECS peuvent être classées en tant que tâches de service ou tâches autonomes. Les tâches de service sont déployées dans le cadre d’un service et planifiées par le planificateur Amazon ECS. Pour de plus amples informations, veuillez consulter Services Amazon ECS. Les tâches autonomes sont des tâches démarrées par l'RunTaskAPI Amazon ECS, soit directement, soit par un planificateur externe, comme les tâches planifiées (qui sont démarrées par Amazon EventBridge) AWS Batch, ou AWS Step Functions. Aucune action n’est requise de votre part en réponse à la mise hors service de vos tâches de service, car le planificateur Amazon ECS remplace automatiquement les tâches.

Pour les tâches autonomes, il se peut que vous deviez effectuer une manipulation supplémentaire en réponse à la mise hors service des tâches. Pour de plus amples informations, veuillez consulter Amazon ECS peut-il gérer automatiquement des tâches autonomes ?.

Pour les tâches de service, il n'est pas nécessaire de prendre des mesures pour supprimer les tâches, sauf si vous souhaitez les remplacer auparavant AWS . Lorsque le planificateur Amazon ECS arrête les tâches, il utilise le paramètre maximumPercent et lance une nouvelle tâche afin de maintenir le nombre souhaité pour le service. Suivez les pratiques exemplaires pour minimiser l’impact de la mise hors service des tâches. La valeur par défaut du paramètre maximumPercent pour un service utilisant le planificateur de service RÉPLICA est de 200 %. Par conséquent, lorsque AWS Fargate commence à supprimer des tâches, Amazon ECS planifie d'abord une nouvelle tâche, puis attend qu'elle soit exécutée, avant de supprimer une ancienne tâche. Lorsque vous définissez la valeur de maximumPercent sur 100 %, Amazon ECS arrête d’abord la tâche, puis la remplace.

Pour le retrait autonome des tâches, AWS arrête la tâche à la date de retrait de la tâche ou après cette date. Amazon ECS ne lance pas de tâche de remplacement lorsqu’une tâche est arrêtée. Si vous souhaitez que ces tâches continuent de s’exécuter, vous devez arrêter les tâches en cours d’exécution et lancer une tâche de remplacement avant l’heure indiquée dans la notification. Nous recommandons donc aux clients de surveiller l'état des tâches autonomes et, si nécessaire, d'implémenter une logique pour remplacer les tâches interrompues.

Lorsqu'une tâche est arrêtée dans l'un des scénarios ci-dessus, vous pouvez exécuter describe-tasks. La stoppedReason de la réponse est ECS is performing maintenance on the underlying infrastructure hosting the task.

La maintenance des tâches s’applique lorsqu’une nouvelle version de plateforme doit être remplacée par une nouvelle révision. En cas de problème avec un hôte Fargate sous-jacent, Amazon ECS remplace l’hôte sans préavis de mise hors service de tâche.

Aperçu des avis de mise hors service de tâches

Lorsque nous AWS marquons une révision de version de plate-forme comme devant être supprimée, nous identifions toutes les tâches qui s'exécutent sur cette révision de version de plate-forme dans toutes les régions.

L’illustration suivante montre le cycle de vie d’une révision de version de plateforme Fargate, depuis le lancement d’une nouvelle révision à la mise hors service de la révision de plateforme.

Diagramme illustrant le cycle de vie de la mise hors service des tâches Fargate.

Les informations suivantes fournissent des détails.

  • Après le lancement d’une nouvelle révision de la version de plateforme, toutes les nouvelles tâches sont planifiées sur cette révision.

  • Les tâches existantes qui ont été planifiées et exécutées restent dans la version dans laquelle elles ont été initialement placées pendant toute la durée de la tâche et ne sont pas migrées vers la nouvelle révision.

  • Les nouvelles tâches, par exemple dans le cadre d’une mise à jour d’un service ou de la mise hors service d’une tâche Fargate, sont placées sur la dernière version de plateforme disponible au moment du lancement.

Les notifications de suppression de tâches sont envoyées via le AWS Health tableau de bord ainsi que par e-mail à l'adresse e-mail enregistrée et incluent les informations suivantes :

  • Date de retrait de la tâche : la tâche est arrêtée à cette date ou après.

  • Pour les tâches autonomes, les ID des tâches.

  • Pour les tâches de service, l'ID du cluster sur lequel le service s'exécute et les ID du service.

  • Les prochaines étapes que vous devez suivre.

En règle générale, nous envoyons une notification pour chaque tâche de service et chaque tâche autonome dans chaque Région AWS. Toutefois, dans certains cas, vous pouvez recevoir plusieurs événements pour chaque type de tâche, par exemple lorsqu’un trop grand nombre de tâches dépassent les limites fixées par nos mécanismes de notification pour être mises hors service.

Vous pouvez identifier les tâches planifiées pour le retrait en procédant ainsi :

  • Le Tableau de bord Health

    AWS Health les notifications peuvent être envoyées via Amazon EventBridge vers un stockage d'archives tel qu'Amazon Simple Storage Service, effectuer des actions automatisées telles que l'exécution d'une AWS Lambda fonction ou d'autres systèmes de notification tels qu'Amazon Simple Notification Service. Pour plus d'informations, consultez la section Surveillance AWS Health des événements avec Amazon EventBridge. Pour un exemple de configuration permettant d'envoyer des notifications à Amazon Chime, Slack ou Microsoft Teams, consultez le référentiel AWS Health Aware sur. GitHub

    Voici un exemple d' EventBridge événement.

    { "version": "0", "id": "3c268027-f43c-0171-7425-1d799EXAMPLE", "detail-type": "AWS Health Event", "source": "aws.health", "account": "123456789012", "time": "2023-08-16T23:18:51Z", "region": "us-east-1", "resources": [ "cluster|service", "cluster|service" ], "detail": { "eventArn": "arn:aws:health:us-east-1::event/ECS/AWS_ECS_TASK_PATCHING_RETIREMENT/AWS_ECS_TASK_PATCHING_RETIREMENT_test1", "service": "ECS", "eventScopeCode": "ACCOUNT_SPECIFIC", "communicationId": "7988399e2e6fb0b905ddc88e0e2de1fd17e4c9fa60349577446d95a18EXAMPLE", "lastUpdatedTime": "Wed, 16 Aug 2023 23:18:52 GMT", "eventRegion": "us-east-1", "eventTypeCode": "AWS_ECS_TASK_PATCHING_RETIREMENT", "eventTypeCategory": "scheduledChange", "startTime": "Wed, 16 Aug 2023 23:18:51 GMT", "endTime": "Fri, 18 Aug 2023 23:18:51 GMT", "eventDescription": [ { "language": "en_US", "latestDescription": "\\nA software update has been deployed to Fargate which includes CVE patches or other critical patches. No action is required on your part. All new tasks launched automatically uses the latest software version. For existing tasks, your tasks need to be restarted in order for these updates to apply. Your tasks running as part of the following ECS Services will be automatically updated beginning Wed, 16 Aug 2023 23:18:51 GMT.\\n\\nAfter Wed, 16 Aug 2023 23:18:51 GMT, the ECS scheduler will gradually replace these tasks, respecting the deployment settings for your service. Typically, services should see little to no interruption during the update and no action is required. When AWS stops tasks, AWS uses the minimum healthy percent (1) and launches a new task in an attempt to maintain the desired count for the service. By default, the minimum healthy percent of a service is 100 percent, so a new task is started first before a task is stopped. Service tasks are routinely replaced in the same way when you scale the service or deploy configuration changes or deploy task definition revisions. If you would like to control the timing of this restart you can update the service before Wed, 16 Aug 2023 23:18:51 GMT, by running the update-service command from the ECS command-line interface specifying force-new-deployment for services using Rolling update deployment type. For example:\\n\\n$ aws ecs update-service -service service_name \\\n--cluster cluster_name -force-new-deployment\\n\\nFor services using Blue/Green deployment type with AWS CodeDeploy:\\nPlease refer to create-deployment document (2) and create new deployment using same task definition revision.\\n\\nFor further details on ECS deployment types, please refer to ECS Deployment Developer Guide (1).\\nFor further details on Fargate's update process, please refer to the AWS Fargate User Guide (3).\\nIf you have any questions or concerns, please contact AWS Support (4).\\n\\n(1) https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-types.html\\n(2) https://docs.aws.amazon.com/cli/latest/reference/deploy/create-deployment.html\\n(3) https://docs.aws.amazon.com/AmazonECS/latest/userguide/task-maintenance.html\\n(4) https://aws.amazon.com/support\\n\\nA list of your affected resources(s) can be found in the 'Affected resources' tab in the 'Cluster/ Service' format in the AWS Health Dashboard. \\n\\n" } ], "affectedEntities": [ { "entityValue": "arn:aws:ecs:eu-west-1:111222333444:task/examplecluster/00805ce1d81940b5a37398e5a2c23333" }, { "entityValue": "arn:aws:ecs:eu-west-1:111222333444:task/examplecluster/00805ce1d81940b5a37398e5a2c25555" } } ] } }
  • E-mail

    Un e-mail est envoyé à l'adresse e-mail enregistrée pour l' Compte AWS identifiant.

Pour plus d’informations sur la manière de préparer la mise hors service d’une tâche, consultez la sectionPréparez-vous pour AWS Retrait des tâches Fargate sur Amazon ECS.

État de la ressource affectée dans un avis de retrait de tâche

Chaque ressource affectée répertoriée dans un avis de retrait de tâche possède un statut qui indique si cette tâche attend toujours d'être supprimée. Lorsque la suppression d'une tâche est en attente, son statut est Altéré. Cela indique que la tâche est toujours en cours d'exécution sur la révision de la version de la plateforme dont la mise hors service est prévue.

Lorsqu'une tâche cesse de s'exécuter, son statut passe automatiquement à Résolu, généralement dans les 24 heures. Cela s'applique que vous ayez AWS retiré la tâche dans le cadre de la maintenance des tâches ou que vous l'ayez arrêtée ou remplacée vous-même avant le retrait planifié. Une fois que toutes les ressources concernées dans un avis sont résolues, AWS ferme l'avis de retrait.

Puis-je refuser la mise hors service d’une tâche ?

Non. Dans le cadre du modèle de responsabilité AWS partagée, AWS est responsable de la gestion et de la maintenance de l'infrastructure sous-jacente pour AWS Fargate. Cela inclut l’exécution de mises à jour périodiques de la plateforme pour garantir la sécurité et la stabilité. Ces mises à jour sont appliquées automatiquement AWS et les clients ne peuvent pas se désinscrire. Il s'agit d'un avantage clé de l'utilisation d'un AWS Fargate par rapport à l'exécution de vos charges de travail sur des instances EC2, la responsabilité de la maintenance de la plate-forme sous-jacente est assurée par. AWS Ce modèle vous permet de vous concentrer sur vos applications plutôt que sur la maintenance de l’infrastructure. En appliquant automatiquement ces mises à jour de la plateforme, AWS il est en mesure de maintenir l'environnement Fargate à jour et sécurisé, sans aucune action de votre part en tant que client. Cela permet de fournir un environnement conteneurisé fiable et sécurisé pour exécuter vos charges de travail sur Fargate.

Puis-je recevoir des notifications de suppression de tâches par le biais d'autres AWS des services ?

AWS envoie une notification de suppression de tâche au Tableau de bord Health et au contact e-mail principal sur le Compte AWS. Tableau de bord Health Il fournit un certain nombre d'intégrations dans d'autres AWS services, notamment EventBridge. Vous pouvez l'utiliser EventBridge pour automatiser la visibilité des notifications (par exemple, transférer le message vers un ChatOps outil). Pour plus d’informations, consultez la section Présentation de la solution : capture des notifications de mise hors service de tâches.

Puis-je modifier la mise hors service d’une tâche une fois qu’elle a été planifiée ?

Non. Le calendrier est basé sur le temps d'attente de retrait des tâches, qui est par défaut de 7 jours. Si vous avez besoin de plus de temps, vous pouvez choisir de configurer le délai d’attente à 14 jours. Pour de plus amples informations, veuillez consulter Étape 2 : capturer les notifications de mise hors service de tâche pour alerter les équipes et prendre des mesures.

À compter de 12/18 2025, Amazon ECS vous permet de configurer les fenêtres d'événements Amazon EC2 pour vos tâches Fargate. Si vous avez besoin d'un contrôle précis sur le calendrier exact des abandons de tâches, par exemple en les planifiant le week-end pour éviter toute interruption pendant les heures de bureau, vous pouvez configurer des fenêtres d'événements Amazon EC2 pour vos tâches, services ou clusters, voir. Étape 1 : définissez le temps d'attente de la tâche ou utilisez les fenêtres d'événements Amazon EC2 Notez que la modification de cette configuration s'applique aux départs à la retraite qui seront planifiés dans le futur. Les mises hors service prévues actuellement ne sont pas concernées. En outre, lorsque vous configurez une fenêtre d'événements Amazon EC2 pour vos tâches Fargate, elle a priorité sur la configuration du temps d'attente de retrait de vos tâches. Si vous avez d'autres préoccupations, contactez Support.

Comment Amazon ECS gère-t-il les tâches faisant partie d’un service ?

Pour les tâches de service, vous n'avez aucune action à entreprendre en réponse à la suppression d'une tâche, à moins que vous ne souhaitiez remplacer ces tâches avant de AWS le faire. Lorsque le planificateur Amazon ECS arrête les tâches, il utilise le pourcentage minimum sain et lance une nouvelle tâche afin de maintenir le nombre souhaité pour le service. Afin de minimiser l’impact de la mise hors service des tâches Fargate, les charges de travail doivent être déployées conformément aux pratiques exemplaires Amazon ECS. Par exemple, lors du déploiement d'une application sans état en tant que service Amazon ECS, tel qu'un serveur Web ou API, les clients doivent déployer plusieurs répliques de tâches et définir le minimum sur 100 %HealthyPercent . La valeur par défaut pour le pourcentage minimum sain est 100 %. Par conséquent, lorsque Fargate commence à mettre des tâches hors service, Amazon ECS planifie d’abord une nouvelle tâche et attend qu’elle soit exécutée, avant de mettre une ancienne tâche hors service. Les tâches de service sont systématiquement remplacées dans le cadre de la mise hors service des tâches, de la même manière que lorsque vous adaptez le service, déployez des modifications de configuration ou déployez des révisions de définition de tâches. Pour plus d’informations sur la mise hors service d’une définition de tâche, consultez la section Préparez-vous pour AWS Retrait des tâches Fargate sur Amazon ECS.

Amazon ECS peut-il gérer automatiquement des tâches autonomes ?

Non. AWS impossible de créer une tâche de remplacement pour les tâches autonomes qui sont démarrées par RunTask des tâches planifiées (par exemple via EventBridge Scheduler) AWS Batch, ou AWS Step Functions. Amazon ECS ne gère que les tâches faisant partie d’un service.

Résolution des problèmes de disponibilité du service pendant la mise hors service d’une tâche

Si Amazon ECS ne peut pas démarrer une tâche de remplacement pendant la mise hors service d’une tâche, la disponibilité de votre service peut être affectée. Cela peut être dû à une configuration client incorrecte, telle que :

  • Rôles IAM manquants ou configurés de façon incorrecte

  • Capacité insuffisante dans les sous-réseaux cibles

  • Mauvaises configurations des groupes de sécurité

  • Erreurs de définition des tâches

Lorsqu’Amazon ECS ne peut pas lancer de tâches de remplacement, les tâches mises hors service sont arrêtées sans remplacement, ce qui réduit la capacité disponible de votre service et peut entraîner une interruption du service. Surveillez le nombre de tâches de votre service et les CloudWatch statistiques Amazon pour vous assurer que les tâches de remplacement sont lancées avec succès lors des événements de retrait.