Informazioni sulla riparazione dell'alta disponibilità delle VM

Questo documento descrive in che modo un gruppo di istanze gestite offre l'alta disponibilità della tua applicazione riparando le VM con errori e integri nel gruppo.

Un gruppo di istanze gestite mantiene la tua applicazione attiva e disponibile mantenendo in modo proattivo il numero di VM in esecuzione nel gruppo. Se una VM del gruppo non funziona, il gruppo di istanze gestite ripara la VM ricreandola nei modi seguenti per riportarla in servizio:

  • Ripara automaticamente una VM in errore: se una VM non funziona o viene eliminata da un'azione non avviata dal gruppo di istanze gestite, il gruppo di istanze gestite ripara automaticamente la VM in errore. In questo documento, vedi Ripara automaticamente una VM con errori.
  • Ripara una VM in base a un controllo di integrità dell'applicazione: un modo facoltativo per migliorare ulteriormente l'alta disponibilità riparando le VM non integre. Se configuri un controllo di integrità basato sull'applicazione e l'applicazione non supera il controllo di integrità, il gruppo di istanze gestite contrassegna la VM come non integro e la ripara. La riparazione di una VM basata su un controllo di integrità dell'applicazione è anche denominata autohealing. In questo documento, vedi Riparare una VM in base a un controllo di integrità dell'applicazione.

Ripara automaticamente una VM con guasti

Se una VM in un gruppo di istanze gestite ha esito negativo, il gruppo di istanze gestite ripara automaticamente la VM in errore ricreandola. Una VM può avere esito negativo per i seguenti motivi:

Se il gruppo di istanze gestite interrompe intenzionalmente una VM, ad esempio quando un gestore della scalabilità automatica elimina una VM, il gruppo di istanze gestite non ripara la VM.

instance-groups managed

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

Oltre alla riparazione automatica delle VM non riuscite, ti consigliamo di riparare una VM se la tua 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 su ogni VM in un gruppo di istanze gestite risponda come previsto. Se l'applicazione su una VM non risponde, il gruppo di istanze gestite contrassegna la VM come non integro. Il gruppo di istanze gestite ripara quindi la VM in stato non integro. La riparazione di una VM basata su un controllo di integrità dell'applicazione è chiamata riparazione automatica.

Per garantire che il gruppo di istanze gestite continui a eseguire un sottoinsieme delle sue VM, il gruppo non esegue mai la riparazione automatica di tutte le VM contemporaneamente. Questo è utile se, ad esempio, un controllo di integrità errato attiva riparazioni non necessarie, una regola firewall configurata in modo errato impedisce a un controllo di integrità di esaminare la VM oppure se esistono problemi di connettività di rete o di infrastruttura che identificano erroneamente una VM in stato integro. Tuttavia, se un gruppo di istanze gestite a livello di zona ha una sola VM o un gruppo di istanze gestite a livello di regione ha una sola VM per zona, un gruppo di istanze gestite ripara automaticamente queste VM quando diventano in stato non integro.

Criterio di riparazione automatica

Ogni gruppo di istanze gestite ha un criterio di riparazione automatica in cui è possibile configurare un controllo di integrità e impostare anche un ritardo iniziale. Il ritardo iniziale è il tempo impiegato da una nuova VM per inizializzare ed eseguire lo script di avvio. Il timer di ritardo iniziale si avvia quando il gruppo di istanze gestite modifica il campo currentAction della VM in VERIFYING. Durante il periodo di ritardo iniziale di una VM, il gruppo di istanze gestite ignora i controlli di integrità non riusciti perché la VM potrebbe essere nel processo di avvio. In questo modo il gruppo di istanze gestite non può ricreare prematuramente una VM. Se il controllo di integrità riceve una risposta in stato integro durante il ritardo iniziale, indica che il processo di avvio è completo e la VM è pronta.

Per saperne di più sulla configurazione di un criterio di riparazione automatica, consulta Configurare un controllo di integrità dell'applicazione e la riparazione automatica.

Monitora le modifiche dello stato di integrità delle applicazioni

Se hai configurato un controllo di integrità basato sull'applicazione nel tuo gruppo di istanze gestite, puoi controllare lo stato di integrità di ogni VM nel gruppo di istanze gestite. Per maggiori informazioni, consulta la sezione Controllare lo stato.

Puoi anche monitorare le modifiche dello stato di integrità di una VM. Per ulteriori informazioni, vedi Monitorare 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 lo stato di integrità di un'istanza gestita cambia. Cloud Logging offre un'allocazione gratuita al mese, dopodiché il logging prevede i prezzi in base al volume di dati. Per evitare costi, puoi disabilitare i log delle modifiche dello stato di integrità.

Comportamento durante una riparazione

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

Aggiornamento sulla riparazione

Per impostazione predefinita, durante una riparazione, un gruppo di istanze gestite ricrea una VM utilizzando il modello di istanza originale utilizzato per creare la VM. Ad esempio, se una VM è stata creata utilizzando instance-template-a e poi aggiorni il gruppo di istanze gestite in modo che utilizzi instance-template-b in modalità OPPORTUNISTIC, il gruppo di istanze gestite utilizza comunque instance-template-a per ricreare la VM.

Se vuoi che il gruppo di istanze gestite utilizzi il modello di istanza e le configurazioni per istanza più recenti durante la riparazione delle VM, puoi configurare il gruppo in modo che applica gli aggiornamenti della configurazione durante le riparazioni.

Gestione dei dischi

Durante una riparazione, quando ricrea una VM in base al modello, il gruppo di istanze gestite gestisce diversi tipi di dischi in modo diverso. Alcune configurazioni del disco possono causare la mancata riuscita della riparazione quando si cerca di ricreare una VM.

Tipo di disco autodelete Comportamento durante una riparazione
Nuovo disco permanente true Il disco viene ricreato come specificato nel modello 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 gruppo di istanze gestite ricrea la VM.
Disco permanente esistente true Il disco precedente è stato eliminato. L'operazione di ricreare la VM non riesce perché Compute Engine non può ricollegare un disco eliminato alla VM. Tuttavia, per i dischi di lettura/scrittura esistenti, un gruppo di istanze gestite 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 disco precedente viene ricollegato come specificato nel modello di istanza. I dati sul disco vengono conservati. Tuttavia, per i dischi di lettura/scrittura esistenti, un gruppo di istanze gestite può avere al massimo una VM, perché un singolo disco permanente non può essere collegato a più VM in modalità di lettura/scrittura.
Nuovo SSD locale N/A Il disco viene ricreato come specificato nel modello di istanza. I dati su un SSD locale andranno persi quando una VM viene ricreata o eliminata.

Il gruppo di istanze gestite non ricollega i dischi non specificati nel modello di istanza o nelle configurazioni per istanza, ad esempio i dischi collegati manualmente a una VM dopo la creazione della VM.

Per conservare i dati importanti scritti su disco, prendi precauzioni come quanto segue:

Se le tue VM hanno impostazioni importanti che vuoi conservare, Google ti consiglia anche di utilizzare un'immagine personalizzata nel tuo modello di istanza. Un'immagine personalizzata contiene tutte le impostazioni personalizzate di cui hai bisogno. Quando specifichi un'immagine personalizzata nel modello di istanza, il gruppo di istanze gestite ricrea le VM utilizzando l'immagine personalizzata che contiene le impostazioni personalizzate necessarie.

Disattivare le riparazioni

Puoi disattivare le riparazioni eseguite automaticamente da un gruppo di istanze gestite. Quando disattivi le riparazioni, le riparazioni delle VM non riuscite e quelle basate su un controllo di integrità dell'applicazione vengono disattivate.

Puoi disattivare le riparazioni in un gruppo di istanze gestite in scenari quali:

  • Per esaminare una VM in errore o eseguirne il debug senza interruzioni della riparazione automatica.
  • Per riparare manualmente le VM o implementare la tua logica di riparazione.
  • per impedire la registrazione di nuove VM mentre è in corso un job batch.
  • a osservare lo stato di integrità dell'applicazione senza riparare una VM non integro.
  • Per perfezionare la configurazione del controllo di integrità senza false riparazioni.

Quando disattivi le riparazioni, il gruppo di istanze gestite non esegue alcuna azione se una VM del gruppo non riesce o diventa non integro. Le VM con stato non integro e non integro continuano a essere presenti nel gruppo, mentre il numero target di VM in esecuzione nel gruppo di istanze gestite (targetSize) rimane lo stesso.

Se il tipo di aggiornamento del gruppo di istanze gestite è impostato su proactive ed è disponibile un nuovo modello di istanza, il gruppo di istanze gestite prova ad aggiornare le VM con errori e in stato non integro.

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. Ciò consente di monitorare gli stati di integrità dell'applicazione, impedendo al gruppo di istanze gestite di riparare le VM in stato non integro.

Se il gruppo di istanze gestite fa parte di un servizio di backend di un bilanciatore del carico e disattivi le riparazioni nel gruppo di istanze gestite, le VM non riparate e non integre non rispondono al controllo di integrità del bilanciatore del carico. Se aumenta il numero di queste VM con errori o in stato non integro nel gruppo di istanze gestite, il bilanciatore del carico potrebbe ridurre il traffico verso il gruppo di istanze gestite o passare a un altro backend, se configurato. Quando le VM che hanno avuto problemi tornano disponibili, il bilanciatore del carico riprende il traffico verso il gruppo di istanze gestite.

Per ulteriori informazioni, consulta Disattivare le riparazioni in un gruppo di istanze gestite.

Passaggi successivi