Informazioni sulla riparazione delle VM per l'alta affidabilità


Questo documento descrive in che modo un gruppo di istanze gestite (MIG) garantisce l'alta affidabilità dell'applicazione riparando le VM del gruppo che presentano malfunzionamenti ed errori.

Un MIG mantiene la tua applicazione attiva e disponibile gestendo in modo proattivo il numero di VM in esecuzione nel gruppo. Se una VM del gruppo si arresta in modo anomalo, il MIG la ripara ricreandola nei seguenti modi per ripristinarla:

  • Riparazione automatica di una VM con errori: se una VM non funziona o viene eliminata da un'azione non avviata dal MIG, il MIG ripara automaticamente la VM che ha riscontrato un errore. In questo documento, vedi Riparazione automatica di una VM con errori.
  • Riparazione di una VM in base a un controllo di integrità dell'applicazione: un modo facoltativo per migliorare ulteriormente l'alta affidabilità riparando le VM non integre. Se configuri un controllo di integrità basato sull'applicazione e la tua applicazione non supera il controllo, il MIG contrassegna la VM come non integra e la ripara. La riparazione di una VM in base a un controllo di integrità dell'applicazione è detta anche riparazione automatica. In questo documento, vedi Riparazione di una VM in base a un controllo di integrità dell'applicazione.

Riparazione automatica di una VM con errori

Se una VM in un MIG non funziona, il MIG la ripara automaticamente ricreandola. Una VM può riscontrare un errore per i seguenti motivi:

Se il MIG arresta intenzionalmente una VM, ad esempio quando un gestore della scalabilità automatica elimina una VM, il MIG non la ripara.

Riparazione di una VM in base a un controllo di integrità dell'applicazione

Oltre alla riparazione automatica delle VM con errori, potrebbe essere necessario riparare una VM se l'applicazione in esecuzione sulla VM si blocca, si arresta in modo anomalo o esaurisce la memoria. Per assicurarti che l'applicazione risponda come previsto, puoi configurare un controllo di integrità basato sull'applicazione.

Un controllo di integrità basato sull'applicazione verifica periodicamente che l'applicazione risponda come previsto su ogni VM di un MIG. Se l'applicazione su una VM non risponde, il MIG la contrassegna come non integra. Il MIG quindi ripara la VM non integra. La riparazione di una VM in base a un controllo di integrità dell'applicazione è chiamata riparazione automatica.

Per garantire che il MIG continui a eseguire un sottoinsieme delle sue VM, il gruppo non esegue mai contemporaneamente la riparazione automatica di tutte le sue VM. Questo è utile se, ad esempio, un controllo di integrità non corretto attiva riparazioni non necessarie, una regola firewall configurata in modo errato impedisce a un controllo di integrità di eseguire il probe della VM o se si verificano problemi di connettività di rete o dell'infrastruttura che identificano per errore una VM integra come non integra. Tuttavia, se un MIG a livello di zona ha una sola VM o un MIG a livello di regione ha una sola VM per zona, il MIG ripara automaticamente queste VM quando non sono più integre.

Policy di riparazione automatica

Ogni MIG ha una policy di riparazione automatica in cui puoi configurare un controllo di integrità e anche impostare un ritardo iniziale. Il ritardo iniziale è il tempo necessario a una nuova VM per inizializzare ed eseguire lo script di avvio. Il timer del ritardo iniziale si avvia quando il MIG imposta il campo currentAction della VM su VERIFYING. Durante il periodo di ritardo iniziale di una VM, il MIG ignora i controlli di integrità non riusciti perché la VM potrebbe essere in fase di avvio. In questo modo, il MIG non ricrea prematuramente una VM. Se il controllo di integrità riceve una risposta positiva durante il ritardo iniziale, indica che il processo di avvio è stato completato e la VM è pronta.

Per ulteriori informazioni sulla configurazione di una policy di riparazione automatica, consulta Configura un controllo di integrità e la riparazione automatica basati sull'applicazione.

Monitora le modifiche dello stato di integrità delle applicazioni

Se nel MIG hai configurato un controllo di integrità basato sulle applicazioni, puoi controllare lo stato di integrità di ogni VM del MIG. Per ulteriori informazioni, vedi Verifica l'integrità delle VM.

Puoi anche monitorare le modifiche dello stato di integrità di una VM. Per saperne di più, vedi Monitora le modifiche dello stato di integrità.

Prezzi

Quando configuri un controllo di integrità basato sull'applicazione, per impostazione predefinita Compute Engine scrive una voce di log ogni volta che cambia lo stato di integrità di un'istanza gestita. Cloud Logging fornisce un'allocazione gratuita al mese, al termine della quale il prezzo del logging viene calcolato in base al volume di dati. Per evitare costi, puoi disattivare i log delle modifiche dello stato di integrità.

Comportamento durante una riparazione

Le seguenti sezioni spiegano il comportamento durante le riparazioni automatiche e le riparazioni basate sul controllo di integrità dell'applicazione.

Esegui un aggiornamento durante la riparazione

Per impostazione predefinita, durante una riparazione un MIG ricrea una VM utilizzando il template di istanza originale con cui è stata creata la VM. Ad esempio, se una VM è stata creata utilizzando instance-template-a e dopo aggiorni il MIG in modo che utilizzi instance-template-b in modalità OPPORTUNISTIC, il MIG utilizzerà comunque instance-template-a per ricreare la VM.

Se vuoi che il MIG utilizzi il template di istanza e le configurazioni per istanza più recenti durante la riparazione della VM, puoi configurare il gruppo in modo da applicare gli aggiornamenti alla configurazione durante le riparazioni.

Gestione dei dischi

Durante una riparazione, quando viene ricreata una VM in base al relativo template, il MIG gestisce in modo diverso i diversi tipi di dischi. Alcune configurazioni dei dischi possono causare l'esito negativo della riparazione quando si tenta di ricreare una VM.

Tipo di disco autodelete Comportamento durante una riparazione
Nuovo disco permanente true Il disco viene ricreato come specificato nel template di istanza. Tutti i dati scritti su quel disco andranno persi quando il disco e la relativa VM vengono ricreati.
Nuovo disco permanente false Il disco viene conservato e ricollegato quando il MIG ricrea la VM.
Disco permanente esistente true Il vecchio disco viene eliminato. L'operazione di ricreazione della VM non riesce perché Compute Engine non può ricollegare un disco eliminato alla VM. Tuttavia, per i dischi di lettura/scrittura esistenti, un MIG può avere al massimo una VM perché un singolo disco permanente non può essere collegato a più VM in modalità di lettura/scrittura.
Disco permanente esistente false Il vecchio disco viene ricollegato come specificato nel template di istanza. I dati sul disco vengono conservati. Tuttavia, per i dischi di lettura/scrittura esistenti, un MIG può avere al massimo una VM perché un singolo disco permanente non può essere collegato a più VM in modalità di lettura/scrittura.
Nuova unità SSD locale N/A Il disco viene ricreato come specificato nel template di istanza. I dati su un'unità SSD locale vengono persi quando una VM viene ricreata o eliminata.

Il MIG non ricollega i dischi non specificati nel template di istanza o nelle configurazioni per istanza, ad esempio i dischi collegati manualmente a una VM dopo la sua creazione.

Per preservare i dati importanti scritti sul disco, prendi alcune precauzioni, ad esempio:

Se le tue VM hanno impostazioni importanti che vuoi conservare, Google consiglia inoltre di utilizzare un'immagine personalizzata nel template di istanza. Un'immagine personalizzata contiene tutte le impostazioni personalizzate di cui hai bisogno. Quando specifichi un'immagine personalizzata nel template di istanza, il MIG ricrea le VM utilizzando l'immagine personalizzata che contiene le impostazioni personalizzate necessarie.

Disattiva le riparazioni

Puoi disattivare le riparazioni eseguite automaticamente da un MIG. Quando disattivi le riparazioni in un MIG, vengono disattivate le riparazioni delle VM con errori e quelle basate su un controllo di integrità dell'applicazione. Puoi anche disattivare separatamente le riparazioni in base a un controllo di integrità dell'applicazione.

Ti consigliamo di disattivare le riparazioni in un MIG in situazioni come le seguenti:

  • Per esaminare o eseguire il debug di una VM con errori senza interruzioni da parte della riparazione automatica.
  • Per riparare manualmente le VM o implementare la tua logica di riparazione.
  • Per evitare di ricreare le VM durante l'esecuzione di un job batch.
  • Per osservare gli stati di integrità dell'applicazione senza riparare una VM non integra.
  • Per perfezionare la configurazione del controllo di integrità senza attivare inavvertitamente le riparazioni.

Quando disattivi le riparazioni, il MIG non esegue alcuna azione se una VM nel gruppo riscontra degli errori o non è più integra. Le VM con errori e non integre continuano a essere nel gruppo e il numero target di VM in esecuzione nel MIG (targetSize) rimane invariato. Tuttavia, se hai impostato un limite di tempo per le VM, quando le VM con errori e non integre raggiungono questo limite di tempo, il MIG le elimina automaticamente e il valore targetSize diminuisce.

Se il tipo di aggiornamento del MIG è impostato su proactive ed è disponibile un nuovo template di istanza, il MIG aggiorna le VM con errori e non integre ricreandole con il nuovo template. Se non vuoi aggiornare le VM con errori e non integre, devi impostare il tipo di aggiornamento su opportunistic.

Se hai configurato un controllo di integrità basato sull'applicazione, la disattivazione delle riparazioni non influisce sul funzionamento del controllo di integrità. Il controllo di integrità continua a eseguire il probe dell'applicazione e a fornire gli stati di integrità della VM. In questo modo puoi monitorare gli stati di integrità dell'applicazione impedendo al contempo al MIG di riparare le VM non integre.

Se il MIG fa parte di un servizio di backend di un bilanciatore del carico e disattivi le riparazioni nel MIG, le VM con errori e non integre non riparate non rispondono al controllo di integrità del bilanciatore del carico. Se il numero di queste VM con errori o non integre nel MIG aumenta, il bilanciatore del carico potrebbe ridurre il traffico verso quel MIG o passare a un altro backend, se configurato. Quando le VM con errori sono nuovamente disponibili, il bilanciatore del carico riprende il traffico verso il MIG.

Per saperne di più, consulta l'articolo Disattiva le riparazioni in un MIG.

Passaggi successivi