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 ignorerdesiredCount
temporairement pendant le remplacement de tâche. Par exemple, si ledesiredCount
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'é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'étatRUNNING
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 ledesiredCount
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
etmaximumPercent
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
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 le cluster :
name
page, 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).