Comment résoudre les problèmes de tâches Amazon ECS pour Fargate bloquées à l'état Pending (En attente) ?

Lecture de 5 minute(s)
0

Ma tâche Amazon Elastic Container Service (Amazon ECS) qui s'exécute sur AWS Fargate est bloquée à l'état PENDING (EN ATTENTE).

Résolution

Vérifier les routes vers Internet utilisées par vos sous-réseaux

Pour les tâches Fargate dans un sous-réseau public :

Vérifiez que votre tâche Fargate dispose d'une adresse IP publique et d'une route par défaut (0.0.0.0/0) vers une passerelle Internet. Pour ce faire, activez la case à cocher Enable auto-assign public IPv4 address (Activer l'attribution automatique de l'adresse IPv4 publique) lorsque vous lancez votre tâche ou créez un nouveau service. Pour plus d'informations, consultez la section Adresses IPv4 publiques.

Remarque : vous ne pouvez pas activer la case à cocher Enable auto-assign public IPv4 address (Activer l'affectation automatique de l'adresse IPv4 publique) pour les tâches ou services existants.

Pour les tâches Fargate dans un sous-réseau privé :

Vérifiez que votre tâche Fargate dispose d'une route par défaut (0.0.0.0/0) vers une passerelle NAT, AWS PrivateLink ou une autre source de connectivité Internet.

Vérifier les paramètres de votre liste de contrôle d'accès réseau et de groupe de sécurité

Vérifiez que votre liste de contrôle d'accès réseau (ACL réseau) et vos groupes de sécurité ne bloquent pas l'accès sortant au port 443 à partir du sous-réseau. Pour plus d'informations, consultez la section Contrôle du trafic vers les ressources à l'aide de groupes de sécurité.

Remarque : les tâches Fargate doivent disposer d'un accès sortant au port 443 pour activer le trafic sortant et atteindre les points de terminaison Amazon ECS.

Vérifier vos points de terminaison d'un VPC

Si vous utilisez AWS PrivateLink, vérifiez que vous disposez des points de terminaison requis.

Points de terminaison requis pour les versions 1.3.0 ou antérieures de la plate-forme Fargate :

  • com.amazonaws.region.ecr.dkr
  • Point de terminaison de passerelle S3

Points de terminaison requis pour les versions 1.4.0 ou ultérieures de la plate-forme Fargate :

  • com.amazonaws.region.ecr.dkr
  • com.amazonaws.region.ecr.api
  • Point de terminaison de passerelle S3

Remarque : si votre définition de tâche utilise AWS Secrets Manager, les paramètres SSM ou Amazon CloudWatch Logs, vous devrez peut-être définir des points de terminaison. Pour plus d'informations, consultez Utilisation d'un point de terminaison d'un VPC AWS Secrets Manager et Utilisation de CloudWatch Logs avec des points de terminaison d'un VPC d'interface.

Si vous utilisez PrivateLink, vérifiez que les groupes de sécurité de vos points de terminaison d'un VPC autorisent l'infrastructure Fargate à les utiliser.

Vérifiez vos rôles et autorisations AWS et Gestion des identités et des accès (IAM)

Le rôle d'exécution de tâche accorde au conteneur Amazon ECS et aux agents Fargate l'autorisation d'effectuer des appels d'API AWS en votre nom. Ce rôle est requis par Fargate lorsque vous :

  • Extrayez une image de conteneur depuis Amazon Elastic Container Registry (Amazon ECR)
  • Utilisez le pilote de journal awslogs
  • Utilisez l'authentification du registre privé
  • Référencez des données sensibles à l'aide de secrets Secrets Manager ou de paramètres AWS Systems Manager Parameter Store

Si votre cas d'utilisation implique l'un des scénarios susmentionnés, vérifiez que vous disposez des autorisations appropriées définies dans votre rôle d'exécution de tâche. Pour obtenir la liste complète des autorisations requises, consultez Amazon ECS exécution de tâche IAM rôle.

Résoudre les problèmes liés à l'extraction de l'image

Si vous recevez une erreur cannotpullcontainer pour votre tâche Fargate, suivez les étapes de la section Comment puis-je corriger l'erreur « cannotpullcontainererror » pour mes tâches Amazon ECS sur Fargate ?

VPC en mode double-stack

Lorsque vous utilisez un VPC en mode double-stack avec Fargate, vous pouvez configurer votre VPC avec une passerelle Internet ou une passerelle Internet sortante uniquement pour les tâches auxquelles une adresse IPv6 est attribuée pour accéder à Internet. Pour plus d'informations, consultez la section Utilisation d'un VPC en mode double-stack.

Remarque : pour résoudre votre problème, vous pouvez également utiliser Amazon ECS Exec pour récupérer les journaux de l'instance de conteneur de votre tâche ou service.

Dépendance de conteneur définie

Une dépendance de conteneur qui est définie dans la définition de tâche peut conduire la tâche Fargate à être à l'état PENDING (EN ATTENTE) indéfiniment. Exemple : si le conteneurA dépend d'un certain état du conteneurB, le conteneurA est censé rester à l'état PENDING (EN ATTENTE) jusqu'à ce que le conteneurB atteigne cet état. Mais si le conteneurB n'atteint jamais l'état souhaité, alors la tâche reste indéfiniment à l'état PENDING (EN ATTENTE). Assurez-vous de disposer des dépendances de manière appropriée ou évaluez-les.

Pour plus d'informations, consultez Dépendance des conteneurs.


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