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à.
Logica ECS di accelerazione del servizio Amazon
Il ECS service scheduler di Amazon include una logica che limita la frequenza con cui le attività di servizio vengono avviate se ripetutamente non vengono avviate.
Se le attività relative a un servizio non vengono ripetutamente inserite nello RUNNING
stato (passando direttamente da uno STOPPED
stato PENDING
a a uno), il tempo tra i successivi tentativi di riavvio viene aumentato in modo incrementale fino a un massimo di 27 minuti. Questo periodo massimo è soggetto a modifiche in futuro. Questo comportamento riduce l'effetto delle attività non riuscite sulle risorse del ECS cluster Amazon o sui costi dell'infrastruttura Fargate. Se il servizio attiva la logica di limitazione, riceverai il seguente messaggio di evento relativo al servizio:
(service
service-name
) is unable to consistently start tasks successfully.
Amazon ECS non impedisce mai a un servizio in errore di riprovare. Inoltre, non prova a modificarlo in alcun modo se non aumentando il tempo tra i riavvii. La logica di limitazione del servizio non fornisce parametri regolabili dall'utente.
Se aggiorni il servizio per l'utilizzo di una nuova definizione di attività, il servizio torna immediatamente a uno stato normale non limitato. Per ulteriori informazioni, consulta Aggiornamento di un ECS servizio Amazon tramite la console.
Di seguito sono riportate alcune cause comuni che avviano questa logica. Ti consigliamo di intraprendere un'azione manuale per risolvere il problema:
-
Mancanza di risorse su cui ospitare l'attività, ad esempio porte, memoria o CPU unità nel cluster. In questo caso, viene anche visualizzato il messaggio di evento relativo al servizio delle risorse insufficienti.
-
L'agente ECS container Amazon non può recuperare l'immagine Docker della tua attività. Ciò potrebbe essere dovuto al nome di un'immagine del container non corretto, a un'immagine o un tag non corretti o alla mancanza di autenticazione o delle autorizzazioni dei registri privati. In questo caso, viene anche visualizzato
CannotPullContainerError
negli errori di attività interrotte. -
Lo spazio su disco insufficiente nell'istanza di container per poter creare il container. In questo caso, viene anche visualizzato
CannotCreateContainerError
negli errori di attività interrotte. Per ulteriori informazioni, consulta Risolvi i problemi relativi al Docker in Amazon API error (500): devmapper ECS.
Importante
Le attività interrotte dopo che hanno raggiunto lo stato RUNNING
non attivano la logica di limitazione o il messaggio di evento relativo al servizio associato. Ad esempio, supponiamo che i controlli di integrità di Elastic Load Balancing falliti per un servizio facciano sì che un'attività venga contrassegnata come non integra e che ECS Amazon la annulli e interrompa l'attività. A questo punto, le attività non vengono limitate. Anche se il comando del container di un'attività termina immediatamente con un codice di uscita diverso zero, l'attività è già passata allo stato RUNNING
. Le attività che non riescono immediatamente a causa di errori di comando non provocano la limitazione o il messaggio di evento relativo al servizio.