Come funzionano i lifecycle hook nei gruppi di 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à.

Come funzionano i lifecycle hook nei gruppi di Auto Scaling

Dal momento in cui la si avvia fino alla sua terminazione, un'istanza Amazon EC2 passa attraverso stati diversi. Puoi creare operazioni personalizzate affinché il tuo gruppo con dimensionamento automatico esegua operazioni quando un’istanza passa in uno stato di attesa a causa di un hook del ciclo di vita.

L'illustrazione seguente mostra le transizioni tra gli stati delle istanze di Auto Scaling quando si utilizzano i lifecycle hook per la scalabilità orizzontale e la scalabilità in entrata.

Le transizioni tra gli stati delle istanze Auto Scaling quando si utilizzano i lifecycle hook per la scalabilità orizzontale e la scalabilità orizzontale.

Come mostrato nel diagramma precedente:

  1. Il gruppo con scalabilità automatica risponde a un evento di aumento orizzontale e inizia l'avvio di un'istanza.

  2. L'hook del ciclo di vita mette l'istanza in uno stato di attesa (Pending:Wait) e poi esegue un'operazione personalizzata.

    L'istanza rimane in stato di attesa fino a quando non hai completato l'operazione del ciclo di vita oppure finché non termina il periodo di timeout. Per impostazione predefinita, l'istanza rimane in stato di attesa per un'ora, dopo di che il gruppo con scalabilità automatica continua il processo di avvio o di terminazione (Pending:Proceed). Se ti serve più tempo, puoi riavviare il periodo di timeout mediante la registrazione di un heartbeat. Se completi l'operazione del ciclo di vita quando l'operazione personalizzata è stata completata e prima della scadenza del periodo di timeout, il periodo termina e il gruppo con scalabilità automatica continua il processo di avvio.

  3. L'istanza entra nello stato InService e inizia il periodo di tolleranza del controllo dell'integrità. Tuttavia, prima che l'istanza raggiunga lo stato InService, se il gruppo con scalabilità automatica è associato a un load balancer Elastic Load Balancer, l'istanza viene registrata con il load balancer, che inizia a controllarne l'integrità. Al termine del periodo di tolleranza del controllo dell'integrità, Amazon EC2 Auto Scaling inizia a controllare lo stato d'integrità dell'istanza.

  4. Il gruppo con scalabilità automatica risponde a un evento di riduzione orizzontale e inizia l'avvio di un'istanza. Se il gruppo con scalabilità automatica viene usato con Elastic Load Balancing, l'istanza di terminazione viene prima deregistrata dal load balancer. Se per il load balancer è abilitato lo svuotamento connessione, prima di completare il processo di deregistrazione l'istanza interrompe l'accettazione di nuove connessioni e attende che quelle esistenti vengano scaricate.

  5. L'hook del ciclo di vita mette l'istanza in uno stato di attesa (Terminating:Wait) e poi esegue un'operazione personalizzata.

    L'istanza rimarrà in stato di attesa finché non avrai completato l'operazione del ciclo di vita oppure finché il periodo di timeout (un'ora per impostazione predefinita) non sarà terminato. Dopo aver completato l'hook del ciclo di vita o il periodo di timeout sarà scaduto, l'istanza passa allo stato successivo (Terminating:Proceed).

  6. L'istanza è terminata.

Importante

Anche le istanze in un warm pool hanno il proprio ciclo di vita con gli stati di attesa corrispondenti, come descritto in Transizioni dello stato del ciclo di vita delle istanze in un warm pool.

Transizioni dello stato del ciclo di vita per le istanze in fase di sostituzione del volume root

Il diagramma seguente mostra la transizione tra gli stati delle istanze di Auto Scaling quando si utilizzano gli hook del ciclo di vita per sostituire il volume root:

Le transizioni tra gli stati dell'istanza Auto Scaling quando si utilizzano gli hook del ciclo di vita per sostituire il volume principale.

Come mostrato nel diagramma precedente:

  1. Il gruppo Auto Scaling risponde all'aggiornamento di un'istanza e seleziona un'istanza per la sostituzione del volume root. L'istanza entra nello stato. ReplacingRootVolume Se l'istanza è registrata con un sistema di bilanciamento del carico, viene annullata la registrazione dal sistema di bilanciamento del carico.

  2. L'hook del ciclo di vita mette l'istanza in uno stato di attesa (ReplacingRootVolume:Wait) e poi esegue un'operazione personalizzata. L'istanza rimane in stato di attesa fino a quando non hai completato l'operazione del ciclo di vita oppure finché non termina il periodo di timeout. Se completi l'azione del ciclo di vita quando l'azione personalizzata è stata completata e il periodo di timeout non è ancora scaduto, il periodo termina e il gruppo Auto Scaling continua il processo di sostituzione del volume principale.

  3. L'istanza completa la sostituzione del volume root ed entra nello stato. RootVolumeReplaced

  4. L'istanza entra nello Pending stato.

  5. L'hook del ciclo di vita mette l'istanza in uno stato di attesa (Pending:Wait) e poi esegue un'operazione personalizzata. L'istanza rimane in uno stato di attesa fino al completamento dell'azione del ciclo di vita o fino al termine del periodo di timeout. Dopo aver completato l'hook del ciclo di vita o il periodo di timeout sarà scaduto, l'istanza passa allo stato successivo (Pending:Proceed).

  6. L'istanza entra nello stato. InService Tuttavia, prima che l'istanza raggiunga InService lo stato, se il gruppo Auto Scaling è associato a un sistema di bilanciamento del carico Elastic Load Balancing, l'istanza viene registrata presso il load balancer.