Informazioni sui metadati delle VM

Mantieni tutto organizzato con le raccolte Salva e classifica i contenuti in base alle tue preferenze.

Ogni istanza di macchina virtuale (VM) archivia i propri metadati in un server di metadati. La tua VM ha automaticamente accesso all'API del server dei metadati senza alcuna autorizzazione aggiuntiva. I metadati vengono memorizzati come key:value coppie.

Esiste un set predefinito di chiavi di metadati disponibili per le VM in esecuzione su Compute Engine. Per un elenco di queste chiavi di metadati predefinite, consulta Valori dei metadati predefiniti. Puoi anche utilizzare chiavi di metadati personalizzate su una singola VM o un singolo progetto. Per ulteriori informazioni, consulta la pagina Impostare i metadati personalizzati.

Dopo aver impostato una voce di metadati predefinita o personalizzata, puoi rivedere le informazioni sui metadati per tale VM o progetto. Per visualizzare i metadati, consulta la pagina relativa all'esecuzione di query sui metadati delle VM.

Utilizzo dei metadati delle VM

Le seguenti sezioni descrivono alcuni scenari in cui puoi utilizzare voci di metadati per gestire le tue VM.

Script di avvio e arresto

Il server di metadati è particolarmente utile se utilizzato in combinazione con script di avvio e di arresto, in quanto puoi utilizzare il server di metadati per ottenere in modo programmatico informazioni univoche su una VM, senza ulteriore autorizzazione.

Ad esempio, puoi scrivere uno script di avvio che recupera la coppia di metadati key:value per un IP esterno di una VM e utilizzarlo nello script per configurare un database. Poiché le chiavi dei metadati predefinite sono le stesse per ogni VM, puoi riutilizzare lo script senza doverlo aggiornare per ogni VM. Ciò ti aiuta a creare meno codice fragile per le tue applicazioni.

Manutenzione host

Il server di metadati fornisce informazioni su un'opzione di pianificazione delle VM tramite la voce della directory dei metadati scheduling/ e l'attributo maintenance-event. Puoi utilizzare questi valori di metadati per informarti quando sta per verificarsi un evento di manutenzione in modo da poter preparare il tuo ambiente per l'evento. Per ulteriori informazioni, consulta la sezione Ricevere notifiche di migrazione in tempo reale.

Attributi ospite

Gli attributi guest sono un tipo specifico di metadati personalizzati su cui le applicazioni possono scrivere durante l'esecuzione sulle VM. Utilizza gli attributi guest solo per casi d'uso che richiedono piccole quantità di dati che non cambiano di frequente. Per ulteriori informazioni sugli attributi guest, consulta la pagina Impostare ed eseguire query sugli attributi guest.

Considerazioni sulla sicurezza dei metadati

Quando effettui una richiesta per ottenere informazioni dal server di metadati, la tua richiesta e la successiva risposta dei metadati non lasciano mai l'host fisico che esegue la VM.

Tuttavia, qualsiasi processo in grado di eseguire query sull'URL dei metadati, ha accesso a tutti i valori nel server dei metadati. Sono inclusi i valori dei metadati personalizzati che scrivi sul server. Google consiglia di prestare attenzione quando si scrivono valori sensibili sul server di metadati o quando si eseguono processi di terze parti.

Limitazioni

  • Qualsiasi richiesta contenente l'intestazione X-Forwarded-For viene rifiutata automaticamente dal server di metadati. Questa intestazione in genere indica che la richiesta è stata inviata tramite proxy e potrebbe non essere una richiesta effettuata da un utente autorizzato. Per motivi di sicurezza, tutte queste richieste vengono rifiutate.

  • Quando utilizzi il comando curl per recuperare metadati dal server, tieni presente che alcuni caratteri codificati non sono supportati nel percorso della richiesta. I caratteri codificati sono supportati solo nel percorso della query.

    Ad esempio, la seguente richiesta potrebbe non funzionare:

    curl "http://metadata.google.internal/computeMetadata/v1/VM/service-accounts/123456789-compute%40developer.gserviceaccount.com/?query_path=https%3A%2F%2Flocalhost%3A8200%2Fexample%2Fquery&another_param=true" -H "Metadata-Flavor: Google"

    Affinché questa richiesta funzioni, devi sostituire il carattere codificato non supportato nel percorso della richiesta (%40) con il valore accettato (@) equivalente.

    curl "http://metadata.google.internal/computeMetadata/v1/VM/service-accounts/1234567898-compute@developer.gserviceaccount.com/?query_path=https%3A%2F%2Flocalhost%3A8200%2Fexample%2Fquery&another_param=true" -H "Metadata-Flavor: Google"

    La seguente tabella riassume i caratteri codificati che non sono supportati in un percorso di richiesta.

    Carattere codificato Valore accettato
    %21
    
    !
    %24
    
    $
    %27
    
    '
    %28
    
    (
    %29
    
    )
    %2A
    
    *
    %2C
    
    ,
    %40
    
    @

Parti di una richiesta di metadati

La seguente tabella riassume le parti principali di una richiesta di query sui metadati.

Componenti Descrizione
URL principale

Tutti i valori dei metadati sono definiti come percorsi secondari sotto il seguente URL principale:


http://metadata.google.internal/computeMetadata/v1
Intestazione della richiesta

La seguente intestazione deve essere presente in tutte le richieste:


Metadata-Flavor: Google

Questa intestazione indica che la richiesta è stata inviata con l'intenzione di recuperare valori di metadati invece che involontariamente da un'origine non sicura e consente al server di metadati di restituire i dati richiesti. Se non fornisci questa intestazione, il server di metadati rifiuta la tua richiesta.

Passaggi successivi