Pourquoi les tâches dans mon cluster Amazon ECS ne démarrent-elles pas ?

Lecture de 6 minute(s)
0

J'essaie de placer une tâche dans mon cluster Amazon Elastic Container Service (Amazon ECS). Toutefois, le placement de ma tâche échoue et ma tâche ne passe pas à l'état RUNNING (EN COURS D'EXÉCUTION) dans mon cluster.

Brève description

Pour placer correctement votre tâche dans votre cluster, choisissez l'une des solutions suivantes :

  • Si vous avez placé votre tâche avec Amazon ECS service, effectuez les étapes des sections Vérifier vos messages d'événement de service et Vérifier les erreurs de la tâche arrêtée.
  • Si vous avez exécuté votre tâche en tant que tâche autonome ou tâche planifiée, effectuez les étapes de la section Vérifier les erreurs de la tâche arrêtée.

Solution

Vérifier vos messages d’événement de service

  1. Ouvrez la console Amazon ECS.
  2. Dans le volet de navigation, sélectionnez Clusters, puis sélectionnez le cluster qui contient votre service.
  3. Dans l'onglet Services de la page de votre cluster, dans la colonne Nom de service, sélectionnez le service que vous souhaitez vérifier.
  4. Sur la page de votre service, choisissez Événements.
  5. Dans la colonne Message, recherchez les erreurs ou d'autres informations utiles.

En fonction des résultats obtenus à l'étape 5, consultez les Messages d'événement de service pour résoudre votre erreur.

Remarque : les événements de service affichent uniquement les 100 derniers événements.

Vérifier les erreurs de la tâche arrêtée

Important : vous pouvez voir une tâche arrêtée qui a été arrêtée uniquement au cours de la dernière heure.

  1. Ouvrez la console Amazon ECS.
  2. Dans le menu de navigation, choisissez Clusters, puis sélectionnez le cluster qui contient votre tâche arrêtée.
  3. Sur la page de votre cluster, choisissez l'onglet Tâches.
  4. Dans l'en-tête de tableau Statut de tâche souhaité, choisissez Arrêtée, puis sélectionnez la tâche arrêtée à inspecter. Les tâches arrêtées les plus récentes sont répertoriées en premier.
  5. Dans l'onglet Details (Détails) de votre tâche arrêtée, examinez le champ Stopped reason (Raison de l'arrêt) pour savoir pourquoi votre tâche a été arrêtée.
  6. Si un conteneur est arrêté et que Stopped reason (Raison de l'arrêt) est Task failed to start (Échec du démarrage de la tâche), développez le conteneur, puis inspectez la ligne Status reason (Raison du statut) pour déterminer la cause du changement d'état de la tâche.

En fonction des résultats obtenus à l'étape 5, consultez les informations suivantes pour résoudre votre erreur :

  • Échec des surveillances de l'état ELB de la tâche dans (elb nom-elb) : la tâche en cours a échoué à la surveillance de l'état Elastic Load Balancing pour l'équilibreur de charge associé au service de la tâche. Pour plus d'informations, consultez Dépannage des équilibreurs de charge du service.
    Remarque : cette cause racine ne s'applique qu'aux tâches lancées dans le cadre du service.
  • Activité de mise à l'échelle initiée par (déploiement id-déploiement) : lorsque vous réduisez le nombre souhaité d'un service stable, certaines tâches doivent être arrêtées pour atteindre le nombre souhaité. Cette raison de l'arrêt s'affiche pour les tâches qui sont arrêtées en raison de la réduction de l'échelle des services. Pour plus d'informations, consultez Dépannage de la scalabilité automatique du service.
    Remarque : cette cause racine ne s'applique qu'aux tâches lancées dans le cadre du service.
  • Hôte EC2 (id d'instance) arrêté/résilié : cette raison de l'arrêt s'affiche si vous arrêtez ou résiliez une instance de conteneur Amazon Elastic Compute Cloud (Amazon EC2) avec des tâches en cours d'exécution. Pour rechercher la raison pour laquelle votre instance Amazon EC2 a été résiliée, consultez Pourquoi Amazon EC2 a-t-il résilié mon instance ?
  • Annulation de l'enregistrement d'une instance de conteneur forcée par l'utilisateur : si vous forcez l'annulation de l'enregistrement d'une instance de conteneur avec des tâches en cours d'exécution, cette raison de l'arrêt s'affiche.
  • Conteneur essentiel dans la tâche a quitté : si un conteneur marqué comme essentiel dans la définition de la tâche quitte ou est tué, la tâche peut être arrêtée. Cette raison de l'arrêt s'affiche lorsqu'un conteneur essentiel qui quitte est la cause d'une tâche arrêtée. Dans ce cas, les résultats de l'étape 6 fournissent des informations de diagnostic supplémentaires sur la raison de l'arrêt du conteneur.

Examinez également les raisons de l'échec de l'API.

En fonction des résultats de l'étape 6, examinez les informations suivantes pour résoudre votre erreur :

  • Si le statut du conteneur comporte l'erreur CannotPullContainerError, consultez les erreurs de la tâche CannotPullContainer.
  • Pour les autres messages d'erreur renvoyés et pour plus d'informations sur ces messages d'erreur, consultez Codes d'erreur des tâches arrêtées.
  • Si cette inspection ne fournit pas suffisamment d'informations et que vous avez utilisé le type de lancement EC2, connectez-vous à l'instance de conteneur avec SSH et inspectez le conteneur Docker localement. Pour plus d'informations, consultez Inspecter les conteneurs Docker.

Remarque : si vous utilisez des contraintes ou des stratégies de placement de tâches, votre cluster doit utiliser des instances qui répondent aux exigences de vos contraintes ou stratégies.


Informations connexes

Comment éliminer l'erreur « [AWS service] was unable to place a task because no container instance met all of its requirements » ([Service AWS] n'a pas pu placer une tâche parce qu'aucune instance de conteneur ne répondait à toutes ses exigences) dans Amazon ECS ?

Comment éliminer l'erreur « The closest matching container-instance container-instance-id has insufficient CPU units available » (L'ID d'instance de conteneur la plus proche ne dispose pas d'un nombre d'unités UC suffisant) dans Amazon ECS ?

Comment éliminer l'erreur « the closest matching container-instance container-instance-id encountered error "AGENT" » (Une erreur « AGENT » liée à l'ID d'instance de conteneur container-instance correspondant le plus proche s'est produite) pour mon service dans Amazon ECS ?

Comment éliminer l'erreur Amazon ECR « CannotPullContainerError: API error » (CannotPullContainerError : erreur d'API) dans Amazon ECS ?

Comment éliminer l'erreur « CannotPullContainerError: Error response from daemon:Get https://registry-name/: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers) » (CannotPullContainerError : réponse d'erreur du démon : obtenir https://registry-name/: net/http: requête annulée en attendant la connexion) (Client. Délai dépassé en attendant les en-êtes) dans Amazon ECS ?

AWS OFFICIEL
AWS OFFICIELA mis à jour il y a 3 ans