In che modo è possibile risolvere i problemi relativi ai controlli di integrità per le attività di Amazon ECS su Fargate?

4 minuti di lettura
0

Ricevo errori di controllo dell'integrità delle mie attività Amazon Elastic Container Service (Amazon ECS) su AWS Fargate.

Risoluzione

Risolvi gli errori relativi al bilanciatore del carico più comuni

Se ricevi uno dei seguenti errori:

  • (service AWS-service) (port 8080) is unhealthy in (target-grouparn:uxyztargetgroup/aws-targetgroup/123456789) due to (reason Health checks failed with these codes: [502]) or [request timeout]
  • (service AWS-Service) (port 8080) is unhealthy in target-group tf-20190411170 due to (reason Health checks failed)

Prova questi passaggi per la risoluzione dei problemi:

  • Se il container è mappato sulla porta 80, verifica che il gruppo di sicurezza del container consenta il traffico in entrata sulla porta 80 per il bilanciatore del carico.
  • Verifica che il valore della porta ping per lo stato del tuo bilanciatore del carico sia configurato correttamente. Se questa porta non è configurata correttamente, il bilanciatore del carico potrebbe annullare la registrazione del container da solo.
  • Definisci un periodo di tolleranza del controllo dello stato minimo. Questa impostazione indica al pianificatore di servizi di ignorare i controlli dell'integrità di Elastic Load Balancing per un periodo di tempo predefinito dopo l'inizio di un'attività.
  • Monitora le metriche della CPU e della memoria del servizio. Ad esempio, una CPU elevata può impedire all'applicazione di rispondere e generare un errore 502.
  • Controlla i log delle applicazioni per verificare la presenza di errori.
  • Controlla se la porta ping e il percorso di controllo dell'integrità sono configurati correttamente.
  • Assicurati che il tuo database di backend sia connesso correttamente. Ciò presuppone che l’applicazione venga eseguita come una serie di attività avviate da Amazon Elastic Container Service (Amazon ECS) su istanze Amazon Elastic Compute Cloud (Amazon EC2). Presuppone inoltre che l’applicazione non sia in grado di comunicare con il database Amazon Relational Database Service (Amazon RDS).

Risolvere gli errori 504

È possibile ricevere un errore 504 per uno dei seguenti motivi:

  • Il bilanciatore del carico non è riuscito a stabilire una connessione alla destinazione prima della scadenza del timeout della connessione (10 secondi).
  • Il bilanciatore del carico ha stabilito una connessione con la destinazione, ma quest'ultima non ha risposto prima che sia trascorso il periodo di timeout di inattività.
  • La lista di controllo degli accessi (ACL) per la sottorete non consente il traffico dalle destinazioni ai nodi del bilanciatore del carico sulle porte effimere (1024-65535)

Se ricevi un errore 504, come il seguente:

  • (service AWS-Service) (port 8080) is unhealthy in target-group due to (reason Health checks failed with these codes:[504]

Prova questi passaggi per la risoluzione dei problemi:

  • Conferma che c'è una risposta positiva dal backend senza indugio.
  • Imposta correttamente il valore del timeout di risposta.
    Nota: il timeout di risposta corrisponde alla quantità di tempo a disposizione del container per restituire una risposta al ping del controllo dell'integrità. Se questo valore è inferiore al tempo richiesto per una risposta, il controllo dell'integrità ha esito negativo.
  • Controlla i log di accesso del bilanciatore del carico per ulteriori informazioni sugli errori.

Risolvere i problemi relativi ai controlli sullo stato dei container non riusciti

Se ricevi il seguente errore, significa che il tuo servizio non è integrato con il bilanciatore del carico, ma i container della tua attività stanno utilizzando controlli dell'integrità che il tuo servizio non può superare:

  • (servizio AWS-Service) (attività ff3e71a4-d7e5-428b-9232-2345657889) controlli dell'integrità del container non riusciti

Prova i seguenti passaggi per la risoluzione dei problemi:

  • Verifica che il comando che stai passando al container sia corretto e abbia la sintassi corretta.
  • Controlla i log delle tue applicazioni e i log di Amazon CloudWatch se l'attività è in esecuzione da un po' di tempo.

Nota: non puoi accedere all'host sottostante perché Fargate è gestito da AWS. Per ulteriori risoluzioni dei problemi, avvia le tue attività Amazon ECS in Amazon EC2. Quindi, connetti le istanze EC2 utilizzando SSH.


Informazioni correlate

Service definition parameters

Advanced container definition parameters

Enable access logging

Troubleshoot your Application Load Balancers

AWS UFFICIALE
AWS UFFICIALEAggiornata 2 anni fa