Topologie einer Compute-Instanz ansehen

In diesem Dokument wird erläutert, wie Sie den physischen Standort Ihrer Compute Engine-Instanzen der Typen A4X Max, A4X, A4, A3 Ultra, A3 Mega und A3 High (8 GPUs) aufrufen, die auf reservierten Kapazitätsblöcken ausgeführt werden.

Nachdem Sie Instanzen der Typen A4X Max, A4X, A4, A3 Ultra, A3 Mega und A3 High (8 GPUs) erstellt haben, können Sie sich ihre Anordnung ansehen, um zu prüfen, welche Instanzen sich am nächsten zueinander befinden. Wenn Sie die Nähe von Instanzen kennen, können Sie Folgendes tun:

  • Das Design Ihrer Anwendung oder Arbeitslast anpassen, um die Netzwerklatenz weiter zu minimieren.

  • Probleme mit der Netzwerklatenz oder Leistung von Instanzen beheben, die häufig kommunizieren, wenn sie unerwartet weit voneinander entfernt sind.

Hinweis

  • Machen Sie sich mit der Terminologie vertraut, die in den Cluster Director-Funktionen verwendet wird.
  • Wählen Sie den Tab für die 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 Google Cloud Authentifizierungsdokumentation unter Für die Verwendung von REST authentifizieren.

Erforderliche Rollen

Bitten Sie Ihren Administrator, Ihnen die Berechtigung zu gewähren, um die Berechtigungen zu erhalten, die Sie zum Aufrufen der Compute-Instanztopologie benötigen. Compute-Instanzadministrator (Version 1) (roles/compute.instanceAdmin.v1) IAM-Rolle für Ihr Projekt. 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, die erforderlich sind:

Erforderliche Berechtigungen

Die folgenden Berechtigungen sind für das Aufrufen der Compute-Instanztopologie erforderlich:

  • Details einer Instanz aufrufen: compute.instances.get für das Projekt
  • Liste der Instanzen aufrufen: compute.instances.list für das Projekt

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

Compute-Instanztopologie

Wenn Sie die Details einer ausgeführten Compute-Instanz aufrufen, können Sie ihren physischen Standort in einem Cluster ermitteln, indem Sie das Feld Physischer Host (für die Google Cloud Console) oder das Feld physicalHostTopology (für die gcloud CLI, die Compute Engine API oder durch Abfragen des Metadatenschlüssels) prüfen. Diese Felder enthalten die folgenden Unterfelder:

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

Vergleichen Sie die Werte der Felder Physischer Host oder physicalHostTopology zwischen Instanzen, um die Nähe von Instanzen zu ermitteln. Je mehr Unterfelder die Instanzen gemeinsam haben, desto näher befinden sie sich physisch.

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

Compute-Instanztopologie ansehen

Wenn Sie den physischen Standort mehrerer ausgeführter Compute-Instanzen gleichzeitig aufrufen möchten, verwenden Sie die REST API. Andernfalls wählen Sie eine der folgenden Optionen aus:

Console

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

    Zu "VM-Instanzen"

  2. Klicken Sie in der Spalte Name auf den Namen der Instanz, deren Details Sie aufrufen möchten. Eine Seite mit den Details der Instanz wird angezeigt, wobei der Tab Details ausgewählt ist.

  3. Prüfen Sie im Bereich Grundlegende Informationen den Wert des Felds Physischer Host.

gcloud

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

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

Ersetzen Sie Folgendes:

  • INSTANCE_NAME: der Name der Instanz.

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

Die Ausgabe sieht etwa so aus:

---
cluster: europe-west1-cluster-jfhb
block: 3e3056e23cf91a5cb4a8621b6a52c100
subBlock: 0fc09525cbd5abd734342893ca1c083f
host: 1215168a4ecdfb434fd4d28056589059

REST

Senden Sie eine der folgenden GET-Anfragen, um den physischen Standort Ihrer ausgeführten Compute-Instanzen aufzurufen. Wenn Sie eine Anfrage senden, müssen Sie den Abfrageparameter fields einfügen und angeben, dass nur die Felder name, machineType und physicalHostTopology einer Instanz angezeigt werden sollen. Sie müssen auch den Abfrageparameter filter einfügen und angeben, dass nur ausgeführte Instanzen aufgeführt werden sollen.

  • Liste Ihrer Instanzen in allen Zonen aufrufen: instances.aggregatedList Methode

    GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/aggregated/instances?fields=items.name,items.machineType,items.resourceStatus.physicalHostTopology&filter=status=RUNNING
    
  • Liste Ihrer Instanzen in einer bestimmten Zone aufrufen: instances.list Methode

    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 Instanzen befinden.

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

Die Ausgabe sieht 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 Liste der Instanzen eingrenzen möchten, bearbeiten Sie den Filter ausdruck im filter Abfrageparameter.

Compute-Instanztopologie durch Abfragen des Metadatenschlüssels aufrufen

Wählen Sie eine der folgenden Optionen aus, um den physischen Standort einer ausgeführten Compute-Instanz durch Abfragen des Metadatenschlüssels physical_host_topology aufzurufen:

Linux-Instanzen

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

  2. Erstellen Sie in 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:

    {
      "cluster": "europe-west1-cluster-jfhb",
      "block": "3e3056e23cf91a5cb4a8621b6a52c100",
      "subBlock": "1fc18636cbd4abd623553784ca2c174e",
      "host": "2326279b5ecdfc545fd5e39167698168"
    }
    

Windows-Instanzen

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

  2. Erstellen Sie in Ihrer Windows-Instanz eine Abfrage mit dem Invoke-RestMethod Befehl. 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:

    {
      "cluster": "europe-west1-cluster-jfhb",
      "block": "3e3056e23cf91a5cb4a8621b6a52c100",
      "subBlock": "1fc18636cbd4abd623553784ca2c174e",
      "host": "2326279b5ecdfc545fd5e39167698168"
    }
    

Nächste Schritte