Visualizza la posizione fisica di un'istanza Compute Engine

Questo documento spiega come visualizzare la posizione fisica delle istanze Compute Engine in esecuzione nella tua organizzazione Google Cloud .

Dopo aver creato e avviato le istanze di computing, puoi visualizzare l'host fisico su cui viene eseguita ogni istanza di computing in una zona. Utilizza la posizione fisica delle istanze di computing nel cluster per:

  • Ridurre al minimo la latenza di rete: modifica la progettazione dell'applicazione o del workload per eseguire i job sensibili alla latenza sulle istanze di calcolo più vicine tra loro.

  • Migliora l'affidabilità del workload: distribuisci le istanze di calcolo su host fisici separati per limitare l'impatto degli errori dell'host nell'applicazione.

Per verificare quali istanze di Compute vengono eseguite nel tuo progetto, visualizza un elenco di istanze di Compute.

Limitazioni

Puoi visualizzare l'ID del cluster, del blocco, del sottoblocco e dell'host delle istanze di calcolo che soddisfano uno o più dei seguenti requisiti:

Se un'istanza di computing non soddisfa nessuno dei requisiti precedenti, puoi visualizzare il relativo ID host dopo averlo esposto, come descritto in questo documento.

Informazioni sulla topologia delle istanze di computing

Ogni istanza di computing viene eseguita su un server fisico, un host, che si trova in un blocco di server. Ogni blocco appartiene a un cluster in una zona. Quando visualizzi i dettagli delle istanze di calcolo che soddisfano requisiti specifici, puoi comprenderne la topologia rispetto ad altre istanze di calcolo che soddisfano gli stessi requisiti.

Compute Engine espone i seguenti campi secondari nel campo physicalHostTopology di ogni istanza di computing. Più sottocampi condividono due istanze di computing in esecuzione, più sono vicine tra loro.

  • Cluster (cluster): il nome globale del cluster in cui esiste l'istanza di computing. Un cluster è un raggruppamento logico di alto livello di più host, che possono estendersi su più blocchi, che funzionano insieme come un unico pool di risorse.

  • Blocco (block): l'ID specifico dell'organizzazione del blocco in cui esiste l'istanza di computing. Un blocco è una raccolta di più host raggruppati insieme.

  • Sub-block (subBlock): l'ID specifico dell'organizzazione del sub-block in cui esiste l'istanza di computing. Un sottoblocco è una suddivisione fisica di un blocco, che raggruppa gli host all'interno di un unico contenitore fisico.

  • Host (host): l'ID specifico dell'organizzazione o del progetto dell'host su cui viene eseguita l'istanza di computing. L'ID host cambia come segue:

    • Se l'istanza di Compute specifica una policy di posizionamento compatto o una policy del carico di lavoro, l'ID host è specifico per il tuo progetto.

    • Se l'istanza di computing specifica una serie di macchine supportata o se espone il suo ID host, l'ID host è specifico per la tua organizzazione.

Prima di iniziare

  • 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:

    Seleziona la scheda relativa a come prevedi di utilizzare i campioni in questa pagina:

    Console

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

    gcloud

    1. Installa Google Cloud CLI. Dopo l'installazione, inizializza Google Cloud CLI eseguendo il comando seguente:

      gcloud init

      Se utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.

  • Imposta una regione e una zona predefinite.
  • 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.

      Se utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.

    Per saperne di più, consulta Autenticati per usare REST nella documentazione sull'autenticazione di Google Cloud .

Ruoli obbligatori

Per ottenere le autorizzazioni necessarie per verificare la topologia delle istanze di computing, chiedi all'amministratore di concederti il ruolo IAM Compute Admin (roles/compute.admin) nel progetto. Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.

Questo ruolo predefinito contiene le autorizzazioni necessarie per verificare la topologia delle istanze di computing. Per vedere quali sono esattamente le autorizzazioni richieste, espandi la sezione Autorizzazioni obbligatorie:

Autorizzazioni obbligatorie

Per verificare la topologia delle istanze di computing sono necessarie le seguenti autorizzazioni:

  • Per visualizzare i dettagli di un'istanza di computing: compute.instances.get
  • Per visualizzare un elenco di istanze di computing: compute.instances.list
  • Per esporre l'ID host quando crei un'istanza di computing:
    • compute.instances.create sul progetto
    • Per utilizzare un'immagine personalizzata per creare la VM: compute.images.useReadOnly sull'immagine
    • Per utilizzare uno snapshot per creare la VM: compute.snapshots.useReadOnly sullo snapshot
    • Per utilizzare un template di istanza per creare la VM: compute.instanceTemplates.useReadOnly sul template di istanza
    • Per assegnare una rete legacy alla VM: compute.networks.use sul progetto
    • Per specificare un indirizzo IP statico per la VM: compute.addresses.use sul progetto
    • Per assegnare un indirizzo IP esterno alla VM quando viene utilizzata una rete legacy: compute.networks.useExternalIp sul progetto
    • Per specificare una subnet per la VM: compute.subnetworks.use sul progetto o sulla subnet scelta
    • Per assegnare un indirizzo IP esterno alla VM quando viene utilizzata una rete VPC: compute.subnetworks.useExternalIp sul progetto o sulla subnet scelta
    • Per impostare i metadati dell'istanza VM per la VM: compute.instances.setMetadata sul progetto
    • Per impostare i tag per la VM: compute.instances.setTags sulla VM
    • Per impostare le etichette per la VM: compute.instances.setLabels sulla VM
    • Per impostare un service account da utilizzare per la VM: compute.instances.setServiceAccount sulla VM
    • Per creare un nuovo disco per la VM: compute.disks.create sul progetto
    • Per collegare un disco esistente in modalità di sola lettura o lettura/scrittura: compute.disks.use sul disco
    • Per collegare un disco esistente in modalità di sola lettura: compute.disks.useReadOnly sul disco
  • Per esporre l'ID host quando crei un template di istanza: compute.instanceTemplates.create
  • Per mostrare o nascondere l'ID host in un'istanza di computing esistente: compute.instances.update

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

Mostrare o nascondere l'ID host

A meno che un'istanza di computing non soddisfi requisiti specifici, il relativo ID host è nascosto per impostazione predefinita. Puoi esporre l'ID host quando crei o aggiorni le istanze di computing. Quando visualizzi i dettagli delle tue istanze di calcolo, puoi vedere i loro ID host specifici per la tua Google Cloud organizzazione. Non puoi visualizzare gli ID del blocco, del sub-blocco o del cluster per le istanze di computing.

Per mostrare o nascondere l'ID host in un'istanza di computing, utilizza uno dei seguenti metodi:

Se vuoi impedire l'esposizione dell'ID host per uno o più progetti nella tua organizzazione, puoi creare un vincolo personalizzato. Questo vincolo è utile quando, ad esempio, vuoi eseguire workload sensibili alla sicurezza. Per ulteriori informazioni, consulta Vincoli personalizzati.

Mostrare o nascondere l'ID host in un'istanza di computing esistente

Puoi mostrare o nascondere l'ID host in un'istanza di computing esistente senza riavviarla. Se disattivi l'impostazione che espone l'ID host per un'istanza di calcolo che mostra l'ID host per impostazione predefinita, si verifica una delle seguenti situazioni:

  • Se l'istanza di Compute specifica una policy di posizionamento compatto o una policy del workload, vengono visualizzati l'ID host specifico del progetto e le informazioni sulla posizione fisica correlate.

  • Se l'istanza di computing utilizza un tipo di macchina H4D o un tipo di macchina A3 High con 8 GPU (o generazioni successive), Compute Engine ignora la richiesta.

Per mostrare o nascondere l'ID host di un'istanza di computing esistente, seleziona una delle seguenti opzioni:

gcloud

Per mostrare o nascondere l'ID host per un'istanza di computing esistente, utilizza il comando gcloud compute instances update con uno dei seguenti flag:

  • Per esporre l'ID host, includi il flag --expose-host-topology:

    gcloud compute instances update INSTANCE_NAME \
        --expose-host-topology \
        --zone=ZONE
    
  • Per nascondere l'ID host, includi il flag --no-expose-host-topology:

    gcloud compute instances update INSTANCE_NAME \
        --no-expose-host-topology \
        --zone=ZONE
    

Sostituisci quanto segue:

  • INSTANCE_NAME: il nome dell'istanza di computing.

  • ZONE: la zona in cui esiste l'istanza di computing.

REST

  1. Per visualizzare le proprietà di un'istanza di Compute esistente, invia una richiesta GET al metodo instances.get:

    GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME
    

    Sostituisci quanto segue:

    • PROJECT_ID: l'ID del progetto in cui hai creato l'istanza di computing.

    • ZONE: la zona in cui esiste l'istanza di computing.

    • INSTANCE_NAME: il nome dell'istanza di computing.

  2. Per aggiornare un'istanza di Compute per mostrare o nascondere l'ID host, invia una richiesta PUT al metodo instances.update. Nel corpo della richiesta, utilizza l'output della richiesta GET del passaggio precedente. Tuttavia, nel campo scheduling devi aggiungere il campo exposeHostTopology per mostrare o nascondere l'ID host. Se il campo scheduling non esiste nell'output della richiesta, aggiungilo.

    La richiesta PUT è simile alla seguente:

    PUT https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME?mostDisruptiveAllowedAction=REFRESH
    
    {
      "scheduling": {
        "exposeHostTopology": EXPOSE_HOST_ID
      },
      ...
    }
    

    Sostituisci EXPOSE_HOST_ID con uno dei seguenti valori:

    • Per visualizzare l'ID host: true

    • Per nascondere l'ID host: false

Esporre l'ID host in una nuova istanza di computing

Per esporre l'ID host durante la creazione di un'istanza di computing, seleziona una delle seguenti opzioni:

gcloud

Per esporre l'ID host durante la creazione di un'istanza di computing, utilizza il comando gcloud compute instances create con il flag --expose-host-topology:

gcloud compute instances create INSTANCE_NAME \
    --machine-type=MACHINE_TYPE \
    --expose-host-topology \
    --zone=ZONE

Sostituisci quanto segue:

  • INSTANCE_NAME: il nome dell'istanza di computing.

  • MACHINE_TYPE: il tipo di macchina che vuoi che utilizzi la tua istanza di Compute.

  • ZONE: la zona in cui vuoi creare l'istanza di computing.

REST

Per esporre l'ID host durante la creazione di un'istanza di Compute, invia una richiesta POST al metodo instances.insert. Nel corpo della richiesta, includi il campo scheduling.exposeHostTopology impostato su true.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances

{
  "name": "INSTANCE_NAME",
  "machineType": "zones/ZONE/machineTypes/MACHINE_TYPE",
  "disks": [
    {
      "boot": true,
      "initializeParams": {
        "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE"
      }
    }
  ],
  "networkInterfaces": [
    {
      "network": "global/networks/default"
    }
  ],
  "scheduling": {
    "exposeHostTopology": true
  }
}

Sostituisci quanto segue:

  • PROJECT_ID: l'ID del progetto in cui creare l'istanza di computing.

  • ZONE: la zona in cui vuoi creare l'istanza di computing.

  • INSTANCE_NAME: il nome dell'istanza di computing.

  • MACHINE_TYPE: il tipo di macchina che vuoi che utilizzi la tua istanza di Compute.

  • IMAGE_PROJECT: il progetto di immagini che contiene l'immagine, ad esempio debian-cloud. Per saperne di più sui progetti di immagini supportati, consulta Immagini SO pubbliche.

  • IMAGE: specifica una delle seguenti opzioni:

    • Una versione specifica dell'immagine sistema operativo, ad esempio debian-12-bookworm-v20240617.

    • Una famiglia di immagini, che deve essere formattata come family/IMAGE_FAMILY. In questo modo, viene specificata l'immagine sistema operativo più recente e non deprecata. Ad esempio, se specifichi family/debian-12, viene utilizzata l'ultima versione della famiglia di immagini Debian 12. Per saperne di più sull'utilizzo delle famiglie di immagini, consulta le best practice per le famiglie di immagini.

Mostra l'ID host in nuove istanze di computing collettivamente

Per esporre l'ID host quando crei in blocco istanze di computing, seleziona una delle seguenti opzioni:

gcloud

Per esporre l'ID host quando crei istanze di computing in blocco, esegui il comando gcloud compute instances create-bulk con il flag --expose-host-topology.

Ad esempio, per creare in blocco istanze di computing in un'unica zona e specificare di esporre il loro ID host, esegui questo comando:

gcloud compute instances create-bulk \
    --count=COUNT \
    --machine-type=MACHINE_TYPE \
    --name-pattern="NAME_PATTERN" \
    --expose-host-topology \
    --zone=ZONE

Sostituisci quanto segue:

  • COUNT: il numero di istanze di computing da creare.

  • MACHINE_TYPE: il tipo di macchina che vuoi che utilizzino le tue istanze di Compute.

  • NAME_PATTERN: il pattern del nome per le istanze di computing. Per sostituire una sequenza di numeri in un nome di istanza di computing, utilizza una sequenza di caratteri hash (#). Ad esempio, l'utilizzo di instance-# per il pattern del nome genera istanze di Compute con nomi che iniziano con instance-1, instance-2 e via di seguito fino al numero di istanze di Compute specificato da COUNT.

  • ZONE: la zona in cui vuoi creare le istanze di Compute in blocco.

REST

Per esporre l'ID host quando crei istanze di computing in blocco, invia una richiesta POST al metodo instances.bulkInsert. Nel corpo della richiesta, includi il campo instanceProperties.scheduling.exposeHostTopology impostato su true.

Ad esempio, per creare in blocco istanze di computing in un'unica zona e specificare di esporre il relativo ID host, invia una richiesta POST nel modo seguente:

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/bulkInsert

{
  "count": "COUNT",
  "namePattern": "NAME_PATTERN",
  "instanceProperties": {
    "machineType": "MACHINE_TYPE",
    "disks": [
      {
        "boot": true,
        "initializeParams": {
          "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE"
        }
      }
    ],
    "networkInterfaces": [
      {
        "network": "global/networks/default"
      }
    ],
    "scheduling": {
      "exposeHostTopology": true
    }
  }
}

Sostituisci quanto segue:

  • PROJECT_ID: l'ID del progetto in cui creare le istanze di computing.

  • ZONE: la zona in cui vuoi creare le istanze di computing.

  • COUNT: il numero di istanze di computing da creare.

  • NAME_PATTERN: il pattern del nome per le istanze di computing. Per sostituire una sequenza di numeri in un nome di istanza di computing, utilizza una sequenza di caratteri hash (#). Ad esempio, l'utilizzo di instance-# per il pattern del nome genera istanze di Compute con nomi che iniziano con instance-1, instance-2 e via di seguito fino al numero di istanze di Compute specificato da COUNT.

  • MACHINE_TYPE: il tipo di macchina che vuoi che utilizzino le tue istanze di Compute.

  • IMAGE_PROJECT: il progetto di immagini che contiene l'immagine, ad esempio debian-cloud. Per saperne di più sui progetti di immagini supportati, consulta Immagini SO pubbliche.

  • IMAGE: specifica una delle seguenti opzioni:

    • Una versione specifica dell'immagine sistema operativo, ad esempio debian-12-bookworm-v20240617.

    • Una famiglia di immagini, che deve essere formattata come family/IMAGE_FAMILY. In questo modo, viene specificata l'immagine sistema operativo più recente e non deprecata. Ad esempio, se specifichi family/debian-12, viene utilizzata l'ultima versione della famiglia di immagini Debian 12. Per saperne di più sull'utilizzo delle famiglie di immagini, consulta le best practice per le famiglie di immagini.

Esporre l'ID host in un nuovo modello di istanza

Dopo aver creato un template di istanza che specifica di esporre l'ID host, puoi utilizzarlo per:

Per esporre l'ID host durante la creazione di un modello di istanza, seleziona una delle seguenti opzioni:

gcloud

Per esporre l'ID host durante la creazione di un template di istanza, utilizza il comando gcloud compute instance-templates create con il flag --expose-host-topology.

Ad esempio, per creare un template di istanza regionale, utilizza il seguente comando: Se vuoi creare un template di istanza globale, utilizza lo stesso comando senza il flag --instance-template-region.

gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
    --expose-host-topology \
    --instance-template-region=REGION \
    --machine-type=MACHINE_TYPE

Sostituisci quanto segue:

  • INSTANCE_TEMPLATE_NAME: il nome del template di istanza.

  • REGION: la regione in cui creare il template di istanza.

  • MACHINE_TYPE: il tipo di macchina che vuoi che utilizzino le tue istanze di Compute.

REST

Per esporre l'ID host durante la creazione di un template di istanza, invia una richiesta POST a uno dei seguenti metodi. Nel corpo della richiesta, includi il campo properties.scheduling.exposeHostTopology impostato su true.

Ad esempio, per creare un template di istanza regionale che esponga l'ID host, effettua una richiesta POST come segue:

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceTemplates

{
  "name": "INSTANCE_TEMPLATE_NAME",
  "properties": {
    "disks": [
      {
        "boot": true,
        "initializeParams": {
          "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE"
        }
      }
    ],
    "machineType": "MACHINE_TYPE",
    "networkInterfaces": [
      {
        "network": "global/networks/default"
      }
    ],
    "scheduling": {
      "exposeHostTopology": true
    }
  }
}

Sostituisci quanto segue:

  • PROJECT_ID: l'ID del progetto in cui creare il template di istanza.

  • REGION: la regione in cui vuoi creare il template di istanza.

  • INSTANCE_TEMPLATE_NAME: il nome del template di istanza.

  • IMAGE_PROJECT: il progetto di immagini che contiene l'immagine, ad esempio debian-cloud. Per saperne di più sui progetti di immagini supportati, consulta Immagini SO pubbliche.

  • IMAGE: specifica una delle seguenti opzioni:

    • Una versione specifica dell'immagine sistema operativo, ad esempio debian-12-bookworm-v20240617.

    • Una famiglia di immagini, che deve essere formattata come family/IMAGE_FAMILY. In questo modo, viene specificata l'immagine sistema operativo più recente e non deprecata. Ad esempio, se specifichi family/debian-12, viene utilizzata l'ultima versione della famiglia di immagini Debian 12. Per saperne di più sull'utilizzo delle famiglie di immagini, consulta le best practice per le famiglie di immagini.

  • MACHINE_TYPE: il tipo di macchina che vuoi che utilizzino le tue istanze di Compute.

Verifica la posizione fisica dell'istanza di computing

Puoi visualizzare la posizione fisica delle istanze di calcolo in esecuzione solo se soddisfano requisiti specifici o se espongono i relativi ID host.

Per verificare la posizione fisica delle istanze di computing in esecuzione nella tua organizzazione, utilizza uno dei seguenti metodi:

Verifica la posizione fisica utilizzando la console Google Cloud , gcloud CLI o REST

Per visualizzare la posizione fisica di più istanze di calcolo contemporaneamente, utilizza l'API REST. In caso contrario, seleziona una delle seguenti opzioni:

Console

  1. Nella console Google Cloud , vai alla pagina Istanze VM.

    Vai a Istanze VM

  2. Nella colonna Nome, fai clic sul nome dell'istanza di computing di cui vuoi visualizzare i dettagli. Viene visualizzata una pagina con i dettagli dell'istanza e viene selezionata la scheda Dettagli.

  3. Nella sezione Informazioni di base, controlla il valore del campo Host fisico.

gcloud

Per visualizzare la posizione fisica di un'istanza di computing in esecuzione, utilizza il comando gcloud compute instances describe con il flag --flatten=resourceStatus.physicalHostTopology:

gcloud compute instances describe INSTANCE_NAME \
    --flatten=resourceStatus.physicalHostTopology \
    --zone=ZONE

Sostituisci quanto segue:

  • INSTANCE_NAME: il nome dell'istanza di computing.

  • ZONE: la zona in cui esiste l'istanza di computing.

L'output è simile a uno dei seguenti:

  • Se riesci a visualizzare l'ID del cluster, del blocco, del sottoblocco e dell'host di un'istanza di computing, l'output è simile al seguente:

    ---
    block: 3e3056e23cf91a5cb4a8621b6a52c100
    cluster: europe-west1-cluster-jfhb
    host: 1215168a4ecdfb434fd4d28056589059
    subBlock: 0fc09525cbd5abd734342893ca1c083f
    
  • Se puoi visualizzare l'ID dell'host solo dopo averlo esposto, l'output è simile al seguente:

    ---
    block: null
    cluster: null
    host: 1215168a4ecdfb434fd4d28056589059
    subBlock: null
    

REST

Per visualizzare la posizione fisica delle istanze di calcolo in esecuzione, invia una delle seguenti richieste GET. Quando effettui una richiesta, devi includere il parametro di query fields e limitare l'output ai campi name, machineType e physicalHostTopology di un'istanza di Compute. Devi anche includere il parametro di query filter e limitare i risultati alle istanze di calcolo in esecuzione.

  • Per visualizzare un elenco delle tue istanze in tutte le zone: metodo instances.aggregatedList

    GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/aggregated/instances?fields=items.name,items.machineType,items.resourceStatus.physicalHostTopology&filter=status=RUNNING
    
  • Per visualizzare un elenco delle tue istanze in una zona specifica: metodo instances.list

    GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances?fields=items.name,items.machineType,items.resourceStatus.physicalHostTopology&filter=status=RUNNING
    

Sostituisci quanto segue:

  • PROJECT_ID: l'ID del progetto in cui esistono le istanze di computing.

  • ZONE: la zona in cui esistono le istanze di computing.

L'output è simile a uno dei seguenti:

  • Se riesci a visualizzare l'ID del cluster, del blocco, del sottoblocco e dell'host di un'istanza di Compute, l'output è simile al seguente. Nell'esempio seguente, le istanze di computing vm-01 e vm-02 si trovano nello stesso blocco.

    {
      "items": [
        {
          "name": "vm-01",
          "machineType": "https://www.googleapis.com/compute/v1/projects/example-project/zones/europe-west1-b/machineTypes/a3-ultragpu-8g",
          "resourceStatus": {
            "physicalHostTopology": {
              "block": "3e3056e23cf91a5cb4a8621b6a52c100",
              "cluster": "europe-west1-cluster-jfhb",
              "host": "1215168a4ecdfb434fd4d28056589059",
              "subBlock": "0fc09525cbd5abd734342893ca1c083f"
            }
          }
        },
        {
          "name": "vm-02",
          "machineType": "https://www.googleapis.com/compute/v1/projects/example-project/zones/europe-west1-b/machineTypes/a3-ultragpu-8g",
          "resourceStatus": {
            "physicalHostTopology": {
              "block": "3e3056e23cf91a5cb4a8621b6a52c100",
              "cluster": "europe-west1-cluster-jfhb",
              "host": "2326279b5ecdfc545fd5e39167698168",
              "subBlock": "1fc18636cbd4abd623553784ca2c174e"
            }
          }
        },
        ...
      ]
    }
    
  • Se puoi visualizzare l'ID dell'host solo dopo averlo esposto, l'output è simile al seguente:

    {
      "items": [
        {
          "name": "vm-01",
          "machineType": "https://www.googleapis.com/compute/v1/projects/example-project/zones/europe-west1-b/machineTypes/a3-ultragpu-8g",
          "resourceStatus": {
            "physicalHostTopology": {
              "block": null,
              "cluster": null,
              "host": "1215168a4ecdfb434fd4d28056589059",
              "subBlock": null
            }
          }
        },
        {
          "name": "vm-02",
          "machineType": "https://www.googleapis.com/compute/v1/projects/example-project/zones/europe-west1-b/machineTypes/a3-ultragpu-8g",
          "resourceStatus": {
            "physicalHostTopology": {
              "block": null,
              "cluster": null,
              "host": "2326279b5ecdfc545fd5e39167698168",
              "subBlock": null
            }
          }
        },
        ...
      ]
    }
    

Se vuoi perfezionare l'elenco delle istanze di calcolo, modifica l'espressione di filtro nel parametro di query filter.

Verifica la posizione fisica eseguendo query sulla chiave dei metadati

Per visualizzare la posizione fisica di un'istanza di computing in esecuzione eseguendo query sulla chiave di metadati physical_host_topology, seleziona una delle seguenti opzioni:

Istanze Linux

  1. Connettiti all'istanza Linux.

  2. Esegui una query sulla chiave dei metadati physical_host_topology utilizzando curl:

    user@myinst:~$ curl -s -H "Metadata-Flavor: Google" http://metadata.google.internal/computeMetadata/v1/instance/attributes/physical_host_topology
    

    L'output è simile a uno dei seguenti:

    • Se puoi visualizzare l'ID del cluster, del blocco, del sottoblocco e dell'host di un'istanza di Compute, l'output è simile al seguente:

      {
        "block": "3e3056e23cf91a5cb4a8621b6a52c100",
        "cluster": "europe-west1-cluster-jfhb",
        "host": "2326279b5ecdfc545fd5e39167698168",
        "subBlock": "1fc18636cbd4abd623553784ca2c174e"
      }
      
    • Se riesci a visualizzare solo l'ID dell'host dopo averlo esposto, l'output è simile al seguente:

      {
        "block": null,
        "cluster": null,
        "host": "2326279b5ecdfc545fd5e39167698168",
        "subBlock": null
      }
      

Istanze Windows

  1. Connettiti all'istanza Windows.

  2. Esegui una query sulla chiave dei metadati physical_host_topology utilizzando il comando Invoke-RestMethod:

    PS C:\> 
    $value = (Invoke-RestMethod `
            -Headers @{'Metadata-Flavor' = 'Google'} `
            -Uri "http://metadata.google.internal/computeMetadata/v1/instance/attributes/physical_host_topology")
    $value
    

    L'output è simile a uno dei seguenti:

    • Se puoi visualizzare l'ID del cluster, del blocco, del sottoblocco e dell'host di un'istanza di Compute, l'output è simile al seguente:

      {
        "block": "3e3056e23cf91a5cb4a8621b6a52c100",
        "cluster": "europe-west1-cluster-jfhb",
        "host": "2326279b5ecdfc545fd5e39167698168",
        "subBlock": "1fc18636cbd4abd623553784ca2c174e"
      }
      
    • Se riesci a visualizzare solo l'ID dell'host dopo averlo esposto, l'output è simile al seguente:

      {
        "block": null,
        "cluster": null,
        "host": "2326279b5ecdfc545fd5e39167698168",
        "subBlock": null
      }
      

Passaggi successivi