Come posso risolvere il problema relativo ad attività Amazon ECS che si interrompono o non vengono avviate quando il mio container si chiude?
Desidero risolvere un problema relativo a un'attività Amazon Elastic Container Service (Amazon ECS) non riuscita in un cluster ECS.
Breve descrizione
I container possono chiudersi a causa di problemi legati alle immagini, alle applicazioni, a limitazioni delle risorse o altro.
Se la causa del problema è relativo a un'immagine, consulta How do I resolve the "Image does not exist" error when my tasks fail to start in my Amazon ECS cluster?
Per le attività AWS Fargate che si interrompono inaspettatamente, consulta Amazon ECS stopped tasks error messages.
Per analizzare altri problemi che causano il mancato avvio di un'attività ECS, puoi usare il runbook di Automazione AWS Systems Manager AWSSupport-TroubleshootECSTaskFailedToStart.
Puoi anche risolvere manualmente i problemi del cluster Amazon ECS.
Risoluzione
Nota: se si verificano errori durante l'esecuzione dei comandi dell'interfaccia della linea di comando AWS (AWS CLI), consulta Troubleshooting errors for the AWS CLI. Inoltre, assicurati di utilizzare la versione più recente di AWS CLI.
Esegui il runbook per risolvere i problemi del cluster
Prima di avviare il runbook AWSSupport-TroubleshootECSTaskFailedToStart, assicurati che il tuo utente o ruolo IAM disponga delle autorizzazioni necessarie. Per ulteriori informazioni, consulta la sezione Required IAM permissions di AWSSupport-TroubleshootECSTaskFailedToStart.
Per avviare il runbook, completa i passaggi seguenti:
- Apri il documento AWSSupport-TroubleshootECSTaskFailedToStart nella console AWS Systems Manager.
- Scegli Esegui automazione.
- Immetti i valori seguenti per i parametri di input:
(Facoltativo) AutomationAssumeRole: l'ARN del ruolo IAM che consente ad Automation di eseguire azioni per tuo conto. Se non specifichi un ruolo, l'automazione userà le autorizzazioni dell'utente che avvia il runbook.
ClusterName: il nome del cluster ECS dove l'attività non si è avviata.
(Facoltativo) CloudwatchRetentionPeriod: il tempo di conservazione, in giorni, per il quale archiviare i log delle funzioni AWS Lambda in Amazon CloudWatch Logs.
Nota: definisci questo valore quando l'analisi determina che devi testare la connettività di rete. Il valore predefinito è 30 giorni. Gli altri valori validi sono 1, 3, 5, 7, 14, 60 e 90.
TaskId: l'ID dell'attività non riuscita più recente. - Scegli Esegui.
Nota: per ulteriori informazioni sui passaggi del runbook, consulta la sezione Document Steps di AWSSupport-TroubleshootECSTaskFailedToStart. - Esamina i risultati dettagliati nella sezione Output. L'output include le informazioni seguenti:
TaskFailureReason: un'analisi del motivo dell'errore dell'attività finale.
ExecutionLogs: i log di output di ogni passaggio eseguito dal runbook.
ENI_Deletion_Message.Status: lo stato dell'eliminazione dell'interfaccia di rete elastica del cloud privato virtuale (VPC) di Lambda quando il runbook crea una funzione Lambda per testare la connettività di rete.
Nota: se ENI_Deletion_Message mostra che l'interfaccia di rete non è stata eliminata, eliminala manualmente.
Risolvi manualmente i problemi del cluster ECS
Controlla se sono presenti informazioni diagnostiche nel log degli eventi del servizio. Inoltre, utilizza la console Amazon ECS o AWS CLI per verificare la presenza di errori nelle attività interrotte.
Per risolvere i problemi relativi ai vincoli di memoria, consulta Come posso allocare memoria alle attività in Amazon ECS?
Se hai già configurato un driver di log, verifica la presenza di eventuali problemi legati all'applicazione nei relativi log. Ad esempio, se hai configurato il driver di log awslogs nella definizione dell'attività, visualizza i log del container awslogs in Amazon CloudWatch. In alternativa, utilizza le opzioni di configurazione dei log nella definizione dell'attività per inviare i log a un driver di log supportato per il container.
Attività ECS diverse da quelle di Fargate
Se utilizzi il driver di log dei file JSON predefinito con il tipo di avvio Amazon Elastic Compute Cloud (Amazon EC2), esegui il comando docker logs seguente:
docker logs dc7240fe892a
Nota: sostituisci dc7240fe892a con l'ID del tuo contenitore.
Il comando precedente controlla i log Docker del container sull'istanza di container ECS. Per ulteriori informazioni sul driver di log JSON, consulta JSON File logging driver sul sito web Docker.
Attività di Fargate
Il driver di log awslogs passa i log da Docker a CloudWatch Logs. I log mostrano i flussi I/O STDOUT e STDERR dagli output dei comandi.
Informazioni correlate
Flussi di lavoro di automazione del Supporto AWS (SAW)
Run an automated operation powered by Systems Manager Automation
Contenuto pertinente
- AWS UFFICIALEAggiornata 7 mesi fa
- AWS UFFICIALEAggiornata 2 anni fa