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 ansehen. Informationen zum Ansehen der Topologie eines Clusters in Cluster Director finden Sie unter Clustertopologie ansehen.

Nachdem Sie A4X Max-, A4X-, A4-, A3 Ultra-, A3 Mega- und A3 High-Instanzen (8 GPUs) oder Compute-Instanzen erstellt haben, für die eine Richtlinie für kompakte Platzierung oder eine Arbeitslastrichtlinie angegeben ist, können Sie den physischen Standort Ihrer Compute-Instanzen im Verhältnis zueinander ansehen. Wenn Sie die Nähe Ihrer Compute-Instanzen kennen, können Sie Ihre Anwendung oder Ihr Arbeitslastdesign so anpassen, dass latenzempfindliche Jobs auf den Compute-Instanzen ausgeführt werden, die sich am nächsten zueinander befinden. 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

  • Terminologie für die Compute-Instanztopologie ansehen
  • Wählen Sie den Tab für die geplante Verwendung der Beispiele auf dieser Seite aus:

    Console

    Wenn Sie über die Google Cloud Console auf Google Cloud -Dienste und -APIs zugreifen, müssen Sie die Authentifizierung nicht einrichten.

    gcloud

    Aktivieren Sie Cloud Shell in der Google Cloud Console.

    Cloud Shell aktivieren

    Unten in der Google Cloud Console wird eine Cloud Shell-Sitzung gestartet und eine Eingabeaufforderung angezeigt. Cloud Shell ist eine Shell-Umgebung, in der das Google Cloud CLI bereits installiert ist und Werte für Ihr aktuelles Projekt bereits festgelegt sind. Das Initialisieren der Sitzung kann einige Sekunden dauern.

    REST

    Wenn Sie die REST API-Beispiele auf dieser Seite in einer lokalen Entwicklungsumgebung verwenden möchten, verwenden Sie die Anmeldedaten, die Sie der gcloud CLI bereitstellen.

      Installieren Sie die Google Cloud CLI.

      Wenn Sie einen externen Identitätsanbieter (IdP) verwenden, müssen Sie sich zuerst mit Ihrer föderierten Identität in der gcloud CLI anmelden.

    Weitere Informationen finden Sie in der Dokumentation zur Google Cloud -Authentifizierung unter Für die Verwendung von REST authentifizieren.

Erforderliche Rollen

Bitten Sie Ihren Administrator, Ihnen die IAM-Rolle Compute Instance Admin (v1) (roles/compute.instanceAdmin.v1) für Ihr Projekt zu gewähren, um die Berechtigungen zu erhalten, die Sie zum Aufrufen der Topologie von Compute-Instanzen 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 Topologie von Compute-Instanzen 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 im 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, sehen Sie in der Google Cloud Konsole im Feld Physischer Host nach. 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 liegen sie beieinander.

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

Topologie von 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, deren Details Sie aufrufen 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 sehen 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 erst nach der Offenlegung sehen können, sieht die Ausgabe so aus:

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

REST

Führen Sie eine der folgenden GET-Anfragen aus, um den physischen Standort Ihrer laufenden Compute-Instanzen aufzurufen. Wenn Sie eine Anfrage stellen, müssen Sie den Abfrageparameter fields einfügen und angeben, dass nur die Felder name, machineType und physicalHostTopology einer Compute-Instanz angezeigt werden sollen. Außerdem müssen Sie den Abfrageparameter filter einfügen und angeben, dass nur laufende Compute-Instanzen aufgeführt 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 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": "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 der Offenlegung sehen können, sieht die Ausgabe 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 eingrenzen möchten, bearbeiten Sie den Filterausdruck im filter-Abfrageparameter.

Topologie von Compute-Instanzen mit einer Metadatenschlüsselabfrage ansehen

Wenn Sie den physischen Standort einer laufenden Compute-Instanz mit einer Abfrage des Metadatenschlüssels physical_host_topology aufrufen möchten, wählen Sie eine der folgenden Optionen aus:

Linux-Instanzen

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

  2. Erstellen Sie in Ihrer Linux-Instanz eine Abfrage mit dem Tool curl. 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 sehen 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 erst 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 sehen 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 erst 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