Comment résoudre l'erreur « cannotpullcontainererror » pour 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 à Amazon ECS d'accéder au référentiel dans lequel l'image est stockée. Sans une mise en réseau adéquate, Amazon ECS sur Fargate ne peut pas extraire l’image et le conteneur ne peut pas démarrer.
Résolution
Pour résoudre l'erreur « cannotpullcontainererror », effectuez les tâches suivantes.
Vérifier 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, vérifiez 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é. Puis, choisissez 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érifier 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 Serveurs de noms de domaine est défini sur AmazonProvidedDNS. S'il n'est pas défini sur AmazonProvidedDNS, configurez le transfert DNS conditionnel.
Vérifier 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érifier 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, vérifiez que image:tag est visible dans le référentiel d'images spécifié.
Vérifier le stockage éphémère 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 ephemeralStorage dans la définition de la 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 de plateforme 1.4.0 ou ultérieure 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.
Informations connexes
Erreurs de tâche CannotPullContainer dans Amazon ECS
Points de terminaison de VPC de l’interface Amazon ECR (AWS PrivateLink)
Stockage éphémère de tâches Fargate pour Amazon ECS
Points de terminaison de VPC de l’interface Amazon ECR (AWS PrivateLink)
Migration vers la version de plateforme Linux 1.4.0 sur Amazon ECS
- Sujets
- Containers
- Langue
- Français

This article was reviewed and updated on 2026-03-02.
Contenus pertinents
demandé il y a un an
demandé il y a un an
demandé il y a un an
AWS OFFICIELA mis à jour il y a 2 ans
AWS OFFICIELA mis à jour il y a 8 mois