Come posso risolvere l'errore "cannotpullcontainererror" relativo alle mie attività Amazon ECS su Fargate?
Desidero risolvere l'errore "cannotpullcontainererror" in modo da poter avviare le mie attività Amazon Elastic Container Service (Amazon ECS) su AWS Fargate.
Breve descrizione
L'errore "cannotpullcontainererror" può impedire l'avvio delle attività Amazon ECS su Fargate. Per queste attività, le configurazioni di rete di Amazon Virtual Private Cloud (Amazon VPC) devono consentire a ECS di accedere al repository in cui è archiviata l'immagine. Senza la rete corretta, l'immagine non può essere estratta da Amazon ECS su Fargate e il container non può essere avviato.
Risoluzione
Per risolvere l'errore "cannotpullcontainererror", completa le seguenti attività.
Verifica che il VPC consenta all'infrastruttura Amazon ECS di raggiungere il repository di immagini
Le tabelle di routing associate alle sottoreti in cui viene creata l'attività devono consentire all'infrastruttura Amazon ECS di raggiungere l'endpoint del repository. L'endpoint può essere raggiunto tramite un gateway Internet, un gateway NAT o endpoint VPC.
Per le configurazioni che non utilizzano AWS PrivateLink, completa i seguenti passaggi:
- Apri la console Amazon VPC.
- Nel pannello di navigazione, scegli Sottoreti.
- Seleziona la sottorete utilizzata dall'attività ECS Fargate.
- Scegli la scheda Tabella di routing.
- Nella colonna Destinazione, verifica che la route predefinita (0.0.0.0/0) della tabella di routing consenta l'accesso pubblico a Internet. Questo accesso può avvenire tramite un gateway NAT o un gateway Internet.
Importante: il gateway NAT o il gateway Internet deve essere la destinazione della route predefinita. Per esempi di tabelle di routing, consulta Opzioni di routing di esempio. Se non utilizzi un gateway NAT o un gateway Internet, assicurati che la configurazione personalizzata consenta l'accesso pubblico a Internet.
Se utilizzi un gateway Internet (sottoreti pubbliche), conferma che all'attività sia assegnato un IP pubblico. Quando crei l'attività o il servizio, imposta Assegna automaticamente IP pubblico su Abilitato nella sezione VPC e gruppi di sicurezza.
Per le configurazioni che utilizzano PrivateLink, verifica che i gruppi di sicurezza per gli endpoint VPC consentano all'infrastruttura Fargate di utilizzarli.
Nota: le attività Amazon ECS ospitate su Fargate che utilizzano la versione 1.3.0 o precedente richiedono l'endpoint VPC di Amazon Elastic Container Registry (Amazon ECR) com.amazonaws.region.ecr.dkr. Queste attività richiedono anche l'endpoint gateway di Amazon Simple Storage Service (Amazon S3). Le attività Amazon ECS ospitate su Fargate che utilizzano la versione 1.4.0 o successiva richiedono gli endpoint VPC di Amazon ECR com.amazonaws.region.ecr.dkr e com.amazonaws.region.ecr.api. Queste attività richiedono anche l'endpoint gateway di Amazon S3.
Per le configurazioni che utilizzano PrivateLink, completa i passaggi seguenti:
- Apri la console Amazon VPC.
- Nel pannello di navigazione, scegli Endpoint.
- Seleziona l'endpoint dal relativo elenco, quindi scegli la scheda Sottoreti. Gli endpoint VPC com.amazonaws.region.ecr.dkr and com.amazonaws.region.ecr.api per Amazon ECR vengono visualizzati nell'elenco delle sottoreti e associati alle sottoreti Fargate. Anche il gateway per Amazon S3 è nell'elenco delle sottoreti.
Nota: se una sottorete non è elencata, scegli Gestisci sottoreti. Quindi seleziona la sottorete in base alla sua zona di disponibilità. Successivamente scegli Modifica sottoreti. - Scegli la scheda Policy, quindi verifica che siano soddisfatti i requisiti della policy corretti.
- Verifica che il gruppo di sicurezza collegato agli endpoint VPC com.amazonaws.region.ecr.api e com.amazonaws.region.ecr.dkr consenta le connessioni in entrata sulla porta 443 dalle attività Amazon ECS per Fargate. Per verificare questa impostazione, seleziona l'endpoint dall'elenco.
- Scegli la scheda Gruppi di sicurezza.
- Per ID gruppo, scegli l'ID del gruppo di sicurezza.
- Scegli la scheda Regole in entrata, quindi verifica che sia visibile la regola che consente le connessioni 443 dalle attività ECS su Fargate.
Controlla il set di opzioni DHCP VPC
Completa i seguenti passaggi:
- Apri la console Amazon VPC.
- Nel pannello di navigazione, scegli I tuoi VPC.
- Seleziona il VPC che contiene l'attività Fargate.
- Nella scheda Dettagli, annota l'impostazione per Set di opzioni DHCP.
- Nel pannello di navigazione, scegli Set di opzioni DHCP.
- Seleziona il set di opzioni DHCP che hai annotato.
- Scegli Operazioni, quindi seleziona Visualizza dettagli.
- Verifica che Server dei nomi di dominio (DNS) sia impostato su AmazonProvidedDNS. Se non è impostato su AmazonProvidedDNS, configura l'inoltro DNS condizionale.
Controlla le autorizzazioni del ruolo di esecuzione dell'attività
Completa i seguenti passaggi:
- Apri la console AWS Identity and Access Management (AWS IAM).
- Nel pannello di navigazione, scegli Ruoli.
- Seleziona il ruolo di esecuzione dell'attività utilizzato dalle attività di Fargate.
- Verifica che il ruolo di esecuzione dell'attività abbia le autorizzazioni per estrarre un'immagine da Amazon ECR.
Verifica che l'immagine esista
Completa i seguenti passaggi:
- Apri la console Amazon ECR.
- Seleziona il repository di Amazon ECR da cui l'attività di Fargate estrae l'immagine.
- Verifica che l'URI e il tag in Amazon ECR siano gli stessi specificati nella definizione dell'attività. Se l'immagine manca, controlla se una policy del ciclo di vita gestisce le immagini.
Nota: se non utilizzi Amazon ECR, assicurati di visualizzare image:tag nel repository di immagini specificato.
Controlla il valore ephemeralStorage assegnato all'attività Fargate
Per impostazione predefinita, alle attività Fargate vengono assegnati 20 GiB di spazio di archiviazione effimera. Se le dimensioni dell'immagine sono troppo grandi, ricevi un errore simile al seguente:
"CannotPullContainerError: ref pull has been retried 1 time(s): failed to extract layer no space left on device: unknown"
Nota: poiché questo spazio di archiviazione viene utilizzato per file temporanei, log e altri processi, potresti ricevere l'errore anche se l'immagine è di dimensioni inferiori.
Per risolvere il problema, modifica l'allocazione nella definizione dell'attività. Per ulteriori informazioni, consulta Archiviazione effimera delle attività Fargate per Amazon ECS.
Nota: le attività Fargate che utilizzano la versione della piattaforma 1.4.0 o successiva hanno un minimo di 20 GiB di spazio di archiviazione effimera. Lo spazio totale di archiviazione effimera può essere aumentato fino a un massimo di 200 GiB.
- Argomenti
- Containers
- Lingua
- Italiano
