Compute Engine-Instanztopologie ansehen

In diesem Dokument wird beschrieben, wie Sie die Topologie Ihrer ausgeführten Compute Engine-Instanzen aufrufen. Nachdem Sie Compute-Instanzen erstellt und gestartet haben, können Sie ihren physischen Standort in einer Zone aufrufen, 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.

Wenn Sie prüfen möchten, welche Compute-Instanzen in Ihrem Projekt ausgeführt werden, rufen Sie eine Liste der Compute-Instanzen auf.

Beschränkungen

Sie können die Topologie von Compute-Instanzen nur aufrufen, wenn eine oder mehrere der folgenden Anforderungen erfüllt sind:

Topologie von Compute-Instanzen verstehen

Jede Compute-Instanz wird auf einem physischen Server (einem Host) ausgeführt, der sich in einem Server block befindet. Jeder Block gehört zu einem Cluster, der sich in einem Rechenzentrum in einer Cloud de Confiance Zone befindet. Wenn Sie Compute-Instanzen aufrufen, die bestimmte Anforderungenerfüllen, können Sie ihre Topologie im Verhältnis zu anderen Compute-Instanzen verstehen, die dieselben Anforderungen erfüllen. Insbesondere können Sie 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 können und als ein 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 zusammen gruppiert sind. Compute-Instanzen im selben Block haben eine geringe Netzwerklatenz.

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

  • Host (host): Die organisationsspezifische ID des Hosts, in 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, Arbeitsspeicher, Speicher und eine eigene Netzwerkschnittstellenkarte (Network Interface Card, NIC). Compute-Instanzen auf benachbarten Hosts haben die niedrigstmögliche Netzwerklatenz.

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

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 Cloud de Confiance by S3NS 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 für die Verwendung der Beispiele auf dieser Seite aus:

    Console

    Wenn Sie über die Cloud de Confiance Console auf Cloud de Confiance by S3NS Dienste und APIs zugreifen, müssen Sie die Authentifizierung nicht einrichten.

    gcloud

    1. Installieren Sie die Google Cloud CLI und melden Sie sich dann mit Ihrer föderierten Identität in der gcloud CLI an. Nach der Anmeldung, initialisieren Sie die Google Cloud CLI mit dem folgenden Befehl:

      gcloud init
  • 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 und melden Sie sich dann mit Ihrer föderierten Identität in der gcloud CLI an.

    Weitere Informationen finden Sie in der Cloud de Confiance Authentifizierungsdokumentation unter Für die Verwendung von REST authentifizieren.

Erforderliche Rollen

Bitten Sie Ihren Administrator, Ihnen die IAM-Rolle Compute-Betrachter (roles/compute.viewer) für das Projekt zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Prüfen der Topologie Ihrer 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 Prüfen der Topologie Ihrer Compute-Instanzen erforderlich sind. Maximieren Sie den Abschnitt Erforderliche Berechtigungen , um die notwendigen Berechtigungen anzuzeigen, die erforderlich sind:

Erforderliche Berechtigungen

Die folgenden Berechtigungen sind erforderlich, um die Topologie Ihrer Compute-Instanzen zu prüfen:

  • Details einer Compute-Instanz aufrufen: compute.instances.get für das Projekt
  • Liste der Compute-Instanzen aufrufen: 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 prüfen

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

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

Wenn Sie die Topologie für mehrere 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 Cloud de Confiance Console die Seite VM-Instanzen auf.

    Zu "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 und der Tab Details ist ausgewählt.

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

gcloud

Verwenden Sie den gcloud compute instances describe Befehl mit dem --flatten=resourceStatus.physicalHostTopology Flag, um die Topologie 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 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

Wenn Sie die Topologie Ihrer ausgeführten Compute-Instanzen aufrufen möchten, senden Sie eine der folgenden GET-Anfragen. Wenn Sie eine Anfrage senden, müssen Sie den Abfrageparameter 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 ausgeführte Compute-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 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 Filter ausdruck im filter Abfrageparameter.

Topologie von Compute-Instanzen durch Abfragen des Metadatenschlüssels prüfen

Wenn Sie die Topologie einer ausgeführten 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 physical_host_topology Metadatenschlüssel mit dem Invoke-RestMethod Befehl 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