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
hookStatusdiSUCCEEDEDo indicareIN_PROGRESSad Amazon ECS come procedere.FAILEDPuoi 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:
-
Fasi di chiamata singole: Amazon ECS richiama queste fasi solo una volta durante l'implementazione di un servizio:
RECONCILE_SERVICEPRE_SCALE_UPPOST_SCALE_UPTEST_TRAFFIC_SHIFTPOST_TEST_TRAFFIC_SHIFTPOST_PRODUCTION_TRAFFIC_SHIFT
-
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_SHIFTPRODUCTION_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 |
Sì | Sì |
PRE_SCALE_UP |
Sì | Sì |
POST_SCALE_UP |
Sì | Sì |
TEST_TRAFFIC_SHIFT |
Sì | No |
POST_TEST_TRAFFIC_SHIFT |
Sì | Sì |
PRE_PRODUCTION_TRAFFIC_SHIFT |
Sì | Sì |
PRODUCTION_TRAFFIC_SHIFT |
Sì | No |
POST_PRODUCTION_TRAFFIC_SHIFT |
Sì | Sì |