Visualizza la topologia di un'istanza di calcolo

Questo documento spiega come visualizzare la posizione fisica, nota anche come topologia, delle tue istanze Compute Engine in una zona. Per visualizzare la topologia di un cluster in Cluster Director, vedi Visualizza topologia del cluster.

Dopo aver creato istanze A4X Max, A4X, A4, A3 Ultra, A3 Mega e A3 High (8 GPU) o istanze di calcolo che specificano una policy di posizionamento compatto o una policy di workload, puoi visualizzare la posizione fisica delle istanze di calcolo l'una rispetto all'altra. Quando conosci la vicinanza delle tue istanze di computing, puoi modificare la progettazione dell'applicazione o del carico di lavoro per eseguire i job sensibili alla latenza sulle istanze di computing più vicine tra loro. Per tutti gli altri tipi di istanze di calcolo, puoi visualizzare l'ID dell'host su cui vengono eseguite dopo aver esposto l'ID host.

Prima di iniziare

  • Esamina la terminologia per la topologia delle istanze di computing.
  • 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

    Nella console Google Cloud , attiva Cloud Shell.

    Attiva Cloud Shell

    Nella parte inferiore della console Google Cloud viene avviata una sessione di Cloud Shell e viene visualizzato un prompt della riga di comando. Cloud Shell è un ambiente shell con Google Cloud CLI già installata e con valori già impostati per il progetto corrente. L'inizializzazione della sessione può richiedere alcuni secondi.

    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 visualizzare la topologia delle istanze di computing, chiedi all'amministratore di concederti il ruolo IAM Compute Instance Admin (v1) (roles/compute.instanceAdmin.v1) 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 visualizzare la topologia delle istanze di computing. Per vedere quali sono esattamente le autorizzazioni richieste, espandi la sezione Autorizzazioni obbligatorie:

Autorizzazioni obbligatorie

Per visualizzare la topologia dell'istanza di computing sono necessarie le seguenti autorizzazioni:

  • Per visualizzare i dettagli di un'istanza di computing: compute.instances.get sul progetto
  • Per visualizzare un elenco di istanze di computing: compute.instances.list sul progetto

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

Informazioni sulla topologia delle istanze di computing

Per comprendere la posizione fisica di un'istanza di computing in un cluster, controlla il campo Host fisico nella console Google Cloud . Se utilizzi gcloud CLI, l'API Compute Engine o una query della chiave dei metadati, controlla il campo physicalHostTopology. Questi campi contengono i seguenti campi secondari:

  • cluster: il nome globale del cluster.

  • block: l'ID specifico dell'organizzazione del blocco riservato in cui si trova l'istanza.

  • sub-block: l'ID specifico dell'organizzazione del sotto-blocco in cui si trova l'istanza.

  • host: l'ID specifico dell'organizzazione dell'host su cui viene eseguita l'istanza.

Per comprendere la vicinanza delle istanze, confronta i valori dei campi Host fisico o physicalHostTopology tra le istanze di calcolo. Più campi secondari condividono le istanze di calcolo, più sono vicine tra loro.

Puoi anche visualizzare la topologia di una prenotazione in cui vengono create le istanze di computing. I campi physicalHostTopology di una prenotazione e di un'istanza mostrano gli stessi campi block e cluster. Ad esempio, quando visualizzi un blocco riservato specifico, puoi visualizzare il nome e il sottoblocco di tutte le istanze di calcolo che vengono implementate nel blocco. Per ulteriori informazioni sulla topologia di una prenotazione, vedi Visualizzare la topologia di una prenotazione.

Visualizza la topologia dell'istanza di computing

Per visualizzare contemporaneamente la posizione fisica di più istanze di Compute in esecuzione, 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 di Compute 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 al seguente:

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

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

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

REST

Per visualizzare la posizione fisica delle istanze di computing in esecuzione, invia una delle seguenti richieste GET. Quando effettui una richiesta, devi includere il parametro di query fields e specificare di mostrare solo i campi name, machineType e physicalHostTopology di un'istanza di Compute. Devi anche includere il parametro di query filter e specificare di elencare solo le istanze di Compute 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 al seguente:

  • Se riesci a visualizzare l'ID del cluster, del blocco, del sottoblocco e dell'host delle tue istanze di computing, 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": {
              "cluster": "europe-west1-cluster-jfhb",
              "block": "3e3056e23cf91a5cb4a8621b6a52c100",
              "subBlock": "0fc09525cbd5abd734342893ca1c083f",
              "host": "1215168a4ecdfb434fd4d28056589059"
            }
          }
        },
        {
          "name": "vm-02",
          "machineType": "https://www.googleapis.com/compute/v1/projects/example-project/zones/europe-west1-b/machineTypes/a3-ultragpu-8g",
          "resourceStatus": {
            "physicalHostTopology": {
              "cluster": "europe-west1-cluster-jfhb",
              "block": "3e3056e23cf91a5cb4a8621b6a52c100",
              "subBlock": "1fc18636cbd4abd623553784ca2c174e",
              "host": "2326279b5ecdfc545fd5e39167698168"
            }
          }
        },
        ...
      ]
    }
    
  • Se riesci a visualizzare solo l'ID delle istanze di computing dell'host 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": {
              "cluster": null,
              "block": null,
              "subBlock": null,
              "host": "1215168a4ecdfb434fd4d28056589059"
            }
          }
        },
        {
          "name": "vm-02",
          "machineType": "https://www.googleapis.com/compute/v1/projects/example-project/zones/europe-west1-b/machineTypes/a3-ultragpu-8g",
          "resourceStatus": {
            "physicalHostTopology": {
              "cluster": null,
              "block": null,
              "subBlock": null,
              "host": "2326279b5ecdfc545fd5e39167698168"
            }
          }
        },
        ...
      ]
    }
    

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

Visualizza la topologia dell'istanza di computing con una query della chiave dei metadati

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

Istanze Linux

  1. Connettiti all'istanza di computing Linux.

  2. Dall'istanza Linux, crea una query utilizzando lo strumento curl. Per eseguire query sulla chiave di metadati physical_host_topology nelle istanze Linux, esegui questo comando:

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

    L'output è simile al seguente:

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

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

      {
        "cluster": null,
        "block": null,
        "subBlock": null,
        "host": "1215168a4ecdfb434fd4d28056589059"
      }
      

Istanze Windows

  1. Connettiti all'istanza di calcolo Windows.

  2. Dall'istanza Windows, crea una query con il comando Invoke-RestMethod. Per eseguire una query sulla chiave dei metadati physical_host_topology sulle istanze Windows, esegui questo comando:

    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 al seguente:

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

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

      {
        "cluster": null,
        "block": null,
        "subBlock": null,
        "host": "1215168a4ecdfb434fd4d28056589059"
      }
      

Passaggi successivi