Completa un'azione del ciclo di vita in un gruppo Auto Scaling - Amazon EC2 Auto Scaling

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à.

Completa un'azione del ciclo di vita in un gruppo Auto Scaling

Quando un gruppo con scalabilità automatica risponde a un evento del ciclo di vita, mette l'istanza in stato di attesa e invia una notifica di evento. Mentre l'istanza è in stato di attesa, è possibile eseguire un'operazione personalizzata.

Completare l'azione del ciclo di vita con il risultato di CONTINUE è utile se termini prima della scadenza del periodo di timeout. Se non completi l'azione del ciclo di vita, l'hook del ciclo di vita passa allo stato specificato per Risultato predefinito al termine del periodo di timeout.

Completare un'operazione del ciclo di vita (manuale)

La procedura seguente è relativa all'interfaccia della riga di comando e non è supportata nella console. Le informazioni che devono essere sostituite, ad esempio l'ID dell'istanza o il nome di un gruppo con scalabilità automatica, vengono visualizzate in corsivo.

Completamento di un'operazione del ciclo di vita (AWS CLI)
  1. Se hai bisogno di più tempo per completare l'azione personalizzata, usa il record-lifecycle-action-heartbeatcomando per riavviare il periodo di timeout e mantenere l'istanza in uno stato di attesa. Ad esempio, se il periodo di timeout è di un'ora e si chiama questo comando dopo 30 minuti, l'istanza rimane in uno stato di attesa per un'ulteriore ora, ossia per un totale di 90 minuti.

    Puoi specificare il token di operazione del ciclo di vita ricevuto con la notifica, come illustrato nel comando seguente.

    aws autoscaling record-lifecycle-action-heartbeat --lifecycle-hook-name my-launch-hook \ --auto-scaling-group-name my-asg --lifecycle-action-token bcd2f1b8-9a78-44d3-8a7a-4dd07d7cf635

    In alternativa, puoi specificare l'ID dell'istanza ricevuta con la notifica come mostrato nel comando seguente.

    aws autoscaling record-lifecycle-action-heartbeat --lifecycle-hook-name my-launch-hook \ --auto-scaling-group-name my-asg --instance-id i-1a2b3c4d
  2. Se completate l'azione personalizzata prima della fine del periodo di timeout, utilizzate il complete-lifecycle-actioncomando in modo che il gruppo Auto Scaling possa continuare ad avviare o terminare l'istanza. Puoi specificare il token dell'operazione del ciclo di vita, come mostrato nel comando seguente.

    aws autoscaling complete-lifecycle-action --lifecycle-action-result CONTINUE \ --lifecycle-hook-name my-launch-hook --auto-scaling-group-name my-asg \ --lifecycle-action-token bcd2f1b8-9a78-44d3-8a7a-4dd07d7cf635

    In alternativa, puoi specificare l'ID dell'istanza, come mostrato nel comando seguente.

    aws autoscaling complete-lifecycle-action --lifecycle-action-result CONTINUE \ --instance-id i-1a2b3c4d --lifecycle-hook-name my-launch-hook \ --auto-scaling-group-name my-asg

Completare un'operazione del ciclo di vita (automatico)

Se disponi di uno script di dati utente che configura le istanze dopo l'avvio, non è necessario completare manualmente le operazioni del ciclo di vita. È possibile aggiungere il complete-lifecycle-actioncomando allo script. Lo script può recuperare l'ID dell'istanza dai metadati dell'istanza e segnalare ad Amazon EC2 Auto Scaling quando gli script di bootstrap sono stati completati correttamente.

Se non lo stai già facendo, aggiorna lo script per recuperare l'ID istanza dai metadati dell'istanza. Per ulteriori informazioni, consulta Recupera i metadati dell'istanza nella Guida per l'utente di Amazon EC2.

Se utilizzi Lambda, puoi anche impostare un callback nel codice della funzione per consentire al ciclo di vita dell'istanza di procedere se l'operazione personalizzata viene eseguita correttamente. Per ulteriori informazioni, consulta Tutorial : Configurazione di un hook del ciclo di vita che richiama una funzione Lambda.