Pourquoi mon instance Amazon ECS ou Amazon EC2 ne peut-elle pas rejoindre le cluster ?
Je ne parviens pas à enregistrer mon instance Amazon Elastic Compute Cloud (Amazon EC2) auprès d'un cluster Amazon Elastic Container Service (Amazon ECS).
Brève description
Votre instance Amazon EC2 ne peut pas s'enregistrer ou rejoindre un cluster ECS pour l'une ou plusieurs des raisons suivantes :
- Le point de terminaison ECS ne peut pas accéder publiquement au nom d'hôte DNS de l'instance.
- Les configurations de votre sous-réseau public sont incorrectes.
- Les configurations de votre sous-réseau privé sont incorrectes.
- Les points de terminaison de votre VPC sont incorrectement configurés.
- Vos groupes de sécurité n'autorisent pas le trafic réseau.
- L'instance EC2 ne dispose pas des autorisations AWS Identity and Access Management (IAM) requises. Ou l'appel d'API ecs:RegisterContainerInstance est refusé.
- Les données utilisateur de l'instance pour votre conteneur ECS ne sont pas configurées correctement.
- L'agent ECS est arrêté ou n'est pas en cours d'exécution sur l'instance.
- La configuration du lancement du groupe Auto Scaling n'est pas correcte (si votre instance fait partie d'un groupe Auto Scaling).
- L'Amazon Machine Image (AMI) utilisée pour votre instance ne remplit pas les conditions préalables.
Solution
Important : Utilisez le runbook AWS Systems Manager AWSSupport-TroubleshootECSContainerInstance pour la résolution des problèmes courants répertoriés dans la section précédente. Si le résultat du runbook ne fournit pas de recommandations, utilisez les méthodes de dépannage manuelles expliquées dans les sections suivantes.
Utiliser le runbook de Systems Manager Automation
Le runbook AWSSupport-TroubleshootECSContainerInstance vous permet de dépanner l'instance EC2 qui ne parvient pas à s'enregistrer auprès du cluster ECS. Cette automatisation passe en revue les éléments suivants :
- Les données utilisateur de l'instance contiennent-elles les informations de cluster appropriées ?
- Le profil d'instance contient-il les autorisations requises ?
- Y a-t-il des problèmes de configuration réseau ?
Important : Utilisez le runbook AWSSupport-TroubleshootECSContainerInstance dans la même région AWS où se trouvent votre cluster ECS et votre instance EC2.
- Ouvrez AWS Systems Manager console.
- Dans le panneau de navigation, sous Change Management (Gestion des modifications), choisissez Automation.
- Choisissez Exécuter l'automatisation.
- Choisissez l'onglet Owned by Amazon (Propriété d'Amazon).
- Sous Document Automation (Automatisation de document), recherchez TroubleshootECSContainerInstance.
- Sélectionnez la carte AWSSupport-TroubleshootECSContainerInstance.
Remarque : Assurez-vous de sélectionner le bouton radio et non le nom de l'automatisation en lien hypertexte. - Choisissez Suivant.
- Pour le document d'automatisation de l'exécution, assurez-vous que l'option Exécution simple est sélectionnée.
- Dans la section Paramètres d'entrée, pour AutomationAssumeRole, entrez l'Amazon Resource Name (ARN) du rôle qui permet à Systems Manager Automation d'effectuer des actions.
Remarque : Si vous ne spécifiez pas de rôle IAM, Systems Manager Automation utilise les autorisations de l'utilisateur ou le rôle IAM qui exécute le runbook. Pour plus d'informations sur la création du rôle d'endossement pour Systems Manager Automation, consultez Tâche 1 : Création d'une fonction du service pour Automation.
Important : Assurez-vous que l'utilisateur ou le rôle AutomationAssumeRole ou IAM dispose des autorisations nécessaires pour les actions suivantes : ec2:DescribeIamInstanceProfileAssociations, ec2:DescribeInstanceAttribute, ec2:DescribeInstances, ec2:DescribeNetworkAcls, ec2:DescribeRouteTables, ec2:DescribeSecurityGroups, ec2:DescribeSubnets, ec2:DescribeVpcs, ec2:DescribeVpcEndpoints, iam:GetInstanceProfile, iam:GetRole, iam:SimulateCustomPolicy et iam:SimulatePrincipalPolicy. - Pour ClusterName, saisissez le nom du cluster pour lequel l'instance EC2 n'a pas pu être enregistrée.
- Pour InstanceId, saisissez l'ID de l'instance EC2 qui n'a pas pu être enregistrée.
- Choisissez Exécuter.
La résultat du runbook fournit des étapes de dépannage et des recommandations pour résoudre le problème à l'origine de l'échec d'enregistrement de votre instance EC2 dans le cluster.
Vérifiez l'état de l'agent Amazon ECS sur l'instance Amazon Linux 2
Vérifiez si l'agent ECS sur l'instance est en cours d'exécution en exécutant la commande suivante :
sudo status ecs
Si l'agent de conteneur n'est pas en cours d'exécution sur votre instance de conteneur, exécutez la commande suivante pour le démarrer :
sudo start ecs
Le résultat de la commande doit ressembler à ce qui suit :
ecs start/running, process 23403
Vérifier les configurations du lancement
Si votre instance est lancée dans le cadre d'un groupe Auto Scaling, assurez-vous que la configuration du lancement du groupe Auto Scaling est correcte. Pour plus d'informations, consultez l'étape 5 de la section Actualisation d'un cluster d'instances de conteneur Amazon ECS avec une nouvelle AMI.
Vérifier l'AMI de votre instance
Si l'AMI utilisée pour l'instance EC2 est une AMI copiée ou une AMI personnalisée, assurez-vous que l'instance possède les composants suivants :
- Une distribution Linux moderne exécutant au moins la version 3.10 du noyau Linux.
- La dernière version de l'agent de conteneur Amazon ECS.
- Un démon Docker exécutant au moins la version 1.9.0, et toutes les dépendances de l'environnement d'exécution Docker. Pour afficher la version actuelle de Docker, exécutez la commande sudo docker version. Pour plus d'informations sur l'installation de la dernière version de Docker sur votre distribution Linux particulière, consultez la documentation Docker pour Installer le moteur Docker.
Les AMI optimisées pour Amazon ECS sont préconfigurées avec ces exigences. Par conséquent, c'est une bonne pratique de les utiliser pour vos instances de conteneur, sauf si votre application nécessite un système d'exploitation spécifique ou une version Docker qui n'est pas encore disponible dans cette AMI.
Vérifier les journaux
Si le problème persiste, collectez les journaux à l'aide du collecteur de journaux ECS et examinez-les pour trouver la cause. Vous pouvez également vérifier les fichiers journaux sur l'hôte du conteneur pour l'agent de conteneur et de Docker.
Pour afficher les fichiers journaux de l'agent de conteneur et de Docker, exécutez les commandes suivantes :
sudo cat /var/log/ecs/ecs-agent.log.YYYY-MM-DD-** sudo cat /var/log/docker
Erreurs courantes
Erreur : Lancement d'une nouvelle instance EC2. Raison du statut : Ce compte est actuellement bloqué et n'est pas reconnu comme un compte valide. Veuillez contacter aws-verification@amazon.com si vous avez des questions. Le lancement de l'instance EC2 a échoué.
Contactez aws-verification@amazon.com comme indiqué dans la raison du statut et mentionnez que vous devez débloquer votre compte.
Erreur : réenregistrement : ClientException : L'instance de conteneur 12345678910xxxxxxxxxxxx est inactive.\n\tcode de statut : 400, ID de demande : 012345678a-012345b-012ab-0a1-9f645f4s5c12" module=agent.go
Vous obtenez cette erreur lorsque l'agent ECS ne parvient pas à enregistrer l'instance de conteneur EC2 auprès du cluster ECS, car l'instance EC2 est actuellement inactive. Cette erreur est liée à l'application exécutée sur l'instance. Pour comprendre la cause de l'erreur, vérifiez l'application. Si l'erreur persiste, vérifiez les journaux de l'agent ECS.
Erreur : Peu d'instances parviennent à rejoindre le cluster, mais avec les mêmes configurations, d'autres instances ne parviennent pas à rejoindre le cluster.
Cette erreur peut être causée par ThrottlingException qui se produit lorsque la limite de débit pour un appel d'API spécifique est dépassée. Pour résoudre cette erreur, augmentez la limite de débit au niveau du compte. Assurez-vous de vérifier les API, telles que RegisterTargets et RegisterContainerInstance.
Erreur : Après avoir modifié le type d'instance, les nouvelles instances sont incapables de rejoindre le cluster.
Cette erreur est causée lorsque l'agent ECS est bloqué en état d'attente et ne peut pas modifier le type d'instance. Contrairement aux autres instances EC2, vous ne pouvez pas arrêter l'instance ECS, modifier le type d'instance, puis la redémarrer. Pour modifier le type d'instance dans ECS, vous devez résilier l'instance de conteneur, puis lancer une nouvelle instance de conteneur avec la taille d'instance voulue en utilisant la dernière AMI Amazon Linux 2 optimisée pour Amazon ECS pour le cluster de votre choix. Vous pouvez également créer une nouvelle configuration du lancement, puis la mettre à jour dans le groupe Auto Scaling.
Erreur : Impossible de s'enregistrer en tant qu'instance de conteneur avec ECS : AccessDeniedException : Utilisateur : arn:aws:sts::1122334455:assumed-role/ecsInstanceRole/i-00aa11bb22cc33def n'est pas autorisé à exécuter : ecs:RegisterContainerInstance sur la ressource : arn:aws:ecs:us-east-1:1122334455:cluster/exampleCluster . code de statut : 400, id de la demande : 0a123456-7899-10101-a987-6543210deff
2019-06-29T16:10:09Z [ERREUR] Erreur de réenregistrement : AccessDeniedException : Utilisateur : arn:aws:sts::1122334455:assumed-role/ecsInstanceRole/i-0052b2e858b1891ef n'est pas autorisé à exécuter : ecs:RegisterContainerInstance sur la ressource : arn:aws:ecs:us-east-1:1122334455:cluster/exampleCluster code de statut : 400, id de la demande : 0a123456-7899-10101-a987-123456pqrs
Ces erreurs sont dues à des autorisations IAM manquantes. Pour résoudre ces erreurs, consultez les instructions de la section Vérification du rôle IAM de l'instance de conteneur Amazon ECS.
De plus, exécutez le runbook AWSSupport-TroubleshootECSContainerInstance pour voir quelles autorisations manquent au rôle d'instance de conteneur.
Informations connexes
Pourquoi mes instances de conteneur Amazon ECS avec des AMI Amazon Linux 1 sont-elles déconnectées ?
Les instances EC2 Windows pour ECS ne s'enregistrent pas auprès du cluster

Contenus pertinents
- demandé il y a un moislg...
- demandé il y a 2 moislg...
- demandé il y a 3 moislg...
- demandé il y a 2 moislg...
- demandé il y a 10 jourslg...
- AWS OFFICIELA mis à jour il y a un an
- AWS OFFICIELA mis à jour il y a un an
- AWS OFFICIELA mis à jour il y a 10 mois