Comment obtenir mes ressources AWS::ECS::Service depuis l'état UPDATE_IN_PROGRESS ou UPDATE_ROLLBACK_IN_PROGRESS ?

Lecture de 3 minute(s)
0

La mise à jour de ma pile AWS CloudFormation vers la ressource AWS::ECS::Service est bloquée à l'état UPDATE_IN_PROGRESS ou UPDATE_ROLLBACK_IN_PROGRESS. Je souhaite stabiliser la pile et faire en sorte que mon service lance de nouvelles tâches.

Brève description

Il se peut que votre service Amazon Elastic Container Service (Amazon ECS) reste bloqué à l'état UPDATE_IN_PROGRESS ou UPDATE_ROLLBACK_IN_PROGRESS lorsque le service ne parvient pas à lancer des tâches.

Voici quelques raisons courantes qui expliquent pourquoi un service Amazon ECS ne parvient pas à lancer de nouvelles tâches :

  • Problèmes d'image de conteneur
  • Un manque de ressources nécessaires au lancement de tâches
  • Un échec de vérification de l'état sur un équilibreur de charge
  • Problèmes de configuration d'instance ou d'agent de conteneur Amazon ECS

Un service Amazon ECS qui ne parvient pas à lancer des tâches entraîne le blocage d'AWS CloudFormation à l'état UPDATE_IN_PROGRESS. Ensuite, AWS CloudFormation attend pendant plusieurs heures avant de revenir à une configuration précédente. Si le problème qui est à l'origine de l'échec de la pile se poursuit pendant la restauration de la pile vers une configuration précédente, la pile reste bloquée à l'état UPDATE_ROLLBACK_IN_PROGRESS. Enfin, l'état de la pile passe à UPDATE_ROLLBACK_FAILED.

La stabilisation de la pile AWS CloudFormation peut prendre plusieurs heures. Pour stabiliser votre pile plus rapidement, procédez comme suit.

Important : la résolution suivante a pour but de vous aider à stabiliser rapidement une pile AWS CloudFormation, sans devoir attendre l'expiration de la pile. La résolution n'est pas conçue pour des environnements de production, étant donné que le service Amazon ECS est désynchronisé avec l'état connu d'AWS CloudFormation. Pour synchroniser des ressources entre votre service Amazon ECS et la pile AWS CloudFormation, vous devez effectuer une mise à jour sans erreur au niveau de la pile.

Solution

Modifier le nombre de tâches souhaité du service Amazon ECS

  1. Ouvrez la console Amazon ECS.
  2. Choisissez votre cluster.
  3. Sélectionnez le service, puis Update (Mettre à jour).
  4. Définissez Number of tasks (Nombre de tâches) sur 0, puis enregistrez la configuration.

Identifier la raison pour laquelle le service Amazon ECS ne parvient pas à lancer de nouvelles tâches

  1. Ouvrez la console Amazon ECS.
  2. Choisissez votre cluster.
  3. Sélectionnez le service, puis Events (Événements).
    Remarque : la section Events (Événements) affiche la raison pour laquelle votre service ne s'est pas stabilisé.
  4. Sélectionnez une solution en fonction du problème que vous avez identifié :
    Votre tâche n'a pas réussi les vérifications d'état Elastic Load Balancing (ELB).
    Un conteneur marqué comme essentiel à la définition de tâche a été fermé ou n'existe plus.
    Vous ne pouvez pas placer de tâche, car votre instance de conteneur n'a pas répondu aux exigences requises.
    Vous recevez une erreur « cannot pull container image » (Impossible d'extraire une image de conteneur).
</ol
AWS OFFICIEL
AWS OFFICIELA mis à jour il y a 4 ans