Come posso risolvere l'errore "dockertimeouterror unable transition start timeout after wait 3m0s" in Amazon ECS for 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.

Se le attività Fargate vengono eseguite in una sottorete privata senza istanze NAT o gateway configurati, è necessario impostare gli endpoint Amazon Virtual Private Cloud (Amazon VPC) corretti. L’operazione richiede endpoint per:

  • 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**: ** Sono obbligatori se nelle definizioni delle attività si fa riferimento ai parametri dei segreti di Secrets Manager o di Systems Manager Parameter Store per inserire dati sensibili nei container. È 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: Necessario quando le attività Fargate utilizzano awslogs come driver di log. perché 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

  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

  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.

Ora le attività Fargate possono raggiungere gli endpoint CloudWatch creati.


Informazioni correlate

Endpoint VPC di interfaccia Amazon ECR (AWS PrivateLink)

AWS UFFICIALE
AWS UFFICIALEAggiornata 3 anni fa