Il server di metadati fornisce informazioni sulle opzioni e sulle impostazioni di pianificazione di un'istanza Compute Engine tramite l'elenco della directory dei metadati scheduling/ e la chiave dei metadati maintenance-event. Puoi utilizzare queste chiavi dei metadati per scoprire le opzioni di pianificazione di una VM e anche per ricevere una notifica di un evento di manutenzione imminente.
Il server dei metadati riceve le notifiche degli eventi di manutenzione prima che venga eseguita la migrazione live o la terminazione di un'istanza di computing. Per saperne di più sugli eventi di manutenzione e sul comportamento delle istanze durante gli eventi, consulta Panoramica della manutenzione dell'host.
Per un insieme specifico di VM, le opzioni di manutenzione della VM sono più flessibili. Per scoprire di più, consulta Monitora e pianifica un evento di manutenzione dell'host.
Prima di iniziare
- Per le VM Windows Server, utilizza
PowerShell 3.0 o una versione successiva.
Ti consigliamo di utilizzare
ctrl+vper incollare i blocchi di codice copiati. -
Se non l'hai ancora fatto, configura l'autenticazione.
L'autenticazione verifica la tua identità per l'accesso ad API e servizi Google Cloud . Per eseguire
codice o esempi da un ambiente di sviluppo locale, puoi autenticarti su
Compute Engine selezionando una delle seguenti opzioni:
Per utilizzare gli esempi di Python in questa pagina in un ambiente di sviluppo locale, installa e inizializza gcloud CLI, quindi configura Credenziali predefinite dell'applicazione con le tue credenziali utente.
-
Installa Google Cloud CLI.
-
Se utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.
-
Se utilizzi una shell locale, crea credenziali di autenticazione locali per il tuo account utente:
gcloud auth application-default login
Non è necessario eseguire questa operazione se utilizzi Cloud Shell.
Se viene restituito un errore di autenticazione e utilizzi un provider di identità (IdP) esterno, verifica di aver acceduto a gcloud CLI con la tua identità federata.
Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
-
Ricevi notifiche relative alla migrazione live
Puoi sapere quando sta per verificarsi la migrazione live per la tua istanza
interrogando periodicamente la chiave dei metadati maintenance-event.
La chiave di metadati maintenance-event viene compilata per
gli eventi di manutenzione solo se hai impostato l'opzione di pianificazione della VM su
migrate o se alla VM è collegata una GPU.
Il valore di questa chiave di metadati cambia 60 secondi prima dell'inizio di un evento di manutenzione, consentendo al codice dell'applicazione di attivare le attività che vuoi eseguire prima di un evento di manutenzione, ad esempio il backup dei dati o l'aggiornamento dei log.
Compute Engine invia l'avviso di 60 secondi solo se:
Hai impostato le opzioni di disponibilità della VM per la migrazione live durante un evento di manutenzione.
Hai eseguito una query sulla chiave dei metadati
maintenance-eventalmeno una volta dall'ultimo evento di manutenzione.Se non hai mai eseguito query sulla chiave dei metadati
maintenance-evento non l'hai eseguita dall'ultima migrazione, Compute Engine presuppone che la VM non richieda un avviso anticipato degli eventi di manutenzione. L'evento di manutenzione viene avviato immediatamente e l'avviso di 60 secondi viene ignorato.Se non vuoi ignorare l'avviso di 60 secondi, assicurati che il codice client interroghi la chiave dei metadati
maintenance-eventalmeno una volta tra gli eventi di migrazione. Devi eseguire query direttamente sulla chiave dei metadatimaintenance-eventper consentire a Compute Engine di determinare che stai monitorando questa chiave dei metadati. L'esecuzione di query su metadati di livello superiore non attiva il preavviso.
Per le VM con GPU collegate, il valore cambia 60 minuti prima dell'arresto delle VM per darti il tempo di spegnerle e riavviarle su un altro host. Le VM con GPU collegate non vengono sottoposte a migrazione live, ma vengono arrestate e, facoltativamente, riavviate. Per saperne di più, consulta Gestione degli eventi di manutenzione dell'host GPU.
Esegui una query sulla chiave dei metadati dell'evento di manutenzione
VM Linux
Per eseguire query sulla chiave di metadati maintenance-event sulle VM Linux, esegui
il seguente comando:
user@myinst:~$ curl http://metadata.google.internal/computeMetadata/v1/instance/maintenance-event -H "Metadata-Flavor: Google"
L'output è simile al seguente:
NONE
Puoi anche utilizzare l'opzione
wait-for-change. Se questa opzione è specificata, la richiesta restituisce un output solo quando
un evento di manutenzione sta per iniziare e terminare.
user@myinst:~$ curl http://metadata.google.internal/computeMetadata/v1/instance/maintenance-event?wait_for_change=true -H "Metadata-Flavor: Google"
VM Windows
Per eseguire una query sulla chiave di metadati maintenance-event sulle VM Windows, esegui questo comando:
PS C:\>
$value = (Invoke-RestMethod `
-Headers @{'Metadata-Flavor' = 'Google'} `
-Uri "http://metadata.google.internal/computeMetadata/v1/instance/maintenance-event")
$value
L'output è simile al seguente:
NONE
Puoi anche utilizzare l'opzione
wait-for-change. Se questa opzione è specificata, la richiesta restituisce un output solo quando
un evento di manutenzione sta per iniziare e terminare.
PS C:\>
$value = (Invoke-RestMethod `
-Headers @{'Metadata-Flavor' = 'Google'} `
-Uri "http://metadata.google.internal/computeMetadata/v1/instance/maintenance-event?wait_for_change=true")
$value
Python
Puoi utilizzare la chiave dei metadati maintenance-event con la funzionalità
In attesa di aggiornamenti
per inviare una notifica ai tuoi script e alle tue applicazioni quando un evento di manutenzione sta per iniziare e terminare. In questo modo puoi automatizzare qualsiasi azione che potresti
voler eseguire prima o dopo l'evento.
Il seguente esempio Python mostra un esempio di come potresti implementare queste due funzionalità insieme.
Rivedere gli output
Il valore iniziale e predefinito della chiave dei metadati maintenance-event è NONE.
Per le VM con GPU collegate, le istanze bare metal o altre istanze che non supportano la migrazione live, il valore di maintenance event cambia da
NONEaTERMINATE_ON_HOST_MAINTENANCE. Questo valore viene aggiornato 60 minuti prima dell'inizio dell'evento di interruzione.Per le VM non GPU con un'opzione di pianificazione
migrate, il valore dimaintenance-eventcambia come segue:- All'inizio dell'evento di migrazione, il valore cambia da
NONEaMIGRATE_ON_HOST_MAINTENANCE. Questo valore viene aggiornato 60 secondi prima dell'inizio dell'evento di interruzione. - Per tutta la durata dell'evento e durante la migrazione live dell'istanza VM, il valore rimane
MIGRATE_ON_HOST_MAINTENANCE. - Al termine dell'evento di manutenzione, il valore torna a
NONE.
- All'inizio dell'evento di migrazione, il valore cambia da
Per le VM single-tenant, durante un evento di manutenzione dell'host, il valore della chiave dei metadati
maintenance-eventnon cambia e rimaneNONEdall'inizio alla fine dell'evento.
Per le serie di macchine che supportano le funzionalità di manutenzione avanzata, prima di un evento di manutenzione puoi eseguire una query sulla chiave dei metadati upcoming-maintenance. Se è disponibile una notifica per la tua istanza,
dovresti visualizzare valori simili ai seguenti:
{
"maintenanceType":"SCHEDULED"
"canReschedule": "true"
"latestWindowStartTime": "2025-08-28T21:56:21Z"
"maintenanceStatus": "PENDING"
"windowEndTime": "2025-08-29T01:56:20Z"
"windowStartTime": "2025-08-28T21:56:26Z"
}
Per determinare quanto tempo prima di un evento di manutenzione viene compilata la chiave dei metadati upcoming-maintenance, consulta la documentazione "Esperienza di manutenzione" per la serie di macchine. Ad esempio, per i tipi di macchine Z3, consulta
Esperienza di manutenzione per le istanze Z3.
Passaggi successivi
- Scopri di più su come impostare le policy di disponibilità delle istanze.
- Scopri come simulare un evento di manutenzione dell'host.
- Scopri di più sulla migrazione live.
- Scopri di più sui metadati della VM.