Comment puis-je résoudre les problèmes liés à l’arrêt ou à l’échec du démarrage des tâches Amazon ECS lorsque mon conteneur se ferme ?

Lecture de 3 minute(s)
0

Mon conteneur Amazon Elastic Container Service (Amazon ECS) se ferme de façon inattendue et les tâches s’arrêtent ou ne démarrent pas.

Brève description

Vos conteneurs peuvent être fermés en raison de problèmes d’image, de problèmes d’application, de contraintes de ressources ou d’autres problèmes.

En cas d’échec de tâche dû à des problèmes d’image, consultez la page Comment puis-je résoudre l’erreur « Image does not exist » lorsque le lancement de mes tâches échoue dans le cluster Amazon ECS ? Pour les tâches AWS Fargate qui s’arrêtent de façon inattendue, consultez la page Codes d’erreur relatifs aux tâches Amazon ECS interrompues pour le type de lancement Fargate pour connaître tous les messages d’erreur possibles.

Résolution

Pour identifier la raison pour laquelle vos tâches ont été interrompues, exécutez les tâches suivantes :

  • Consultez les informations de diagnostic dans le journal des événements de service.
  • Vérifiez si les tâches interrompues présentent des erreurs.
    Remarque : vous pouvez utiliser la commande list-tasks pour voir les tâches interrompues dans les résultats renvoyés pendant au moins une heure.
  • Si vous disposez déjà d’un pilote de journalisation configuré, consultez les journaux de vos applications pour détecter d’éventuels problèmes liés aux applications. Par exemple, si le pilote de journal awslogs est configuré dans votre définition de tâche, consultez les journaux de conteneurs awslogs dans Amazon CloudWatch. Vous pouvez également utiliser les options de configuration de journal dans votre définition de tâche pour envoyer les journaux à un pilote de journalisation personnalisé pour le conteneur. Notez les informations suivantes concernant les journaux, en fonction du type de lancement de tâche :
    Pour les tâches ECS autres que Fargate : si vous utilisez le pilote de journalisation de fichiers json par défaut avec le type de lancement Amazon Elastic Compute Cloud (Amazon EC2), exécutez la commande docker logs <yourContainerID>. Cette commande vérifie les journaux Docker du conteneur sur votre instance de conteneur ECS. Pour en savoir plus sur le pilote de journalisation de fichiers JSON, consultez la page JSON File logging driver du site Web Docker.
    Pour les tâches Fargate : par défaut, les journaux capturés affichent la sortie de commande que vous pourriez voir dans un terminal interactif si vous exécutiez le conteneur localement. Ces sorties de commande sont les flux d’E/S STDOUT et STDERR. Le pilote de journalisation awslogs transmet ces journaux de Docker à Amazon CloudWatch Logs.
  • Pour résoudre les problèmes de contraintes de mémoire, suivez les instructions de la page Comment puis-je allouer de la mémoire aux tâches dans Amazon ECS ?
AWS OFFICIEL
AWS OFFICIELA mis à jour il y a 5 mois