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 à quel moment 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 la retraite des tâches. AWS envoie une notification de retrait de tâche lorsqu'une révision de version de plateforme est supprimé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, telles que les tâches planifiées (lancé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 les supprimer, sauf si vous souhaitez remplacer ces tâches au AWS préalable. 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, lorsqu'il AWS Fargate commence à retirer des tâches, Amazon ECS planifie d'abord une nouvelle tâche, puis attend qu'elle soit exécutée avant de retirer 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 d'une tâche autonome, 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

Lorsqu' AWS une révision de version de plate-forme doit être supprimée, nous identifions toutes les tâches en cours d'exécution sur cette révision de version de plate-forme dans toutes les régions. Nous envoyons ensuite une notification par compte et par région, mettant en évidence les tâches ou services concernés et indiquant la date à laquelle les mises hors service commenceront à avoir lieu.

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 retrait de tâches sont envoyées via le tableau de AWS Health 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, IDs les tâches.

  • Pour les tâches de service, l'ID du cluster sur lequel le service s'exécute et IDs celui 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 AWS Health Dashboard

    AWS Health les notifications peuvent être envoyées via Amazon EventBridge vers un système de 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 vers 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-mails

    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 au retrait AWS des tâches Fargate sur Amazon ECS .

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 automatiquement appliquées par les clients AWS et ne peuvent pas s'y opposer. Il s'agit d'un avantage clé de l'utilisation d'une AWS Fargate par rapport à l'exécution de vos charges de travail sur EC2 des instances, la responsabilité de la maintenance de la plate-forme sous-jacente étant prise en charge 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 vous êtes en mesure de maintenir l' up-to-dateenvironnement Fargate et de le sécuriser, sans qu'aucune action ne soit requise 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 retrait de tâches par le biais d'autres AWS services ?

AWS envoie une notification de retrait de tâche au AWS Health Dashboard et au contact e-mail principal sur le Compte AWS. AWS Health Dashboard 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 pour la mise hors service 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. La modification apportée à cette configuration s’applique aux mises hors service qui seront planifiées dans le futur. Les mises hors service prévues actuellement ne sont pas concernées. 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, il n'est pas nécessaire de prendre des mesures en réponse à la suppression des tâches, sauf si vous souhaitez remplacer ces tâches au AWS préalable. 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 la valeur minimumHealthyPercent à 100 %. 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 au retrait AWS des tâches Fargate sur Amazon ECS .

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

Non. AWS ne peut pas créer de tâche de remplacement pour les tâches autonomes démarrées par RunTask des tâches planifiées (par exemple via le EventBridge planificateur) ou. AWS Batch 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 indicateurs Amazon pour vous assurer que les tâches de remplacement sont lancées avec succès lors des événements de mise hors service.