Comment résoudre l’erreur « [AWS service] was unable to place a task because no container instance met all of its requirements » rencontrée dans Amazon ECS ?

Lecture de 5 minute(s)
0

Je souhaite placer une tâche dans Amazon Elastic Container Service (Amazon ECS). J’obtiens cependant le message d’erreur suivant : « [AWS service] was unable to place a task because no container instance met all of its requirements. »

Brève description

Vous pouvez recevoir cette erreur pour une ou pour plusieurs des raisons suivantes :

  • Aucune instance de conteneur n’a été trouvée dans votre cluster
  • Le port requis par la tâche est déjà utilisé
  • Mémoire insuffisante pour vos tâches
  • Unités de processeur insuffisantes pour votre instance de conteneur
  • Pas assez de points d’attache disponibles pour l’interface réseau Elastic (ENI)
  • Attribut obligatoire manquant dans l’instance de conteneur

Pour en savoir plus, consultez la page Messages relatifs aux événements de service.

Remarque : si vous n’avez pas reçu le message d’erreur mentionné ci-dessus, choisissez un article en fonction du message d’erreur que vous avez reçu, parmi les exemples suivants :

Résolution

Remarque : si des erreurs surviennent lors de l’exécution de commandes AWS CLI, vérifiez que vous utilisez la version la plus récente d’AWS CLI.

Pour corriger l’erreur reçue, choisissez une résolution en fonction de votre cas d’utilisation :

ecs-cli check-attributes --task-def Task_Definition --container-instances Container_Instance --cluster Cluster_Name

Remarque : pour Task_Definition Name, saisissez le nom de votre définition de tâche. Pour Container_Instance, saisissez le nom de votre instance de conteneur. Pour Cluster_Name, saisissez le nom de votre cluster.

  • Vous pouvez configurer un service Amazon ECS pour qu’il s’exécute sur un sous-réseau différent de celui de l’instance de conteneur. Dans ce cas, la sortie de la commande ecs-cli-check-attributes sera Aucun pour les attributs manquants, ce même si la tâche échoue en raison de l’erreur d’attribut manquant. Vous devez vérifier que les sous-réseaux de votre service correspondent bien à l’instance de conteneur. Pour ce faire, recréez le service Amazon ECS dans le sous-réseau où se trouve l’instance de conteneur. Pour en savoir plus, consultez les pages Paramètres de définition des tâches et Configuration de l’agent de conteneur Amazon ECS.

Par exemple, si vous exécutez la commande suivante :

ecs-cli check-attributes --task-def task:1 --container-instances 650cf1df296749e1bce1b9e0cebb588a --cluster test-cluster

La sortie ressemble à ce qui suit :

Container Instance  Missing Attributes
tes-cluster         None

Pour obtenir plus d’informations, exécutez cette commande :

ecs-cli --help

Informations connexes

Mise en réseau des tâches Amazon ECS

Logique de régulation de service

AWS OFFICIEL
AWS OFFICIELA mis à jour il y a un an