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 le runtime du conteneur. Dès qu'une nouvelle révision est disponible, nous retirons l'ancienne version afin de garantir que toutes les charges de travail des clients soient exécutées sur la version la plus récente de la version de la plateforme Fargate. Lorsqu'une révision est retirée, toutes les tâches exécutées sur cette révision sont arrêtées.

ECSLes tâches Amazon peuvent être classées en tâches de service ou en tâches autonomes. Les tâches de service sont déployées dans le cadre d'un service et contrôlées par le ECS calendrier Amazon. Pour de plus amples informations, veuillez consulter ECSServices Amazon. Les tâches autonomes sont des tâches lancées par Amazon ECS RunTaskAPI, 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 Vous n'avez aucune action à effectuer en réponse au retrait de tâches pour vos tâches de service, car le ECS planificateur Amazon 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 suppression des tâches. Pour plus d’informations, consultez Amazon peut-il gérer ECS 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 ECS planificateur Amazon arrête les tâches, il utilise le pourcentage sain minimum et lance une nouvelle tâche afin de maintenir le nombre souhaité pour le service. Pour minimiser l'impact de la suppression des tâches AWS Fargate, vous devez suivre les meilleures pratiques d'ECSAmazon lorsque vous déployez des charges de travail. Par exemple, lorsque vous déployez une application sans état en tant que service, telle qu'un site Web ou un API serveur, vous devez déployer plusieurs répliques de tâches et définir la minimumHealthyPercent valeur sur 100 %. Par défaut, le pourcentage de santé minimum d'un service est de 100 %. Par conséquent, lorsqu'Amazon AWS Fargate commence à retirer des tâches, Amazon planifie d'ECSabord une nouvelle tâche, puis attend qu'elle soit exécutée avant de retirer une ancienne tâche. Dans le cadre du retrait des tâches, les tâches de service sont régulièrement remplacées de la même manière lorsque vous adaptez le service, déployez des modifications de configuration ou déployez des révisions de définition de tâches. Afin de vous préparer au nouveau processus de retrait de tâche, nous vous recommandons de tester le comportement de votre application en simulant ce scénario. Pour ce faire, arrêtez une tâche dans votre service pour tester sa résilience.

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 la plateforme doit être remplacée par une nouvelle révision. En cas de problème avec un hôte Fargate sous-jacent, ECS Amazon remplace l'hôte sans préavis de retrait de tâche.

Aperçu de l'avis de retrait des 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 départs à la retraite commenceront à avoir lieu.

L'illustration suivante montre le cycle de vie d'une révision de version de la plateforme Fargate, depuis le lancement d'une nouvelle révision jusqu'au retrait de la révision de la plate-forme.

Schéma illustrant le cycle de vie de mise hors service des tâches de Fargate.

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

  • Après le lancement d'une nouvelle révision de la version de la 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 suppression de tâches Fargate, sont placées sur la dernière version de la 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 service et une notification pour les tâches autonomes. 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 supprimées.

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": "cluster|service" }, { "entityValue": "cluster|service" } ] } }
  • E-mails

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

Pour plus d'informations sur la façon de se préparer à la mise hors service des tâches, consultezPréparez-vous à la AWS suppression des tâches de Fargate sur Amazon ECS.

Puis-je me désinscrire de la mise hors service des tâches ?

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 soustraire. 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 garantir la sécurité de up-to-date l'environnement Fargate, 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 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, voir Présentation de la solution : capture des notifications de retrait de tâches.

Puis-je modifier le retrait d'une tâche une fois qu'il a été planifié ?

Non. Le calendrier est basé sur le temps d'attente pour la fin 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 : Capturez les notifications de retrait des tâches pour alerter les équipes et prendre des mesures. La modification apportée à cette configuration s'applique aux mises à la retraite qui seront planifiées dans le futur. Les départs à la retraite prévus actuellement ne sont pas concernés. Si vous avez d'autres préoccupations, contactez AWS Support.

Comment Amazon ECS gère-t-il les tâches qui font 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 ECS planificateur Amazon arrête les tâches, il utilise le pourcentage sain minimum et lance une nouvelle tâche afin de maintenir le nombre souhaité pour le service. Pour minimiser l'impact de la suppression des tâches Fargate, les charges de travail doivent être déployées conformément aux meilleures pratiques d'Amazon. ECS Par exemple, lors du déploiement d'une application sans état en tant que ECS service Amazon, tel qu'un site Web ou un API serveur, les clients doivent déployer plusieurs répliques de tâches et définir la valeur minimumHealthyPercent à 100 %. Par défaut, le pourcentage de santé minimum d'un service est de 100 %. Par conséquent, lorsque Fargate commence à supprimer des tâches, ECS Amazon planifie d'abord une nouvelle tâche et attend qu'elle soit exécutée, avant de retirer une ancienne tâche. Les tâches de service sont régulièrement remplacées dans le cadre du retrait 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éfinitions de tâches. Pour préparer le processus de retrait des tâches, voirPréparez-vous à la AWS suppression des tâches de Fargate sur Amazon ECS.

Amazon peut-il gérer ECS 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 gère uniquement les tâches qui font partie d'un service.