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.
Logique de régulation du service Amazon ECS
Le planificateur de service Amazon ECS service inclut désormais une logique qui limite la fréquence de lancement des tâches de service en cas d'échec de lancement répété.
Si les tâches d'un service échouent à plusieurs reprises à passer à l'RUNNING
état (passant directement du STOPPED
statut a PENDING
au statut), le délai entre les tentatives de redémarrage suivantes est augmenté progressivement jusqu'à un maximum de 27 minutes. Cette période maximale est sujette à changement à l'avenir. Ce comportement permet de réduire l'effet des tâches défaillantes sur vos ressources de cluster Amazon ECS ou les coûts d'infrastructure Fargate. Si votre service déclenche la logique de limitation, vous recevez le message d'événement de service suivant :
(service
service-name
) is unable to consistently start tasks successfully.
Amazon ECS n'empêche jamais un service défaillant de faire une nouvelle tentative. Il ne tente pas non plus de le modifier autrement qu'en augmentant le temps entre les redémarrages. La logique de limitation de service ne fournit pas de paramètres modifiables par l'utilisateur.
Si vous mettez à jour le service de façon à utiliser une nouvelle définition de tâche, celui-ci renvoie un état normal et non limité immédiatement. Pour plus d’informations, consultez Mettre à jour un service Amazon ECS à l'aide de la console.
Voici quelques causes courantes à l'origine de cette logique. Nous vous recommandons de prendre des mesures manuelles pour résoudre le problème :
-
Un manque de ressources pour héberger votre tâche, par exemple les ports, la mémoire ou les UC dans votre cluster. Dans ce cas, le message d'événement de service pour ressource insuffisante peut également s'afficher.
-
L'agent de conteneur Amazon ECS ne peut pas récupérer l'image Docker de la tâche. Cela peut être dû à un nom de l'image de conteneur, à une image, ou à une étiquette erronés, ou à un manque d'authentification ou d'autorisations de registre privé. Dans ce cas, vous pouvez également voir
CannotPullContainerError
dans les erreurs de tâche interrompue. -
Un espace disque insuffisant sur l'instance de conteneur pour créer le conteneur. Dans ce cas, vous pouvez également voir
CannotCreateContainerError
dans les erreurs de tâche interrompue. Pour plus d’informations, consultez Résoudre les problèmes liés au Docker dans API error (500): devmapper Amazon ECS.
Important
Les tâches qui sont arrêtées après avoir atteint l'état RUNNING
ne déclenchent pas la limitation logique ou le message d'événement de service associé. Par exemple, supposons que l'échec des surveillances de l'état Elastic Load Balancing pour un service entraîne le signalement d'une tâche comme défectueuse et qu'Amazon ECS annule son enregistrement et arrête la tâche. À ce stade, les tâches ne sont pas limitées. Même si la commande du conteneur d'une tâche se termine immédiatement avec un code de sortie autre que zéro, la tâche est déjà passée à l'état RUNNING
. Les tâches qui échouent immédiatement en raison d'erreurs de commande ne déclenchent pas de limitation ou de message d'événement de service.