Pourquoi les tâches Amazon ECS fonctionnant correctement et enregistrées dans ELB sont-elles signalées comme étant défectueuses et sont-elles remplacées ?

Dernière mise à jour : 19/09/2022

Elastic Load Balancing (ELB) signale à plusieurs reprises que des tâches Amazon Elastic Container Service (Amazon ECS) qui fonctionnent pourtant correctement sont défectueuses. Celles-ci sont arrêtées, et de nouvelles tâches sont démarrées à leur place. Comment puis-je résoudre ce problème ?

Brève description

Certaines tâches Amazon ECS ont plusieurs dépendances et de longs processus d'amorçage pouvant dépasser la période de grâce de la surveillance de l'état ELB, même lorsqu'elles fonctionnent normalement. Lorsque des tâches Amazon ECS ne répondent pas aux surveillances de l'état ELB dans la période de grâce, elles sont signalées comme étant défectueuses. Pour allonger la période de grâce de la surveillance de l'état pour votre service, effectuez les tâches ci-dessous.

Pour dépanner vos tâches ECS qui échouent à un contrôle de surveillance de l'état d'Application Load Balancer voir Comment puis-je exécuter mes tâches Amazon ECS à l'aide du type de lancement Amazon EC2 pour réussir les surveillances de l'état d'Application Load Balancer dans Amazon ECS ?

Solution

Si aucune période de grâce n'est configurée, le planificateur de services remplace immédiatement toutes les cibles signalées comme étant défectueuses. Modifiez la période de grâce afin de laisser plus de temps à vos tâches Amazon ECS pour terminer leurs processus et réussir la surveillance de l'état.

  1. Ouvrez la console de gestion AWS.
  2. Dans la barre de navigation, choisissez Services, puis sélectionnez ECS dans la liste.
  3. Sélectionnez votre service dans la liste Service Name (Nom du service).
  4. Choisissez Update (Mettre à jour).
  5. Sélectionnez Next step (Étape suivante).
  6. Sur la page Step 2: Configure network (Étape 2 : Configurer le réseau), remplacez la Health check grace period (période de grâce de surveillance de l'état) par une période appropriée pour votre service (la durée maximale est de 2 147 483 647 secondes).
    Attention : pour éviter un retard de remplacement des tâches Amazon ECS réellement défectueuses, évaluez soigneusement la période de grâce requise pour vos tâches les plus longues. Lorsque vous définissez la période de grâce, tenez compte de tous les facteurs pertinents tels que les durées d'amorçage et d'extraction des images de conteneur.
  7. Choisissez Next step (Étape suivante), puis Update Service (Mettre à jour le service).

Vous pouvez également allonger la période de grâce :

  • En utilisant le paramètre HealthCheckGracePeriodSeconds défini dans la ressource AWS::ECS::Service dansAWS CloudFormation.
  • En exécutant la commande UpdateService dans l'interface de la ligne de commande AWS (AWS CLI) et en augmentant la valeur --health-check-grace-period-seconds.

Cet article vous a-t-il été utile ?


Benötigen Sie Hilfe zur Fakturierung oder technischen Support?