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 conteneurs Amazon ECS
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 offre la possibilité de transférer une instance de conteneur vers un état DRAINING. C'est ce que l'on appelle le drainage des instances de conteneur. Lorsqu'une instance de conteneur est définie sur DRAINING, Amazon ECS bloque la planification du placement des 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 Services Amazon ECS et Paramètres de définition du service Amazon ECS.
-
Si
minimumHealthyPercentest inférieur à 100 %, le planificateur peut ignorerdesiredCounttemporairement pendant le remplacement de tâche. Par exemple, si ledesiredCountest 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'étatRUNNING, 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'étatRUNNINGet 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
minimumHealthyPercentest 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
maximumPercentrepré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 ledesiredCountest 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
minimumHealthyPercentetmaximumPercentsont à 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 Amazon ECS service considérera 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'action ou la update-container-instances-statecommande de l'UpdateContainerInstancesStateAPI pour modifier le statut d'une instance de conteneur enDRAINING.
AWS Management Console
Ouvrez la console à la https://console.aws.amazon.com/ecs/version 2
. -
Dans le panneau de navigation, choisissez Clusters.
-
Sur la page Clusters, choisissez un cluster qui héberge vos instances.
-
Sur la
namepage Cluster :, choisissez l'onglet Infrastructure. Puis, sous Container instances (Instances de conteneur), cochez la case correspondant à chaque instance de conteneur que vous souhaitez drainer. -
Choisissez Actions, Drain (Drainer).