Monitorare e pianificare un evento di manutenzione dell'host

La manutenzione di tutte le istanze di macchine virtuali (VM) è determinata dal criterio di manutenzione dell'host che selezioni quando crei le VM. Alcune VM offrono la possibilità di visualizzare in anticipo la pianificazione di manutenzione della VM.

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

  • VM C3 per uso generico
  • VM C3D per uso generico
  • VM Z3 ottimizzate per lo spazio di archiviazione
  • VM M1, M2, M3 ottimizzate per la memoria

Prima di iniziare

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

    Seleziona la scheda relativa a come prevedi di utilizzare gli esempi in questa pagina:

    Console

    Quando utilizzi la console Google Cloud per accedere ai servizi e alle API di Google Cloud, non devi configurare l'autenticazione.

    gcloud

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

      gcloud init
    2. Imposta una regione e una zona predefinite.

    REST

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

      Installa Google Cloud CLI, quindi initialize eseguendo questo comando:

      gcloud init

Ruoli obbligatori

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

Questo ruolo predefinito contiene le autorizzazioni necessarie per creare le VM e gestire la loro manutenzione. Per visualizzare le autorizzazioni esatte necessarie, espandi la sezione Autorizzazioni richieste:

Autorizzazioni obbligatorie

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

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

Potresti anche essere in grado di ottenere queste autorizzazioni con i ruoli personalizzati o altri ruoli predefiniti.

Monitorare le notifiche di manutenzione

Google invia notifiche per la manutenzione imminente delle VM in diversi modi. Puoi trovare le notifiche eseguendo query sulle VM, sul server di metadati o su Cloud Logging. Quando si apre la 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 manutenzione futura 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 dovrebbero registrare meno eventi di manutenzione.
  • Notifica di manutenzione più lunga: ricevi la notifica degli eventi di manutenzione pianificati con largo anticipo ai fini della pianificazione.
  • Monitoraggio e pianificazione: utilizza Cloud Logging per tenere traccia della pianificazione di manutenzione. Utilizza incidenti e avvisi per non perderti nulla.
  • Controllo della manutenzione on demand: avvia la manutenzione durante il periodo di notifica per aggiornare le VM in base alla pianificazione.

Cerca una notifica di evento di manutenzione sulle VM

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

gcloud

Per visualizzare il periodo di manutenzione imminente per una VM, utilizza il comando gcloud compute instances describe. Devi includere l'--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 sarà simile alla seguente:

  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 l'evento in anticipo.

REST

Per verificare se è prevista la manutenzione per 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 sarà simile alla seguente:

  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 l'evento di manutenzione successivo.

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

Controlla Cloud Logging per una notifica di 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 delle funzionalità Termina e Riavvio automatico per la manutenzione, l'evento viene visualizzato con il nome metodo: compute.instances.terminateOnHostMaintenance.

Se la tua VM è configurata per utilizzare la migrazione live, al termine della manutenzione viene visualizzato compute.instances.upcomingMaintenance, che indica che la notifica è stata cancellata.

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

Definizioni degli stati di manutenzione

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

  • windowStartTime: l'inizio della finestra temporale in cui si verifica la manutenzione
  • windowEndTime: la fine della finestra temporale in cui si verifica la manutenzione
  • latestWindowStartTime: la prima volta in cui è possibile spostare la finestra
  • maintenanceType: il tipo di manutenzione da eseguire.
    • NESSUNA: non è pianificata alcuna manutenzione per questa VM.
    • PROGRAMMATA: la manutenzione riceverà un preavviso di 7 giorni
    • NON PROGRAMMATO: la manutenzione rappresenta gli 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 è sottoposta a manutenzione
  • maintenanceStatus: lo stato dell'operazione di manutenzione attuale
    • ONGOING: l'operazione di manutenzione è in corso
    • IN ATTESA: l'operazione di manutenzione è pianificata, ma non è ancora iniziata

Comportamenti degli stati di manutenzione

Mentre gestisci la pianificazione della manutenzione, controlla lo stato di canReschedule= e maintenanceStatus=. Queste combinazioni di risposte descrivono il comportamento previsto delle funzionalità e mostrano una delle seguenti combinazioni di stato:

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

Passaggi successivi