Topologie einer Compute-Instanz ansehen

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

Nachdem Sie A4X Max-, A4X-, A4-, A3 Ultra-, A3 Mega- und A3 High-Instanzen (8 GPUs) erstellt haben, können Sie sich ihre Anordnung ansehen, um zu prüfen, welche Instanzen sich am nächsten sind. Wenn Sie die Nähe von Instanzen kennen, haben Sie folgende Möglichkeiten:

  • Passen Sie das Design Ihrer Anwendung oder Arbeitslast an, um die Netzwerklatenz weiter zu minimieren.

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

Hinweise

  • Terminologie, die in Cluster Director-Funktionen verwendet wird.
  • Select the tab for how you plan to use the samples on this page:

    Console

    When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.

    gcloud

    In the Google Cloud console, activate Cloud Shell.

    Activate Cloud Shell

    At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.

    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. Initialisieren Sie die Google Cloud CLI nach der Installation mit dem folgenden Befehl:

      gcloud init

      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

Um die Berechtigungen zu erhalten, die Sie zum Aufrufen der Topologie von Compute-Instanzen benötigen, bitten Sie Ihren Administrator, Ihnen die IAM-Rolle Compute Instance Admin (v1) (roles/compute.instanceAdmin.v1) für Ihr Projekt zu gewähren. 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 Instanz auf: compute.instances.get für das Projekt
  • So rufen Sie eine Liste der Instanzen auf: compute.instances.list im Projekt

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

Topologie von Compute-Instanzen

Wenn Sie die Details einer laufenden Compute-Instanz aufrufen, können Sie den physischen Standort in einem Cluster ermitteln, indem Sie das Feld Physischer Host (für die Google Cloud -Konsole) 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.

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

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 enthalten dieselben Felder block und cluster. Wenn Sie sich beispielsweise einen bestimmten reservierten Block ansehen, können Sie den Namen und den Unterblock aller Instanzen sehen, die in diesem 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 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 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 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

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 Suchparameter 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 laufende 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 die Instanzen vorhanden sind.

  • 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 Filterausdruck im filter-Abfrageparameter.

Topologie von Compute-Instanzen durch Abfragen des Metadatenschlüssels ansehen

Wenn Sie den physischen Standort einer ausgeführten Compute-Instanz abrufen möchten, indem Sie den Metadatenschlüssel physical_host_topology abfragen, 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 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 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:

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

Nächste Schritte