Determina lo stato ECS delle attività di Amazon utilizzando i controlli dello stato dei container - Amazon Elastic Container Service

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Determina lo stato ECS delle attività di Amazon utilizzando i controlli dello stato dei container

Quando crei una definizione di attività, puoi configurare un controllo dello stato dei tuoi contenitori. I controlli di integrità sono comandi eseguiti localmente su un contenitore e convalidano lo stato e la disponibilità delle applicazioni.

L'agente Amazon ECS Container monitora e genera report solo sui controlli di integrità specificati nella definizione dell'attività. Amazon ECS non monitora i controlli di integrità di Docker incorporati in un'immagine del contenitore ma non specificati nella definizione del contenitore. I parametri di controllo dello stato specificati in una definizione del container sostituiscono qualsiasi controllo dello stato Docker presente nell'immagine del container.

Quando viene definito un controllo dello stato in una definizione di attività, il contenitore esegue il processo di controllo dello stato all'interno del contenitore, quindi valuta il codice di uscita per determinare lo stato dell'applicazione.

Il controllo dello stato di salute comprende i seguenti parametri:

  • Comando: il comando che il contenitore esegue per determinare se è integro. La matrice di stringhe può iniziare con CMD per eseguire direttamente gli argomenti del comando oppure con CMD-SHELL per eseguire il comando con la shell predefinita del container.

  • Intervallo: il periodo di tempo (in secondi) tra ogni controllo sanitario.

  • Timeout: il periodo di tempo (in secondi) di attesa dell'esito positivo di un controllo sanitario prima che venga considerato un fallimento.

  • Tentativi: il numero di volte in cui si ripete un controllo di integrità non riuscito prima che il contenitore venga considerato inintegro.

  • Periodo di inizio: il periodo di prova opzionale per concedere ai container il tempo necessario per riavviarsi prima che i controlli di integrità non riusciti vengano conteggiati ai fini del numero massimo di nuovi tentativi.

Per informazioni su come specificare un controllo dello stato di salute nella definizione di un'attività, vedere. Controllo dello stato

Di seguito vengono descritti i possibili valori dello stato di salute di un contenitore:

  • HEALTHY: il controllo dell'integrità del container è stato superato correttamente.

  • UNHEALTHY: il controllo dell'integrità del container non è andato a buon fine.

  • UNKNOWN—Il controllo dello stato del container è in fase di valutazione, non è stato definito alcun controllo dello stato del container oppure Amazon ECS non ha lo stato di salute del container.

I comandi di controllo dello stato di salute vengono eseguiti sul contenitore. Pertanto è necessario includere i comandi nell'immagine del contenitore.

Il controllo dello stato si connette all'applicazione tramite l'interfaccia di loopback del contenitore all'indirizzo localhost o. 127.0.0.1 Un codice di uscita pari a 0 indica l'esito positivo, mentre un codice di uscita diverso da zero indica un errore.

Quando utilizzi i controlli dello stato dei contenitori, considera quanto segue:

  • I controlli dello stato dei container richiedono la versione 1.17.0 o successiva dell'agente Amazon ECS Container.

  • I controlli dello stato dei container sono supportati per le attività Fargate se si utilizza una versione della piattaforma Linux 1.1.0 o superiore o una versione della piattaforma Windows o superiore 1.1.0

In che modo Amazon ECS determina lo stato delle attività

I contenitori essenziali e con il comando Health Check nella definizione dell'attività sono gli unici considerati per determinare lo stato dell'attività.

Le seguenti regole vengono valutate nell'ordine:

  1. Se lo stato di un contenitore essenziale èUNHEALTHY, lo stato dell'attività èUNHEALTHY.

  2. Se lo stato di un contenitore essenziale èUNKNOWN, lo stato dell'attività èUNKNOWN.

  3. Se lo stato di tutti i contenitori essenziali èHEALTHY, lo stato dell'attività èHEALTHY.

Considerate il seguente esempio di integrità di un'attività con 2 contenitori essenziali.

Salute del contenitore 1 Salute del contenitore 2 Stato dell'attività
UNHEALTHY UNKNOWN UNHEALTHY
UNHEALTHY HEALTHY UNHEALTHY
HEALTHY UNKNOWN UNKNOWN
HEALTHY HEALTHY HEALTHY

Considerate il seguente esempio di integrità di un'attività con 3 contenitori.

Salute del contenitore 1 Salute del contenitore 2 Salute del contenitore 3 Stato dell'attività
UNHEALTHY UNKNOWN UNKNOWN UNHEALTHY
UNHEALTHY UNKNOWN HEALTHY UNHEALTHY
UNHEALTHY HEALTHY HEALTHY UNHEALTHY
HEALTHY UNKNOWN HEALTHY UNKNOWN
HEALTHY UNKNOWN UNKNOWN UNKNOWN
HEALTHY HEALTHY HEALTHY HEALTHY

In che modo i controlli sanitari vengono influenzati dalle disconnessioni degli agenti

Se l'agente Amazon ECS Container si disconnette dal ECS servizio Amazon, ciò non comporterà la transizione di un container a uno UNHEALTHY stato. Questo è stato progettato per garantire che i contenitori rimangano in funzione durante il riavvio degli agenti o la temporanea indisponibilità. Lo stato del controllo di integrità è l'ultima risposta ricevuta dall'ECSagente Amazon, quindi se il container è stato considerato HEALTHY prima della disconnessione, tale stato rimarrà invariato fino alla riconnessione dell'agente e all'esecuzione di un altro controllo dello stato. Non ci sono ipotesi sullo stato dei controlli dell'integrità del container.