Le message d’erreur « dockertimeouterror unable transition start timeout after wait 3m0s » s’affiche sur Amazon Elastic Container Service (Amazon ECS) pour mes tâches AWS Fargate.
Brève description
Cette erreur se produit en cas de problème de configuration réseau de vos tâches Fargate. La valeur par défaut du délai de démarrage des tâches Fargate est de 3 minutes. Si une tâche ne passe pas de l’état en attente à l'état en cours d’exécution dans un délai de 3 minutes, elle échoue et passe à l’état arrêté.
Pour les tâches Fargate qui s’exécutent dans un sous-réseau privé sans instance NAT ni passerelle configurée, configurez les points de terminaison Amazon Virtual Private Cloud (Amazon VPC) appropriés. Vous devez disposer des points de terminaison suivants :
- Amazon Elastic Container Registry (Amazon ECR) : Ce point de terminaison est requis pour extraire l’image du référentiel ECR.
- Amazon Simple Storage Service (Amazon S3) : Ce point de terminaison est requis, car Amazon ECR utilise Amazon S3 pour stocker les couches d’images. Pour télécharger des images depuis Amazon ECR, les conteneurs doivent accéder à Amazon ECR pour obtenir le manifeste de l’image et à Amazon S3 pour télécharger les couches d’images.
- AWS Secrets Manager et/ou AWS Systems Manager : Ces points de terminaison sont requis si vous faites référence aux secrets de Secrets Manager ou aux paramètres du magasin de paramètres de Systems Manager dans les définitions de tâches. Vous devez créer les points de terminaison d’un VPC d’interface pour Secrets Manager ou Systems Manager afin que ces tâches puissent atteindre les services. Vous devez créer les points de terminaison uniquement à partir du service spécifique (Secrets Manager ou System Manager) dans lequel vos données sensibles sont hébergées.
- Amazon CloudWatch : Ce point de terminaison est requis lorsque les tâches Fargate utilisent awslogs comme pilote de journalisation. Les tâches qui utilisent le pilote de journalisation awslogs exportent leurs journaux vers CloudWatch. Si vous utilisez awslogs et que le point de terminaison d’un VPC pour CloudWatch est créé mais inactif, les tâches ne peuvent pas atteindre le point de terminaison. Si vous recevez le message d’erreur suivant : « DockerTimeoutError: Could not transition to started; timed out after waiting 3m0s. »
Résolution
Vérifier si la définition de tâche utilise le pilote de journalisation awslogs
Procédez comme suit :
- Ouvrez la console Amazon ECS.
- Dans le volet de navigation, choisissez Définitions des tâches.
- Choisissez la définition utilisée par votre tâche ou service, puis choisissez le nom de la définition de tâche.
- Dans la section Définitions des conteneurs de la définition de tâche, choisissez l’icône d’extension correspondant au conteneur dans la colonne Nom du conteneur.
- Dans la sous-section Configuration du journal, vérifiez que le pilote de journal est défini sur awslogs.
Important : si vos tâches s’exécutent dans un sous-réseau privé sans passerelle NAT ni instance NAT, vous devez utiliser des points de terminaison de VPC.
Vérifier l’existence d’un point de terminaison de VPC pour vos tâches Fargate
Procédez comme suit :
- Ouvrez la console Amazon VPC.
- Dans le volet de navigation, choisissez Points de terminaison.
- Vérifiez si com.amazonaws.region.logs est spécifié dans le champ Nom du service.
Si le point de terminaison n’existe pas, vous devez le créer.
Si le point de terminaison existe, vérifiez qu’il s'agit du même VPC que celui dans lequel les tâches Fargate sont exécutées. Pour ce faire, dans la console VPC, choisissez le point de terminaison, puis recherchez l’ID du VPC dans l’onglet Détails du point de terminaison.
Si le point de terminaison n’est pas utilisé par le même VPC que celui des tâches Fargate, vous devez le créer.
Si le point de terminaison est utilisé par le même VPC que celui des tâches Fargate, vérifiez les points suivants dans le groupe de sécurité associé au VPC :
- La règle d’entrée du groupe de sécurité doit autoriser le trafic sur le port 443 à partir des tâches Fargate.
- Le groupe de sécurité associé aux tâches Fargate doit disposer d’une règle de sortie pour envoyer le trafic sur le port 443 vers le point de terminaison du VPC.
Informations connexes
Points de terminaison de VPC de l’interface Amazon ECR (AWS PrivateLink)