Compute Engine-Instanztopologie ansehen

In diesem Dokument wird beschrieben, wie Sie die Topologie Ihrer laufenden Compute Engine-Instanzen ansehen. Nachdem Sie Compute-Instanzen erstellt und gestartet haben, können Sie ihren physischen Standort in einer Zone sehen, um die Topologie Ihres Clusters zu verstehen. Diese Informationen helfen Ihnen bei Folgendem:

  • Jobs organisieren: Sie können das Design Ihrer Arbeitslast anpassen, um beispielsweise kommunikationsintensive Aufgaben auf den physisch nächstgelegenen Compute-Instanzen zu platzieren.

  • Probleme beheben: Sie können Probleme mit der Netzwerklatenz oder Leistung untersuchen, wenn sich bestimmte Compute-Instanzen unerwartet weit voneinander entfernt befinden.

Rufen Sie eine Liste der Compute-Instanzen auf, um zu prüfen, welche Compute-Instanzen in Ihrem Projekt ausgeführt werden.

Beschränkungen

Sie können sich die Topologie von Compute-Instanzen nur ansehen, wenn mindestens eine der folgenden Anforderungen erfüllt ist:

Topologie von Compute-Instanzen

Jede Compute-Instanz wird auf einem physischen Server (Host) ausgeführt, der sich in einem Serverblock befindet. Jeder Block gehört zu einem Cluster, der sich in einem Rechenzentrum in einerGoogle Cloud -Zone befindet. Wenn Sie Compute-Instanzen ansehen, die bestimmte Anforderungen erfüllen, können Sie ihre Topologie in Bezug auf andere Compute-Instanzen, die dieselben Anforderungen erfüllen, nachvollziehen. Sie können den physischen Standort Ihrer Compute-Instanzen ermitteln, indem Sie die folgenden Unterfelder im Feld physicalHostTopology jeder Compute-Instanz prüfen:

  • Cluster (cluster): Der globale Name des Clusters, in dem sich Ihre Compute-Instanz befindet. Ein Cluster ist eine logische Gruppierung mehrerer Hosts auf hoher Ebene, die sich über mehrere Blöcke erstrecken und als einzelner Ressourcenpool zusammenarbeiten.

  • Block (block): Die organisationsspezifische ID des Blocks, in dem sich Ihre Compute-Instanz befindet. Ein Block ist eine Sammlung mehrerer Hosts, die gruppiert sind. Compute-Instanzen im selben Block haben eine geringe Netzwerklatenz.

  • Unterblock (subBlock): Die organisationsspezifische ID des Unterblocks, in dem sich Ihre Compute-Instanz befindet. Ein Unterblock ist eine physische Unterteilung eines Blocks, in dem Hosts in einem einzelnen physischen Gehäuse gruppiert werden. Compute-Instanzen im selben Unterblock haben eine geringere Netzwerklatenz als Compute-Instanzen im selben Block.

  • Host (host): die organisationsspezifische ID des Hosts, auf dem sich Ihre Compute-Instanz befindet. Ein Host ist ein einzelner physischer Server, auf dem Ihre Compute-Instanzen ausgeführt werden. Jeder Host hat eine eigene physische vCPU, eigenen Arbeitsspeicher, eigenen Speicher und eine eigene Netzwerkkarte (NIC). Compute-Instanzen auf benachbarten Hosts haben die niedrigstmögliche Netzwerklatenz.

Je mehr Unterfelder zwei ausgeführte Compute-Instanzen gemeinsam nutzen, desto näher sind sie physisch beieinander. Diese Informationen helfen Ihnen, Ihre Arbeitslasten zu optimieren, indem Sie Ihre Jobs so organisieren, dass die Netzwerklatenz minimiert wird, oder indem Sie robustere Systeme entwickeln.

Hinweis

  • Richten Sie die Authentifizierung ein, falls Sie dies noch nicht getan haben. Bei der Authentifizierung wird Ihre Identität für den Zugriff auf Google Cloud Dienste und APIs überprüft. Zur Ausführung von Code oder Beispielen aus einer lokalen Entwicklungsumgebung können Sie sich so bei Compute Engine authentifizieren:

    Wählen Sie den Tab aus, der Ihrer geplanten Verwendung der Beispiele auf dieser Seite entspricht:

    Console

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

    gcloud

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

  • Legen Sie eine Standardregion und -zone fest.
  • 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

Um die Berechtigungen zu erhalten, die Sie zum Überprüfen der Topologie Ihrer Compute-Instanzen benötigen, bitten Sie Ihren Administrator, Ihnen die IAM-Rolle Compute Viewer (roles/compute.viewer) für das Projekt zuzuweisen. 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 Überprüfen der Topologie Ihrer 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 Ihrer Compute-Instanzen zu überprüfen:

  • 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 im Projekt

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

Topologie der Compute-Instanz prüfen

Verwenden Sie eine der folgenden Methoden, um die Topologie Ihrer aktiven Compute-Instanzen zu prüfen:

Topologie von Compute-Instanzen mit der Google Cloud -Console, der gcloud CLI oder REST prüfen

Wenn Sie die Topologie für mehrere Compute-Instanzen gleichzeitig ansehen 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 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 die Topologie 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:

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

REST

Um die Topologie Ihrer laufenden Compute-Instanzen aufzurufen, stellen Sie eine der folgenden GET-Anfragen. Wenn Sie eine Anfrage stellen, müssen Sie den Suchparameter fields einfügen und angeben, dass nur die Felder name, machineType und physicalHostTopology einer Compute-Instanz angezeigt werden sollen. Sie müssen auch 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 entsprechende Ausgabe sieht etwa so aus: Im folgenden Beispiel befinden sich die Compute-Instanzen vm-01 und vm-02 im selben Block.

{
  "items": [
    {
      "name": "vm-01",
      "machineType": "https://www.googleapis.com/compute/v1/projects/example-project/zones/europe-west1-b/machineTypes/a3-ultragpu-8g",
      "resourceStatus": {
        "physicalHostTopology": {
          "block": "3e3056e23cf91a5cb4a8621b6a52c100",
          "cluster": "europe-west1-cluster-jfhb",
          "host": "1215168a4ecdfb434fd4d28056589059",
          "subBlock": "0fc09525cbd5abd734342893ca1c083f"
        }
      }
    },
    {
      "name": "vm-02",
      "machineType": "https://www.googleapis.com/compute/v1/projects/example-project/zones/europe-west1-b/machineTypes/a3-ultragpu-8g",
      "resourceStatus": {
        "physicalHostTopology": {
          "block": "3e3056e23cf91a5cb4a8621b6a52c100",
          "cluster": "europe-west1-cluster-jfhb",
          "host": "2326279b5ecdfc545fd5e39167698168",
          "subBlock": "1fc18636cbd4abd623553784ca2c174e"
        }
      }
    },
    ...
  ]
}

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

Topologie der Compute-Instanz durch Abfragen des Metadatenschlüssels prüfen

Wenn Sie die Topologie einer laufenden Compute-Instanz durch Abfragen 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-Instanz her.

  2. Fragen Sie den Metadatenschlüssel physical_host_topology mit curl ab:

    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:

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

Windows-Instanzen

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

  2. Fragen Sie den Metadatenschlüssel physical_host_topology mit dem Befehl Invoke-RestMethod ab:

    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:

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

Nächste Schritte