Come funziona l'aggiornamento di un'istanza in un gruppo 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 funziona l'aggiornamento di un'istanza in un gruppo di Auto Scaling

Questo argomento descrive come funziona l'aggiornamento di un'istanza e introduce i concetti chiave da comprendere per utilizzarlo in modo efficace.

Come funziona

Per aggiornare le istanze in un gruppo Auto Scaling, puoi definire una nuova configurazione che contenga la versione più recente dell'applicazione e tutti gli altri aggiornamenti che desideri apportare. Quindi, avvia un aggiornamento dell'istanza per sostituire le istanze esistenti con nuove in base a tale configurazione.

Per eseguire un aggiornamento dell'istanza:

  1. Crea un nuovo modello di lancio o aggiorna il modello esistente con le modifiche di configurazione desiderate, ad esempio una nuova Amazon Machine Image (AMI). Per ulteriori informazioni, consulta Creare un modello di avvio per un gruppo con dimensionamento automatico.

  2. Avvia l'aggiornamento dell'istanza utilizzando la console AWS CLI Amazon EC2 Auto Scaling o l'SDK:

    • Specificate il nuovo modello di lancio o la nuova versione del modello di lancio che avete creato. Verrà utilizzato per avviare nuove istanze.

    • Imposta la percentuale di salute minima e massima preferita. Questo controlla quante istanze vengono sostituite contemporaneamente e se vengono lanciate nuove istanze prima di terminare quelle vecchie.

    • Configura eventuali impostazioni opzionali, ad esempio:

      • Checkpoint: sospende l'aggiornamento dell'istanza dopo una certa percentuale di sostituzioni per verificare l'avanzamento.

      • Ignora la corrispondenza: confronta le vecchie istanze con la nuova configurazione e sostituisci solo quelle che non corrispondono. Quando avvii l'aggiornamento di un'istanza dalla console, l'opzione Skip Matching è attiva per impostazione predefinita.

      • Tipi di istanze multiple: applica una politica di istanze miste nuova o aggiornata come parte della configurazione desiderata.

Una volta avviato l'aggiornamento dell'istanza, Amazon EC2 Auto Scaling:

  • Sostituisci le istanze in batch in base alle percentuali di integrità minima e massima.

  • Avvia le nuove istanze prima di terminare quelle precedenti se la percentuale minima di integrità è impostata al 100%. Ciò garantisce che la capacità desiderata venga mantenuta in ogni momento.

  • Controlla lo stato di salute delle istanze e concedi loro il tempo di riscaldarsi prima che vengano sostituite altre istanze.

  • Termina e sostituisci le istanze ritenute non integre.

  • Aggiorna automaticamente le impostazioni del gruppo Auto Scaling con le nuove modifiche alla configurazione dopo il completamento dell'aggiornamento dell'istanza.

  • Sostituisci InService le istanze prima delle istanze che si trovano in un pool caldo.

Il seguente diagramma di flusso illustra il comportamento dell'avvio prima del termine quando si imposta la percentuale minima di integrità al 100%.

Un diagramma che mostra come funziona l'aggiornamento dell'istanza quando la percentuale minima di integrità è impostata al 100%.
Nota

Le percentuali di integrità minima e massima per l'aggiornamento di un'istanza devono essere specificate solo se non è stata impostata una politica di manutenzione dell'istanza o se è necessario sostituire la politica esistente. Per ulteriori informazioni, consulta Policy di manutenzione delle istanze.

Analogamente, è necessario specificare il periodo di riscaldamento dell'istanza per un aggiornamento dell'istanza solo se non è stato abilitato il riscaldamento predefinito o se è necessario sovrascrivere l'impostazione predefinita. Per ulteriori informazioni, consulta Impostazione della preparazione di default dell'istanza per un gruppo con scalabilità automatica.

Concetti principali

Prima di iniziare, acquisisci familiarità con i concetti principali di base dell'aggiornamento delle istanze, riportati di seguito:

Percentuale minima di integrità

La percentuale minima di integrità è la percentuale della capacità desiderata da mantenere in servizio, integra e pronta all'uso durante l'aggiornamento dell'istanza in modo che l'aggiornamento possa continuare. Ad esempio, se la percentuale minima di integrità è del 90% e la percentuale di integrità massima è del 100%, la percentuale di capacità che verrà sostituita sarà del 10%. Se le nuove istanze non superano i controlli dell'integrità, Dimensionamento automatico Amazon EC2 le termina e le sostituisce. Se l’aggiornamento dell’istanza non riesce ad avviare istanze integre, esso avrà esito negativo, lasciando intatto il restante 90% del gruppo. Se le nuove istanze rimangono integre e terminano il periodo di riscaldamento, Amazon EC2 Auto Scaling può continuare a sostituire altre istanze.

L'aggiornamento di un'istanza può sostituire le istanze una alla volta, più alla volta o tutte contemporaneamente. Per sostituire un'istanza alla volta, imposta la percentuale minima e massima di integrità al 100%. Ciò modifica il comportamento dell'aggiornamento dell'istanza da avviare prima del termine, il che impedisce alla capacità del gruppo di scendere al di sotto del 100% della capacità desiderata. Per sostituire tutte le istanze contemporaneamente, imposta tale percentuale allo 0%.

Percentuale massima di integrità

La percentuale massima integra è la percentuale della capacità desiderata che il gruppo con dimensionamento automatico può raggiungere quando si sostituiscono le istanze. La differenza tra il valore minimo e massimo non può essere maggiore di 100. Un intervallo più ampio aumenta il numero di istanze che possono essere sostituite contemporaneamente.

Preparazione dell'istanza

La preparazione dell'istanza è il periodo di tempo da quando lo stato di una nuova istanza cambia in InService fino a quando la sua inizializzazione è considerata terminata. Dopo aver determinato che un'istanza appena avviata è integra, se le istanze superano i controlli dell'integrità, Dimensionamento automatico Amazon EC2 non passa immediatamente alla sostituzione successiva. Attende il periodo di riscaldamento prima di passare alla sostituzione dell'istanza successiva. Questo può essere utile quando l'applicazione necessita ancora di un po' di tempo di inizializzazione prima di rispondere alle richieste.

Il funzionamento è identico alla preparazione dell'istanza predefinita. Pertanto, valgono le stesse considerazioni sul dimensionamento. Per ulteriori informazioni, consulta Impostazione della preparazione di default dell'istanza per un gruppo con scalabilità automatica.

Configurazione desiderata

La configurazione desiderata è la nuova configurazione che desideri che Dimensionamento automatico Amazon EC2 implementi nel tuo gruppo con scalabilità automatica. Ad esempio, puoi specificare un nuovo modello di avvio e nuovi tipi di istanza per le istanze. Durante un aggiornamento delle istanze, Amazon EC2 Auto Scaling aggiorna il gruppo con scalabilità automatica alla configurazione desiderata. Se durante l'aggiornamento delle istanze si verifica un evento di aumento orizzontale, Amazon EC2 Auto Scaling avvia nuove istanze con la configurazione desiderata, anziché le impostazioni correnti del gruppo. Dopo aver completato l'aggiornamento delle istanze, Dimensionamento automatico Amazon EC2 aggiorna le impostazioni del gruppo con scalabilità automatica in modo da riflettere la nuova configurazione desiderata specificata nell'ambito dell'aggiornamento.

Salta corrispondenza

Ignora la corrispondenza indica a Dimensionamento automatico Amazon EC2 di ignorare le istanze che dispongono già degli aggiornamenti più recenti, in modo da non sostituire più istanze del necessario. Questa opzione è utile quando si desidera assicurarsi che il gruppo con scalabilità automatica utilizzi una particolare versione del modello di avvio e sostituisca solo le istanze che non la utilizzano.

Punti di controllo

Un punto di controllo è un punto nel tempo in cui l'aggiornamento dell'istanza si interrompe per un periodo di tempo specificato. Un aggiornamento delle istanze può avere più punti di controllo. Amazon EC2 Auto Scaling emette eventi per ogni punto di controllo. Pertanto, puoi aggiungere una EventBridge regola per inviare gli eventi a una destinazione, come Amazon SNS, per ricevere una notifica quando viene raggiunto un checkpoint. Dopo aver raggiunto un punto di controllo, è possibile verificare l'implementazione. Se vengono identificati problemi, è possibile annullare l'aggiornamento delle istanze o eseguirne il rollback. La possibilità di implementare gli aggiornamenti in fasi è un vantaggio fondamentale dei punti di controllo. Se non si utilizzano i punti di controllo, le sostituzioni a rotazione vengono eseguite in modo continuo.

Per ulteriori informazioni su tutte le impostazioni predefinite che puoi configurare all'avvio di un aggiornamento dell'istanza, consulta Informazioni sui valori predefiniti per l'aggiornamento di un'istanza.

Periodo di tolleranza dei controlli dell'integrità

Dimensionamento automatico Amazon EC2 determina se un'istanza è integra in base allo stato dei controlli dell'integrità utilizzati dal gruppo con dimensionamento automatico. Per ulteriori informazioni, consulta Controlli dell'integrità per le istanze in un gruppo con dimensionamento automatico.

Per assicurarsi che questi controlli dell'integrità vengano avviati il prima possibile, non impostare un periodo di tolleranza del controllo dell'integrità del gruppo troppo alto, ma abbastanza alto da consentire ai controlli dell'integrità di Elastic Load Balancing di determinare se una destinazione è disponibile per gestire le richieste. Per ulteriori informazioni, consulta Impostazione del periodo di tolleranza del controllo dell'integrità per un gruppo con scalabilità automatica.

Compatibilità del tipo di istanza

Prima di modificare il tipo di istanza, è consigliabile verificarne il funzionamento con il modello di avvio. Questa operazione consente di confermare la compatibilità con l'AMI specificata. Ad esempio, se sono state avviate le istanze originali da un'AMI paravirtuale (PV) ma si desidera passare a un tipo di istanza di generazione corrente supportato solo da un'AMI di una macchina virtuale hardware (HVM), è necessario utilizzare un'AMI HVM nel modello di avvio.

Per verificare la compatibilità del tipo di istanza senza avviare le istanze, utilizza il comando run-instances con l'opzione --dry-run, come mostrato nell'esempio seguente.

aws ec2 run-instances --launch-template LaunchTemplateName=my-template,Version='1' --dry-run

Per informazioni su come viene determinata la compatibilità, consulta Compatibilità per la modifica del tipo di istanza nella Guida per l'utente di Amazon EC2.

Limitazioni

  • Durata totale: il tempo massimo durante il quale un aggiornamento delle istanze può continuare a sostituire attivamente le istanze è di 14 giorni.

  • Differenza di comportamento specifica dei gruppi ponderati: se un gruppo di istanze miste è configurato con un peso dell'istanza maggiore o uguale alla capacità desiderata del gruppo, Dimensionamento automatico Amazon EC2 può sostituire tutte le istanze InService in una volta. Per evitare questa situazione, segui i suggerimenti riportati nell'argomento Configurare un gruppo Auto Scaling per utilizzare i pesi delle istanze. Quando utilizzi pesi con il gruppo con scalabilità automatica, specifica una capacità desiderata maggiore del peso massimo.

  • Timeout di un'ora: quando un aggiornamento delle istanze non è in grado di continuare a effettuare sostituzioni perché Dimensionamento automatico Amazon EC2 è in attesa di sostituire le istanze in standby o protette dalla riduzione orizzontale o perché le nuove istanze non superano i controlli dell'integrità, continua a riprovare per un'ora. Fornisce inoltre un messaggio di stato per aiutarti a risolvere il problema. Se trascorsa un'ora il problema persiste, l'operazione ha esito negativo. Lo scopo è lasciare tempo per il recupero in caso di problemi temporanei.

  • Distribuzione del codice tramite dati utente: Skip matching non verifica le modifiche al codice distribuite da uno script di dati utente. Se utilizzi i dati utente per estrarre nuovo codice e installare questi aggiornamenti su nuove istanze, ti consigliamo di disattivare lo skip matching per assicurarti che tutte le istanze ricevano il codice più recente, anche senza un aggiornamento della versione del modello di lancio.

  • Restrizione all'aggiornamento: se si tenta di aggiornare il modello di avvio, la configurazione di avvio o la politica delle istanze miste di un gruppo di Auto Scaling mentre è attivo un aggiornamento dell'istanza con la configurazione desiderata, la richiesta avrà esito negativo con il seguente errore di convalida: An active instance refresh with a desired configuration exists. All configuration options derived from the desired configuration are not available for update while the instance refresh is active.