View a markdown version of this page

Hook del ciclo di vita per le implementazioni di servizi Amazon ECS - 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à.

Hook del ciclo di vita per le implementazioni di servizi Amazon ECS

Quando una distribuzione inizia, avanza attraverso le fasi del ciclo di vita. Ogni fase può trovarsi in uno stato come o. IN_PROGRESS SUCCEEDED È possibile configurare i lifecycle hook in fasi specifiche per eseguire logiche personalizzate o introdurre punti decisionali prima che la distribuzione proceda. Amazon ECS supporta due tipi di ganci per il ciclo di vita:

Ganci Lambda

Amazon ECS richiama una funzione Lambda in fasi specifiche di una distribuzione. La tua funzione contiene la tua logica personalizzata e deve restituire un oggetto JSON contenente un hookStatus di SUCCEEDED o indicare IN_PROGRESS ad Amazon ECS come procedere. FAILED Puoi utilizzare questi hook per eseguire test di convalida, applicare politiche di governance o implementare passaggi di approvazione personalizzati prima che la distribuzione proceda. Per ulteriori informazioni, consulta Ganci Lambda per le implementazioni di servizi Amazon ECS.

Metti in pausa gli hook

Amazon ECS sospende la distribuzione in una fase del ciclo di vita configurata e attende che tu chiami l'ContinueServiceDeploymentAPI per continuare o ripristinare. Mentre sei in pausa, puoi eseguire i tuoi flussi di lavoro esternamente, ad esempio approvazioni manuali, test di integrazione con strumenti esistenti, controlli di fattibilità operativa o fasi della pipeline. CI/CD Per ulteriori informazioni, consulta Metti in pausa gli hook per le distribuzioni dei servizi Amazon ECS.

Puoi configurare sia gli hook Lambda che gli hook di pausa nella stessa fase del ciclo di vita. Entrambi gli hook devono essere completati prima che l'implementazione passi alla fase successiva.

Dettagli del gancio del ciclo di vita

Quando gli hook sono attivi durante una distribuzione, puoi visualizzarne lo stato chiamando. DescribeServiceDeployments La risposta include un lifecycleHookDetails array con i seguenti campi per ogni hook attivo:

Campo Description
hookId L'identificatore univoco per l'esecuzione di questo hook. Usa questo valore quando richiami ContinueServiceDeployment gli hook di pausa.
targetType Il tipo di gancio: AWS_LAMBDA o. PAUSE
targetArn L'ARN del bersaglio del gancio. Per i ganci Lambda, questa è la funzione Lambda ARN. Per gli hook di pausa, questo campo non è impostato.
status Lo stato attuale dell'hook:AWAITING_ACTION,,, IN_PROGRESS SUCCEEDEDFAILED, o. TIMED_OUT
expiresAt La data e l'ora di scadenza dell'hook. (Esempio: T12:06:49-07:00 2026-05-06)
timeoutAction L'azione intrapresa da Amazon ECS allo scadere del timeout: ROLLBACK oCONTINUE.

Categorie della fase del ciclo di vita

Le fasi del ciclo di vita rientrano in due categorie:

  1. Fasi di chiamata singole: Amazon ECS richiama queste fasi solo una volta durante l'implementazione di un servizio:

    • RECONCILE_SERVICE

    • PRE_SCALE_UP

    • POST_SCALE_UP

    • TEST_TRAFFIC_SHIFT

    • POST_TEST_TRAFFIC_SHIFT

    • POST_PRODUCTION_TRAFFIC_SHIFT

  2. Fasi di chiamata ricorrenti: Amazon ECS può richiamare queste fasi più volte durante l'implementazione di un servizio. Per le implementazioni lineari e canarie, queste fasi vengono richiamate in ogni fase di spostamento del traffico:

    • PRE_PRODUCTION_TRAFFIC_SHIFT

    • PRODUCTION_TRAFFIC_SHIFT

Nota

Gli hook di pausa non possono essere configurati in TEST_TRAFFIC_SHIFT o PRODUCTION_TRAFFIC_SHIFT perché queste fasi vengono richiamate anche durante il rollback. La pausa durante un rollback richiederebbe una chiamata aggiuntiva ContinueServiceDeployment per completare il rollback.

Fasi supportate per tipo di hook

Fase del ciclo di vita Ganci Lambda Metti in pausa i ganci
RECONCILE_SERVICE
PRE_SCALE_UP
POST_SCALE_UP
TEST_TRAFFIC_SHIFT No
POST_TEST_TRAFFIC_SHIFT
PRE_PRODUCTION_TRAFFIC_SHIFT
PRODUCTION_TRAFFIC_SHIFT No
POST_PRODUCTION_TRAFFIC_SHIFT