Comment corriger l'erreur « [AWS service] n'a pas pu placer une tâche car aucune instance de conteneur ne répondait à toutes ses exigences » dans Amazon ECS ?

Lecture de 5 minute(s)
0

Je souhaite placer une tâche dans Amazon Elastic Container Service (Amazon ECS). Cependant, je reçois le message d'erreur suivant : « [AWS service] n'a pas pu placer une tâche car aucune instance de conteneur ne répondait à toutes ses exigences ».

Brève description

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

  • Aucune instance de conteneur n’a été trouvée dans votre cluster
  • Port requis par la tâche déjà utilisé
  • Mémoire insuffisante pour vos tâches
  • Pas suffisamment d'unités CPU pour votre instance de conteneur
  • Pas suffisamment de points de jonction d’interface réseau Elastic disponibles
  • Un attribut requis manque dans votre instance de conteneur

Pour plus d'informations sur ces problèmes, consultez la rubrique Messages d'événement de service.

Remarque : si vous n'avez pas reçu le message d'erreur précédent, choisissez un article en fonction de l'un des messages d'erreur suivants correspondant à celui que vous avez reçu :

Solution

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

Pour résoudre l'erreur, choisissez une 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 ce qui est du nom Task_Definition, saisissez le nom de définition de votre 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 afin 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 indique None (Aucun) pour les attributs manquants, même si la tâche échoue en raison de l'erreur d'attribut manquant. Assurez-vous que les sous-réseaux de votre service et de l'instance de conteneur correspondent. Pour ce faire, recréez le service Amazon ECS dans le sous-réseau où se trouve l'instance de conteneur. Pour plus d'informations, consultez Paramètres de définition de tâche 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 à :

Container Instance  Missing Attributes
tes-cluster         None

Pour plus d'informations, exécutez la commande suivante :

ecs-cli --help

Informations connexes

Mise en réseau des tâches Amazon ECS

Logique d'accélérateur de service

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