Topologie einer Compute-Instanz ansehen

In diesem Dokument wird beschrieben, wie Sie den physischen Standort, auch als Topologie bezeichnet, Ihrer Compute Engine-Instanzen in einer Zone aufrufen. Informationen zum Aufrufen der Topologie eines Clusters in Cluster Director finden Sie unter Clustertopologie ansehen.

Nachdem Sie A5X-, A4X Max-, A4X-, A4-, A3 Ultra-, A3 Mega- und A3 High-Instanzen (8 GPUs) oder Compute-Instanzen erstellt haben, die eine Richtlinie für kompakte Platzierung oder eine Arbeitslastrichtlinie angeben, können Sie den physischen Standort Ihrer Compute-Instanzen im Verhältnis zueinander aufrufen. Wenn Sie die Nähe Ihrer Compute-Instanzen kennen, können Sie das Design Ihrer Anwendung oder Arbeitslast so anpassen, dass latenzempfindliche Jobs auf den Compute-Instanzen ausgeführt werden, die am nächsten beieinander liegen. Bei allen anderen Arten von Compute-Instanzen können Sie die ID des Hosts, auf dem sie ausgeführt werden, sehen, nachdem Sie die Host-ID verfügbar gemacht haben.

Hinweis

Erforderliche Rollen

Bitten Sie Ihren Administrator, Ihnen die IAM-Rolle Compute Instance Admin (v1) (roles/compute.instanceAdmin.v1) für Ihr Projekt zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Aufrufen der Compute-Instanztopologie benötigen. Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.

Diese vordefinierte Rolle enthält die Berechtigungen, die zum Aufrufen der Compute-Instanztopologie erforderlich sind. Maximieren Sie den Abschnitt Erforderliche Berechtigungen, um die notwendigen Berechtigungen anzuzeigen:

Erforderliche Berechtigungen

Die folgenden Berechtigungen sind erforderlich, um die Topologie von Compute-Instanzen aufzurufen:

  • So rufen Sie die Details einer Compute-Instanz auf: compute.instances.get für das Projekt
  • So rufen Sie eine Liste der Compute-Instanzen auf: compute.instances.list für das Projekt

Sie können diese Berechtigungen auch mit benutzerdefinierten Rollen oder anderen vordefinierten Rollen erhalten.

Topologie von Compute-Instanzen

Wenn Sie den physischen Standort einer Compute-Instanz in einem Cluster ermitteln möchten, prüfen Sie das Feld Physischer Host in der Google Cloud Console. Wenn Sie die gcloud CLI, die Compute Engine API oder eine Metadatenschlüsselabfrage verwenden, prüfen Sie das Feld physicalHostTopology. Diese Felder enthalten die folgenden untergeordneten Felder:

  • cluster: der globale Name des Clusters.

  • block: die organisationsspezifische ID des reservierten Blocks, in dem sich die Instanz befindet.

  • sub-block: die organisationsspezifische ID des Unterblocks, in dem sich die Instanz befindet.

  • host: die organisationsspezifische ID des Hosts, auf dem die Instanz ausgeführt wird.

Um die Nähe von Instanzen zu verstehen, vergleichen Sie die Werte der Felder Physischer Host oder physicalHostTopology zwischen Compute-Instanzen. Je mehr Unterfelder die Compute-Instanzen gemeinsam haben, desto näher befinden sie sich beieinander.

Sie können sich auch die Topologie einer Reservierung ansehen, in der die Compute-Instanzen erstellt werden. In den physicalHostTopology-Feldern einer Reservierung und einer Instanz werden dieselben block- und cluster-Felder angezeigt. Wenn Sie beispielsweise einen bestimmten reservierten Block aufrufen, können Sie den Namen und den Unterblock aller Compute-Instanzen sehen, die im Block bereitgestellt sind. Weitere Informationen zur Topologie einer Reservierung finden Sie unter Topologie einer Reservierung ansehen.

Topologie der Compute-Instanzen ansehen

Wenn Sie den physischen Standort mehrerer laufender Compute-Instanzen gleichzeitig aufrufen möchten, verwenden Sie die REST API. Wählen Sie andernfalls eine der folgenden Optionen aus:

Console

  1. Rufen Sie in der Google Cloud Console die Seite VM-Instanzen auf.

    Zur Seite „VM-Instanzen“

  2. Klicken Sie in der Spalte Name auf den Namen der Compute-Instanz, für die Sie die Details anzeigen lassen möchten. Eine Seite mit den Details der Compute-Instanz wird angezeigt, wobei der Tab Details ausgewählt ist.

  3. Prüfen Sie im Abschnitt Allgemeine Informationen den Wert des Felds Physischer Host.

gcloud

Verwenden Sie den Befehl gcloud compute instances describe mit dem Flag --flatten=resourceStatus.physicalHostTopology, um den physischen Standort einer laufenden Compute-Instanz aufzurufen:

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

Ersetzen Sie Folgendes:

  • INSTANCE_NAME: der Name der Compute-Instanz.

  • ZONE: die Zone, in der sich die Compute-Instanz befindet.

Die Ausgabe sieht etwa so aus:

  • Wenn Sie die ID des Clusters, Blocks, Unterblocks und Hosts einer Compute-Instanz aufrufen können, sieht die Ausgabe in etwa so aus:

    ---
    cluster: europe-west1-cluster-jfhb
    block: 3e3056e23cf91a5cb4a8621b6a52c100
    subBlock: 0fc09525cbd5abd734342893ca1c083f
    host: 1215168a4ecdfb434fd4d28056589059
    
  • Wenn Sie die ID des Hosts nur sehen können, nachdem Sie ihn freigegeben haben, sieht die Ausgabe in etwa so aus:

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

REST

Wenn Sie den physischen Standort Ihrer laufenden Compute-Instanzen aufrufen möchten, stellen Sie eine der folgenden GET-Anfragen. Wenn Sie eine Anfrage stellen, müssen Sie den Abfrageparameter fields angeben und festlegen, dass nur die Felder name, machineType und physicalHostTopology einer Compute-Instanz angezeigt werden sollen. Außerdem müssen Sie den Suchparameter filter einfügen und angeben, dass nur ausgeführte Compute-Instanzen aufgelistet werden sollen.

  • So rufen Sie eine Liste Ihrer Instanzen in allen Zonen auf: Methode 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
    
  • So rufen Sie eine Liste Ihrer Instanzen in einer bestimmten Zone auf: Methode 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
    

Ersetzen Sie Folgendes:

  • PROJECT_ID: die ID des Projekts, in dem sich die Compute-Instanzen befinden.

  • ZONE: die Zone, in der sich die Compute-Instanzen befinden.

Die Ausgabe sieht etwa so aus:

  • Wenn Sie die ID des Clusters, Blocks, Unterblocks und Hosts Ihrer Compute-Instanzen aufrufen können, sieht die Ausgabe in etwa so aus:

    {
      "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"
            }
          }
        },
        ...
      ]
    }
    
  • Wenn Sie die ID Ihrer Compute-Instanzen des Hosts erst nach dem Freigeben sehen können, sieht die Ausgabe in etwa so aus:

    {
      "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"
            }
          }
        },
        ...
      ]
    }
    

Wenn Sie die Liste der Compute-Instanzen verfeinern möchten, bearbeiten Sie den Filterausdruck im filter-Abfrageparameter.

Topologie von Compute-Instanzen mit einer Metadatenschlüsselabfrage ansehen

Wählen Sie eine der folgenden Optionen aus, um den physischen Standort einer laufenden Compute-Instanz mit einer Abfrage des Metadatenschlüssels physical_host_topology aufzurufen:

Linux-Instanzen

  1. Stellen Sie eine Verbindung zu Ihrer Linux-Compute-Instanz her.

  2. Erstellen Sie auf Ihrer Linux-Instanz eine Abfrage mit dem curl-Tool. Führen Sie den folgenden Befehl aus, um den Metadatenschlüssel physical_host_topology auf Linux-Instanzen abzufragen:

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

    Die Ausgabe sieht etwa so aus:

    • Wenn Sie die ID des Clusters, Blocks, Unterblocks und Hosts einer Compute-Instanz aufrufen können, sieht die Ausgabe in etwa so aus:

      {
        "cluster": "europe-west1-cluster-jfhb",
        "block": "3e3056e23cf91a5cb4a8621b6a52c100",
        "subBlock": "0fc09525cbd5abd734342893ca1c083f",
        "host": "1215168a4ecdfb434fd4d28056589059"
      }
      
    • Wenn Sie die ID des Hosts nur sehen können, nachdem Sie ihn freigegeben haben, sieht die Ausgabe in etwa so aus:

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

Windows-Instanzen

  1. Stellen Sie eine Verbindung zu Ihrer Windows-Compute-Instanz her.

  2. Erstellen Sie in Ihrer Windows-Instanz eine Abfrage mit dem Befehl Invoke-RestMethod. Führen Sie den folgenden Befehl aus, um den Metadatenschlüssel physical_host_topology auf Windows-Instanzen abzufragen:

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

    Die Ausgabe sieht etwa so aus:

    • Wenn Sie die ID des Clusters, Blocks, Unterblocks und Hosts einer Compute-Instanz aufrufen können, sieht die Ausgabe in etwa so aus:

      {
        "cluster": "europe-west1-cluster-jfhb",
        "block": "3e3056e23cf91a5cb4a8621b6a52c100",
        "subBlock": "0fc09525cbd5abd734342893ca1c083f",
        "host": "1215168a4ecdfb434fd4d28056589059"
      }
      
    • Wenn Sie die ID des Hosts nur sehen können, nachdem Sie ihn freigegeben haben, sieht die Ausgabe in etwa so aus:

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

Nächste Schritte