Help us improve the AWS re:Post Knowledge Center by sharing your feedback in a brief survey. Your input can influence how we create and update our content to better support your AWS journey.
Comment résoudre l'erreur "cannotpullcontainererror" associée à mes tâches Amazon ECS sur Fargate ?
Je souhaite résoudre l'erreur "cannotpullcontainererror" afin de pouvoir démarrer mes tâches Amazon Elastic Container Service (Amazon ECS) sur AWS Fargate.
Brève description
L'erreur "cannotpullcontainererror" peut empêcher le démarrage de vos tâches Amazon ECS sur Fargate. Pour ces tâches, vos configurations réseau Amazon Virtual Private Cloud (Amazon VPC) doivent permettre à ECS d'accéder au référentiel dans lequel l'image est stockée. Sans une mise en réseau adéquate, l'image ne peut pas être extraite par Amazon ECS sur Fargate et le conteneur ne peut pas démarrer.
Résolution
Pour résoudre l’erreur "cannotpullcontainererror", effectuez les tâches suivantes.
Vérifiez que votre VPC autorise votre infrastructure Amazon ECS à accéder au référentiel d'images
Les tables de routage associées aux sous-réseaux dans lesquels votre tâche est créée doivent permettre à votre infrastructure Amazon ECS d'atteindre le point de terminaison du référentiel. Le point de terminaison est accessible via une passerelle Internet, une passerelle NAT ou des points de terminaison de VPC.
Pour les configurations qui n'utilisent pas AWS PrivateLink, procédez comme suit :
- Ouvrez la console Amazon VPC.
- Dans le volet de navigation, choisissez Sous-réseaux.
- Sélectionnez le sous-réseau utilisé par votre tâche ECS Fargate.
- Choisissez l’onglet Table de routage.
- Dans la colonne Destination, vérifiez que la route par défaut (0.0.0.0/0) de la table de routage autorise l'accès public à Internet. Cet accès peut se faire par le biais d'une passerelle NAT ou d'une passerelle Internet.
Important : La passerelle NAT ou la passerelle Internet doit être la cible de la route par défaut. Pour des exemples de tables de routage, consultez la section Exemples d'options de routage. Si vous n'utilisez pas de passerelle NAT ou de passerelle Internet, assurez-vous que votre configuration personnalisée autorise l'accès public à Internet.
Si vous utilisez une passerelle Internet (sous-réseaux publics), vérifiez qu'une adresse IP publique est attribuée à la tâche. Lorsque vous créez la tâche ou le service, définissez l'attribution automatique de l'adresse IP publique sur Activé dans la section VPC et groupes de sécurité.
Pour les configurations qui utilisent PrivateLink, vérifiez que les groupes de sécurité de vos points de terminaison de VPC autorisent l'infrastructure Fargate à les utiliser.
Remarque : Les tâches Amazon ECS hébergées sur Fargate qui utilisent la version 1.3.0 ou une version antérieure requièrent le point de terminaison de VPC Amazon Elastic Container Registry (Amazon ECR) com.amazonaws.region.ecr.dkr. Ces tâches requièrent également le point de terminaison de passerelle Amazon Simple Storage Service (Amazon S3). Les tâches Amazon ECS hébergées sur Fargate qui utilisent la version 1.4.0 ou ultérieure requièrent les points de terminaison de VPC Amazon ECR com.amazonaws.region.ecr.dkr et com.amazonaws.region.ecr.api. Ces tâches requièrent également le point de terminaison de passerelle Amazon S3.
Pour les configurations qui utilisent PrivateLink, procédez comme suit :
- Ouvrez la console Amazon VPC.
- Dans le volet de navigation, sélectionnez Points de terminaison.
- Sélectionnez le point de terminaison dans la liste des points de terminaison, puis choisissez l'onglet Sous-réseaux. Les points de terminaison de VPC com.amazonaws.region.ecr.dkr et com.amazonaws.region.ecr.api pour Amazon ECR apparaissent dans la liste des sous-réseaux et sont associés aux sous-réseaux Fargate. La passerelle Amazon S3 figure également sur la liste de sous-réseaux.
Remarque : Si aucun sous-réseau n'est répertorié, choisissez Gérer les sous-réseaux. Puis, sélectionnez le sous-réseau en fonction de sa zone de disponibilité. Choisissez ensuite Modifier les sous-réseaux. - Choisissez l'onglet Politique, puis vérifiez que les exigences de politique appropriées sont respectées.
- Vérifiez que le groupe de sécurité associé aux points de terminaison de VPC com.amazonaws.region.ecr.api et com.amazonaws.region.ecr.dkr autorise les connexions entrantes sur le port 443 à partir des tâches Amazon ECS pour Fargate. Pour confirmer ce paramètre, sélectionnez le point de terminaison dans la liste.
- Choisissez l'onglet Groupes de sécurité.
- Dans ID de groupe, choisissez l'ID du groupe de sécurité.
- Choisissez l'onglet Règles entrantes, puis vérifiez que vous pouvez voir la règle qui autorise les connexions 443 à partir de vos tâches ECS sur Fargate.
Vérifiez le jeu d'options DHCP du VPC
Procédez comme suit :
- Ouvrez la console Amazon VPC.
- Dans le volet de navigation, cliquez sur Vos VPC.
- Sélectionnez le VPC qui contient votre tâche Fargate.
- Dans l'onglet Détails, notez le paramètre défini pour Jeu d’options DHCP.
- Dans le volet de navigation, cliquez sur Jeux d'options DHCP.
- Sélectionnez le jeu d'options DHCP que vous avez noté.
- Choisissez Actions, puis Afficher les détails.
- Vérifiez que les serveurs de noms de domaine sont définis sur AmazonProvidedDNS. S'il n'est pas défini sur AmazonProvidedDNS, configurez le transfert DNS conditionnel.
Vérifiez les autorisations du rôle d'exécution de tâche
Procédez comme suit :
- Ouvrez la console Gestion des identités et des accès AWS (AWS IAM).
- Dans le volet de navigation, sélectionnez Rôles.
- Sélectionnez le rôle d'exécution de tâche utilisé par vos tâches Fargate.
- Vérifiez que le rôle d'exécution de tâche dispose des autorisations nécessaires pour extraire une image depuis Amazon ECR.
Vérifiez que l'image existe
Procédez comme suit :
- Ouvrez la console Amazon EC2.
- Sélectionnez le référentiel Amazon ECR dont votre tâche Fargate extrait l'image.
- Vérifiez que l'URI et l’identification dans Amazon ECR sont identiques à ceux spécifiés dans la définition de tâche. Si l'image est manquante, vérifiez si une politique de cycle de vie gère les images.
Remarque : Si vous n'utilisez pas Amazon ECR, assurez-vous de voir image:tag dans le référentiel d'images spécifié.
Vérifiez l’ephemeralStorage alloué à la tâche Fargate
Par défaut, 20 Go de stockage éphémère sont alloués aux tâches Fargate. Si la taille de votre image est trop grande, une erreur similaire à la suivante s'affiche :
"CannotPullContainerError: ref pull has been retried 1 time(s): failed to extract layer no space left on device: unknown"
Remarque : Étant donné que ce stockage est utilisé pour les fichiers temporaires, les journaux et d'autres processus, l'erreur peut s'afficher même si la taille de l'image est plus petite.
Pour résoudre le problème, modifiez l'allocation dans la définition de tâche. Pour plus d'informations, consultez la section Stockage éphémère de tâches Fargate pour Amazon ECS
Remarque : Les tâches Fargate qui utilisent la version 1.4.0 ou ultérieure de la plateforme reçoivent au moins 20 GiB de stockage éphémère. La quantité totale de stockage éphémère peut être augmentée jusqu'à un maximum de 200 GiB.
- Sujets
- Containers
- Langue
- Français

Contenus pertinents
- demandé il y a 8 mois
- demandé il y a 9 mois
- demandé il y a 7 mois
AWS OFFICIELA mis à jour il y a 2 ans