Monitora e pianifica un evento di manutenzione dell'host

La manutenzione su tutte le istanze di macchine virtuali (VM) è determinata dal criterio di manutenzione dell'host selezionato quando crei le VM. Alcune VM offrono un'ulteriore opzione per visualizzare in anticipo la pianificazione della manutenzione.

Questa pagina spiega come monitorare e pianificare un evento di manutenzione dell'host sulle VM di Compute Engine. Per visualizzare la pianificazione della manutenzione di una VM, quest'ultima deve eseguire un tipo di macchina da una delle seguenti famiglie di macchine:

Prima di iniziare

  • Se non l'hai già fatto, configura l'autenticazione. L'autenticazione è il processo mediante il quale viene verificata l'identità dell'utente per ottenere l'accesso ai servizi e alle API Google Cloud. Per eseguire codice o esempi da un ambiente di sviluppo locale, puoi eseguire l'autenticazione in Compute Engine come segue.

    Select the tab for how you plan to use the samples on this page:

    Console

    When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.

    gcloud

    1. Installa Google Cloud CLI, quindi initialize eseguendo questo comando:

      gcloud init
    2. Set a default region and zone.
    3. REST

      Per utilizzare gli esempi di API REST in questa pagina in un ambiente di sviluppo locale, utilizzi le credenziali che fornisci a gcloud CLI.

        Installa Google Cloud CLI, quindi initialize eseguendo questo comando:

        gcloud init

      Per maggiori informazioni, consulta Autenticazione per l'utilizzo di REST nella documentazione sull'autenticazione di Google Cloud.

Ruoli obbligatori

Per ottenere le autorizzazioni necessarie per creare VM e gestire la manutenzione delle VM, chiedi all'amministratore di concederti il ruolo IAM Amministratore istanze Compute (v1) (roles/compute.instanceAdmin.v1) nel progetto. Per saperne di più sulla concessione dei ruoli, consulta Gestire l'accesso.

Questo ruolo predefinito contiene le autorizzazioni necessarie per creare VM e gestire la manutenzione delle VM. Per visualizzare esattamente le autorizzazioni necessarie, espandi la sezione Autorizzazioni obbligatorie:

Autorizzazioni obbligatorie

Per creare VM e gestire la manutenzione delle VM sono necessarie le seguenti autorizzazioni:

  • Per ottenere informazioni su una VM: compute.instances.get
  • Per creare una VM: compute.instances.create

Potresti anche riuscire a ottenere queste autorizzazioni con i ruoli personalizzati o altri ruoli predefiniti.

Monitora le notifiche di manutenzione

Google invia notifiche per la manutenzione imminente delle VM tramite diversi metodi. Per trovare le notifiche, esegui una query sulle VM, sul server di metadati o su Cloud Logging. All'apertura della periodo di manutenzione pianificata, Google Cloud esegue automaticamente la manutenzione sulla VM. Monitorando i periodi di manutenzione pianificati della VM, puoi preparare in modo proattivo i tuoi carichi di lavoro per gestire la prossima manutenzione con interruzioni minime.

Le VM con notifiche di eventi di manutenzione hanno le seguenti caratteristiche:

  • Meno eventi di manutenzione: in generale, le VM con intervalli di manutenzione ricorrenti devono registrare meno eventi di manutenzione.
  • Notifica di manutenzione più lunga: ricevi avvisi sugli eventi di manutenzione pianificata con largo anticipo ai fini della pianificazione.
  • Monitoraggio e pianificazione: usa Cloud Logging per tenere traccia della pianificazione della manutenzione. Utilizza incidenti e avvisi per rimanere al corrente.
  • Controllo di manutenzione on demand: avvia la manutenzione durante il periodo di notifica per aggiornare le VM in base alla tua pianificazione.

Controlla se nelle VM è presente una notifica relativa all'evento di manutenzione

Utilizza Google Cloud CLI, il metodo REST o il server di metadati per vedere se è imminente un evento di manutenzione della VM.

gcloud

Per vedere il periodo di manutenzione imminente di una VM, utilizza il comando gcloud compute instances describe. Devi includere i --zone=[ZONE_NAME].

gcloud compute instances describe VM_NAME \
  --zone=ZONE

Sostituisci quanto segue:

  • VM_NAME: il nome della VM.
  • ZONE: la zona in cui si trova la VM.

La risposta ha questo aspetto:

  upcomingMaintenance:{
    "canReschedule":True
    "latestWindowStartTime": "2023-12-01T19:00:01Z"
    "maintenanceStatus":"PENDING"
    "type":"SCHEDULED"
    "windowEndTime": "2023-12-01T22:00:00Z"
    "windowStartTime": "2023-12-01T19:00:00Z"
  }

In questa risposta, canReschedule è impostato su True e maintenanceStatus è impostato su PENDING. La manutenzione è pianificata per la data e l'ora visualizzate. Queste impostazioni indicano che puoi attivare manualmente questo evento in anticipo.

REST

Per verificare se è prevista una manutenzione imminente di una VM, esegui il comando instances.get:

GET https://compute.googleapis.com/compute/v1/projects/PROJECT_NAME/zones/ZONE/instances/VM_NAME

Sostituisci quanto segue:

  • PROJECT_NAME: il nome del progetto.
  • ZONE: la zona in cui si trova la VM.
  • VM_NAME: il nome della VM.

La risposta ha questo aspetto:

  upcomingMaintenance:{
    "canReschedule":True
    "latestWindowStartTime": "2023-12-01T19:00:01Z"
    "maintenanceStatus":"PENDING"
    "type":"SCHEDULED"
    "windowEndTime": "2023-12-01T22:00:00Z"
    "windowStartTime": "2023-12-01T19:00:00Z"
  }

In questa risposta, canReschedule è impostato su TRUE e maintenanceStatus è impostato su PENDING. La manutenzione è pianificata per la data e l'ora visualizzate.

server metadati

Dal sistema operativo guest, esegui una query sul server dei metadati per vedere il successivo evento di manutenzione.

$ curl http://metadata.google.internal/computeMetadata/v1/instance/upcoming-maintenance?alt=json -H "Metadata-Flavor: Google"

Controlla se in Cloud Logging è presente una notifica dell'evento di manutenzione

Google invia una notifica a Cloud Logging prima della manutenzione della VM. Cloud Logging genera un evento di sistema in Esplora log. La manutenzione pianificata della VM viene visualizzata in Cloud Logging come: compute.instances.upcomingMaintenance.

A seconda della configurazione della VM, Cloud Logging visualizza l'evento nel seguente modo:

  • Per le VM configurate per l'utilizzo della migrazione live per la manutenzione, l'evento viene visualizzato con il nome del metodo: compute.instances.migrateOnHostMaintenance.
  • Per le VM configurate per l'utilizzo di Termina e Riavvio automatico per la manutenzione, l'evento viene visualizzato con il nome del metodo compute.instances.terminateOnHostMaintenance.

Se la VM è configurata per l'utilizzo della migrazione live, al termine della manutenzione viene visualizzato compute.instances.upcomingMaintenance, a indicare che la notifica è stata cancellata.

Potresti trarre vantaggio dalla configurazione di avvisi per ricevere notifiche di manutenzione. Per saperne di più, consulta Configurare gli avvisi basati su log e Creare e gestire i canali di notifica.

Definizioni degli stati di manutenzione

Le seguenti definizioni di stato spiegano le risposte a una query di manutenzione delle VM. Forniscono informazioni relative alla manutenzione delle VM. Google Cloud CLI, REST e il server di metadati utilizzano le stesse risposte:

  • windowStartTime: l'inizio della finestra temporale in cui viene effettuata la manutenzione
  • windowEndTime: la fine dell'intervallo di tempo in cui viene eseguita la manutenzione
  • latestWindowStartTime: il primo momento in cui la finestra può essere spostata
  • maintenanceType: il tipo di manutenzione da eseguire.
    • NONE: non è pianificata alcuna manutenzione per questa VM
    • IN PROGRAMMA: per la manutenzione sarà previsto un preavviso di 7 giorni
    • NON PROGRAMMATO: la manutenzione rappresenta aggiornamenti critici per i quali viene dato molto meno preavviso.
  • canReschedule: indica se la manutenzione può essere attivata durante il periodo di notifica per questa VM.
    • TRUE: la manutenzione attivata dal cliente può essere eseguita durante il periodo di notifica
    • FALSE: la manutenzione attivata dal cliente non può essere eseguita su questa VM Questo spesso si verifica durante il periodo in cui la VM è in fase di manutenzione
  • maintenanceStatus: lo stato dell'operazione di manutenzione attuale
    • ONGOING: è in corso l'operazione di manutenzione.
    • IN ATTESA: l'operazione di manutenzione è pianificata, ma non è ancora iniziata.

Comportamenti dello stato di manutenzione

Durante la gestione della pianificazione della manutenzione, controlla lo stato di canReschedule= e maintenanceStatus=. Queste combinazioni di risposte descrivono le funzionalità previste per il comportamento e mostrano una delle seguenti combinazioni di stati:

  • Se canReschedule=Yes e maintenanceStatus=Pending puoi attivare la manutenzione sulla VM.
  • Se canReschedule=No e maintenanceStatus=Ongoing è già in corso la manutenzione.
  • Se canReschedule=No e maintenanceStatus=Pending la tua VM non supporta la manutenzione attivata manualmente.

Passaggi successivi