Vidange des instances de ECS conteneurs Amazon - 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.

Vidange des instances de ECS conteneurs Amazon

Il peut arriver que vous deviez supprimer une instance de conteneur de votre cluster, par exemple pour effectuer des mises à jour du système ou pour réduire la capacité du cluster. Amazon ECS permet de faire passer une instance de conteneur à un DRAINING statut. C'est ce que l'on appelle le drainage des instances de conteneur. Lorsqu'une instance de conteneur est définie surDRAINING, Amazon ECS empêche de planifier le placement de nouvelles tâches sur l'instance de conteneur.

Comportement de drainage pour les services

Toutes les tâches faisant partie d'un service dans un état PENDING sont arrêtées immédiatement. S'il existe une capacité d'instance de conteneur disponible dans le cluster, le planificateur de service va démarrer les tâches de remplacement. S'il n'y a pas assez de capacité d'instance de conteneur, un message d'événement de service sera envoyé pour indiquer le problème.

Les tâches faisant partie d'un service sur l'instance de conteneur qui se trouvent à l'état RUNNING passent à l'état STOPPED. Le planificateur de service tente de remplacer les tâches en fonction du type de déploiement du service et des paramètres de configuration du déploiement, minimumHealthyPercent et maximumPercent. Pour plus d’informations, consultez ECSServices Amazon et Paramètres ECS de définition du service Amazon.

  • Si minimumHealthyPercent est inférieur à 100 %, le planificateur peut ignorer desiredCount temporairement pendant le remplacement de tâche. Par exemple, si le desiredCount est de quatre tâches, un minimum de 50 % permet au planificateur d'arrêter deux tâches existantes avant de commencer deux nouvelles tâches. Si le minimum est de 100 %, le planificateur de service ne peut pas supprimer les tâches existantes tant que les tâches de remplacement sont considérées comme saines. Si les tâches des services qui n'utilisent pas d'équilibreur de charge ont l'état RUNNING, elles sont considérées comme saines. Les tâches des services qui utilisent un équilibreur de charge sont considérées comme saines si elles se trouvent à l'état RUNNING et si l'instance de conteneur sur laquelle elles sont hébergées est signalée comme saine par l'équilibreur de charge.

    Important

    Si vous utilisez des instances Spot et que la valeur minimumHealthyPercent est supérieure ou égale à 100 %, le service ne disposera pas de suffisamment de temps pour remplacer la tâche avant la fin de l'instance Spot.

  • Le paramètre maximumPercent représente une limite supérieure du nombre de tâches en cours d'exécution lors du remplacement des tâches, ce qui vous permet de définir la taille du lot de remplacement. Par exemple, si le desiredCount est de quatre tâches, un maximum de 200 % lance quatre nouvelles tâches avant d'arrêter les quatre tâches à drainer (à condition de disposer des ressources de cluster nécessaires). Si le maximum est de 100 %, les tâches de remplacement ne peuvent pas commencer tant que les tâches de drainage sont arrêtées.

    Important

    Si minimumHealthyPercent et maximumPercent sont à 100 %, alors le service ne peut pas supprimer les tâches existantes et ne peut pas non plus démarrer les tâches de remplacement. Cela empêche le drainage des instances de conteneur ainsi que d'effectuer de nouveaux déploiements.

Comportement de drainage pour les tâches autonomes

Toutes les tâches autonomes à l'état PENDING ou RUNNING ne sont pas affectées. Vous devez attendre qu'elles s'arrêtent d'elles-mêmes ou les arrêter manuellement. L'instance de conteneur restera dans l'état DRAINING.

Une instance de conteneur a terminé le drainage lorsque toutes les tâches qui s'exécutent sur l'instance passent à l'état STOPPED. L'instance de conteneur reste à l'état DRAINING jusqu'à ce qu'elle soit réactivée ou supprimée. Vous pouvez vérifier l'état des tâches sur l'instance de conteneur en utilisant l'ListTasksopération avec le containerInstance paramètre pour obtenir une liste des tâches de l'instance, suivie d'une DescribeTasksopération avec le nom de ressource Amazon (ARN) ou l'ID de chaque tâche pour vérifier l'état de la tâche.

Lorsque vous êtes prêt pour que l'instance de conteneur recommence à héberger des tâches, vous modifiez l'état de l'instance de conteneur de DRAINING en ACTIVE. Le planificateur ECS de services Amazon examinera ensuite à nouveau l'instance de conteneur pour le placement des tâches.

Procédure

Les étapes suivantes peuvent être utilisées pour définir une instance de conteneur à drainer à l'aide de la nouvelle AWS Management Console.

Vous pouvez également utiliser l'UpdateContainerInstancesStateAPIaction ou la update-container-instances-statecommande pour modifier le statut d'une instance de conteneur enDRAINING.

AWS Management Console
  1. Ouvrez la console à la https://console.aws.amazon.com/ecs/version 2.

  2. Dans le panneau de navigation, choisissez Clusters.

  3. Sur la page Clusters, choisissez un cluster qui héberge vos instances.

  4. Sur le cluster : namepage, choisissez l'onglet Infrastructure. Puis, sous Container instances (Instances de conteneur), cochez la case correspondant à chaque instance de conteneur que vous souhaitez drainer.

  5. Choisissez Actions, Drain (Drainer).