Usando AWS re:Post, accetti AWS re:Post Termini di utilizzo

Come posso risolvere l'errore "dockertimeouterror unable transition start timeout after wait 3m0s" in Amazon ECS per Fargate?

4 minuti di lettura
0

Ricevo l'errore "dockertimeouterror unable transition start timeout after wait 3m0s" sulle mie attività Amazon Elastic Container Service (Amazon ECS) per AWS Fargate.

Breve descrizione

Questo errore si verifica in presenza di un problema di configurazione di rete con le attività Fargate. Per Fargate, il valore predefinito del timeout di avvio è 3 minuti. Se un'attività non passa dallo stato In sospeso allo stato In esecuzione entro 3 minuti, risulta non eseguita e passa allo stato Arrestata.

Per le attività di Fargate eseguite in una sottorete privata senza istanza NAT o gateway configurati, configura gli endpoint Amazon Virtual Private Cloud (Amazon VPC) corretti. È necessario disporre dei seguenti endpoint:

  • Amazon Elastic Container Registry (Amazon ECR): Necessario per estrarre l'immagine dal repository ECR.
  • Amazon Simple Storage Service (Amazon S3): Necessario perché Amazon ECR utilizza Amazon S3 per archiviare i livelli immagine. Quando i container scaricano immagini da Amazon ECR, devono accedere ad Amazon ECR per scaricare il manifesto delle immagini e ad Amazon S3 per scaricare i livelli immagine effettivi.
  • AWS Secrets Manager e/o AWS Systems Manager: Questi endpoint sono necessari se si fa riferimento ai segreti di Secrets Manager o ai parametri di Systems Manager Parameter Store nelle definizioni delle attività. È necessario creare gli endpoint VPC di interfaccia per Secrets Manager o Systems Manager in modo che tali attività possano raggiungere i servizi. È necessario creare gli endpoint solo dal servizio specifico (Secrets Manager o System Manager) in cui sono ospitati i dati sensibili.
  • Amazon CloudWatch: Questo endpoint è necessario quando le attività di Fargate utilizzano awslogs come driver di registrazione. Le attività che utilizzano awslogs come driver di log esportano i propri log su CloudWatch. Se si utilizza awslogs e l'endpoint VPC per CloudWatch è stato creato ma non configurato, le attività non possono raggiungere l'endpoint. Viene visualizzato il seguente errore: "DockerTimeoutError: Impossibile effettuare la transizione allo stato avviato. Timeout dopo un’attesa di 3 m 0 s."

Risoluzione

Controlla se la definizione dell’attività utilizza il driver di log awslogs

Completa i seguenti passaggi:

  1. Apri la console Amazon ECS.
  2. Nel pannello di navigazione, seleziona Definizioni di attività.
  3. Seleziona la definizione dell’attività utilizzata dall'attività o dal servizio e scegli il nome della definizione dell'attività.
  4. Nella sezione Definizione di container della definizione dell'attività, seleziona l'icona di espansione per il container nella colonna Nome container.
  5. Nella sottosezione Configurazione del registro, controlla se Driver di log è impostato su awslogs.

Importante: È necessario utilizzare gli endpoint VPC se le attività vengono eseguite in una sottorete privata senza gateway NAT o istanze NAT.

Conferma di disporre di un endpoint VPC per le tue attività Fargate

Completa i seguenti passaggi:

  1. Apri la console Amazon VPC.
  2. Nel pannello di navigazione, seleziona Endpoint.
  3. Controlla se com.amazonaws.region.logs esiste nel campo Nome del servizio.

Se l'endpoint non esiste, crea un nuovo endpoint.

Se l'endpoint esiste, conferma che l'endpoint sia lo stesso VPC su cui sono in esecuzione le attività Fargate. Per eseguire questa operazione nella console VPC, seleziona l'endpoint e cerca l'ID VPC nella scheda Dettagli dell'endpoint.

Se l'endpoint non viene utilizzato dallo stesso VPC delle attività Fargate, crea un nuovo endpoint.

Se l'endpoint viene utilizzato dallo stesso VPC delle attività Fargate, controlla il gruppo di sicurezza associato al VPC per quanto segue:

  • La regola di ingresso del gruppo di sicurezza deve consentire il traffico sulla porta 443 dalle attività Fargate.
  • Il gruppo di sicurezza associato all'attività Fargate deve disporre di una regola di uscita per inviare il traffico sulla porta 443 all'endpoint VPC.

Informazioni correlate

Endpoint VPC di interfaccia Amazon ECR (AWS PrivateLink)

AWS UFFICIALE
AWS UFFICIALEAggiornata 6 mesi fa