Come posso risolvere i problemi relativi al controllo dell'integrità del container per le attività di Amazon ECS?
La mia attività Amazon Elastic Container Service (Amazon ECS) non supera il controllo dell'integrità del container.
Breve descrizione
Se ricevi il seguente errore, significa che i container Amazon ECS nell’attività utilizzano controlli dell'integrità che il servizio non supera:
"(service AWS-Service) (task ff3e71a4-d7e5-428b-9232-2345657889) failed container health checks."
Risoluzione
Nota: se ricevi errori quando esegui i comandi dell'Interfaccia della linea di comando AWS (AWS CLI), consulta Risoluzione degli errori per AWS CLI. Inoltre, assicurati di utilizzare la versione più recente di AWS CLI.
Verifica localmente il container per assicurarti che superi il controllo dell'integrità
Prima di effettuare il provisioning del container in Amazon ECS, assicurati che funzioni come previsto. Verifica il container con HEALTHCHECK sul sito web Docker Docs. Verifica che il container superi il controllo dell'integrità definito nel Dockerfile. Quindi specifica la configurazione del controllo dell'integrità nella definizione dell'attività, per consentire all'agente container Amazon ECS di monitorare il controllo dell'integrità e generare il relativo report.
Nota: Amazon ECS non monitora i controlli dell'integrità di Docker incorporati nell'immagine di un container e non specificati nella definizione del container. I parametri di controllo dell'integrità specificati nella definizione di un container sostituiscono i controlli dell'integrità di Docker presenti nell'immagine del container.
Accertati di utilizzare la sintassi corretta per le attività Amazon ECS
Verifica che il comando che passi al container sia corretto e accertati di utilizzare la sintassi corretta per i comandi. Non separare il comando di controllo dell'integrità con virgolette doppie, ad esempio ["CMD-SHELL", "healthcheck.sh", "||", "exit 1"]. Utilizza invece la seguente sintassi per il comando:
["CMD-SHELL", "healthcheck.sh || exit 1"]
Dai al container il tempo sufficiente per l'inizializzazione
Se il container richiede molto tempo per essere avviato, potrebbe non superare il controllo dell'integrità. Imposta startPeriod nel parametro di definizione avanzata del container in modo che soddisfi le specifiche esigenze di configurazione.
Per le attività in esecuzione da molto tempo, controlla i log dell'applicazione
Se il container è in esecuzione da molto tempo e non supera il controllo dell'integrità, controlla i log dell'applicazione. Se l'attività utilizza il driver di log awslogs, controlla i log dell'applicazione in Amazon CloudWatch.
Nota: AWS Fargate è un servizio gestito, per cui non puoi accedere all'infrastruttura sottostante. Per risolvere il problema nel caso di Fargate, avvia le attività Amazon ECS in Amazon Elastic Compute Cloud (Amazon EC2). Quindi utilizza SSH per connetterti alle istanze Amazon EC2. Puoi anche utilizzare ECS Exec per interagire direttamente con i container Amazon ECS.
Informazioni correlate
- Argomenti
- Containers
- Lingua
- Italiano
Video correlati


Contenuto pertinente
AWS UFFICIALEAggiornata un anno fa