Physischen Standort einer Compute Engine-Instanz ansehen

In diesem Dokument wird beschrieben, wie Sie den physischen Standort der Compute Engine-Instanzen in Ihrer Google Cloud Organisation aufrufen.

Nachdem Sie Compute-Instanzen erstellt und gestartet haben, können Sie sehen, auf welchem physischen Host jede Compute-Instanz in einer Zone ausgeführt wird. Verwenden Sie den physischen Standort der Compute-Instanzen in Ihrem Cluster, um Folgendes zu tun:

  • Netzwerklatenz minimieren: Passen Sie das Design Ihrer Anwendung oder Arbeitslast an, um latenzempfindliche Jobs auf Compute-Instanzen auszuführen, die sich am nächsten zueinander befinden.

  • Zuverlässigkeit von Arbeitslasten verbessern: Verteilen Sie Compute-Instanzen auf separate physische Hosts, um die Auswirkungen von Hostfehlern in Ihrer Anwendung zu begrenzen.

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 die ID des Clusters, Blocks, Unterblocks und Hosts von Compute-Instanzen aufrufen, die mindestens eine der folgenden Anforderungen erfüllen:

Wenn eine Compute-Instanz keine der oben genannten Anforderungen erfüllt, können Sie ihre Host-ID nach der Offenlegung ansehen, wie in diesem Dokument beschrieben.

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 in einer Zone. Wenn Sie sich die Details von Compute-Instanzen ansehen, die bestimmte Anforderungen erfüllen, können Sie ihre Topologie im Verhältnis zu anderen Compute-Instanzen nachvollziehen, die dieselben Anforderungen erfüllen.

Compute Engine stellt die folgenden Unterfelder im Feld physicalHostTopology jeder Compute-Instanz zur Verfügung. Je mehr Unterfelder zwei ausgeführte Compute-Instanzen gemeinsam haben, desto näher liegen sie beieinander.

  • Cluster (cluster): Der globale Name des Clusters, in dem sich Ihre Compute-Instanz befindet. Ein Cluster ist eine logische Gruppierung mehrerer Hosts, 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 Gruppe von mehreren Hosts.

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

  • Host (host): Die organisations- oder projektspezifische ID des Hosts, auf dem Ihre Compute-Instanz ausgeführt wird. Die Host-ID ändert sich so:

    • Wenn für die Compute-Instanz eine Richtlinie für kompakte Platzierungen oder eine Arbeitslastrichtlinie angegeben ist, ist die Host-ID spezifisch für Ihr Projekt.

    • Wenn in der Compute-Instanz eine unterstützte Maschinenserie angegeben ist oder Sie die Host-ID der Instanz verfügbar machen, ist die Host-ID spezifisch für Ihre Organisation.

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

    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

Bitten Sie Ihren Administrator, Ihnen die IAM-Rolle Compute-Administrator (roles/compute.admin) für Ihr 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 Ü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 prüfen:

  • So rufen Sie die Details einer Compute-Instanz auf: compute.instances.get
  • So rufen Sie eine Liste der Compute-Instanzen auf: compute.instances.list
  • So machen Sie die Host-ID beim Erstellen einer Compute-Instanz verfügbar:
    • compute.instances.create für das Projekt
    • Zum Erstellen der VM mit einem benutzerdefinierten Image: compute.images.useReadOnly für das Image
    • Zum Erstellen der VM mit einem Snapshot: compute.snapshots.useReadOnly für den Snapshot
    • Zum Erstellen der VM mit einer Instanzvorlage: compute.instanceTemplates.useReadOnly für die Instanzvorlage
    • Zum Zuweisen eines Legacy-Netzwerks zur VM: compute.networks.use für das Projekt
    • Zum Festlegen einer statische IP-Adresse für die VM: compute.addresses.use für das Projekt
    • Zum Zuweisen einer externen IP-Adresse zur VM bei Verwendung eines Legacy-Netzwerks: compute.networks.useExternalIp für das Projekt
    • Zum Angeben eines Subnetzes für die VM: compute.subnetworks.use für das Projekt oder für das ausgewählte Subnetz
    • Zum Zuweisen einer externen IP-Adresse zur VM, wenn Sie ein VPC-Netzwerk verwenden: compute.subnetworks.useExternalIp für das Projekt oder für das ausgewählte Subnetz
    • Zum Festlegen von Metadaten der VM-Instanz für die VM: compute.instances.setMetadata für das Projekt
    • Zum Festlegen von Tags für die VM: compute.instances.setTags für die VM
    • Zum Festlegen von Labels für die VM: compute.instances.setLabels für die VM
    • Zum Festlegen eines Dienstkontos, das die VM verwenden soll: compute.instances.setServiceAccount für die VM
    • Zum Erstellen eines neuen Laufwerks für die VM: compute.disks.create für das Projekt
    • Zum Anhängen eines vorhandenen Laufwerks im Lese- oder Lese-/Schreibmodus: compute.disks.use für das Laufwerk
    • Zum Anhängen eines vorhandenen Laufwerks im Lesemodus: compute.disks.useReadOnly für das Laufwerk
  • So machen Sie die Host-ID beim Erstellen einer Instanzvorlage verfügbar: compute.instanceTemplates.create
  • So blenden Sie die Host-ID in einer vorhandenen Compute-Instanz ein oder aus: compute.instances.update

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

Host-ID ein- oder ausblenden

Sofern eine Compute-Instanz nicht bestimmte Anforderungen erfüllt, wird ihre Host-ID standardmäßig ausgeblendet. Sie können die Host-ID beim Erstellen oder Aktualisieren von Compute-Instanzen verfügbar machen. Wenn Sie sich die Details Ihrer Compute-Instanzen ansehen, können Sie die Host-IDs sehen, die für Ihre Google Cloud Organisation spezifisch sind. Sie können die IDs des Blocks, Unterblocks oder Clusters für die Compute-Instanzen nicht sehen.

Verwenden Sie eine der folgenden Methoden, um die Host-ID in einer Compute-Instanz ein- oder auszublenden:

Wenn Sie verhindern möchten, dass die Host-ID für ein oder mehrere Projekte in Ihrer Organisation offengelegt wird, können Sie eine benutzerdefinierte Einschränkung erstellen. Diese Einschränkung ist beispielsweise nützlich, wenn Sie sicherheitssensible Arbeitslasten ausführen möchten. Weitere Informationen finden Sie unter Benutzerdefinierte Einschränkungen.

Host-ID in einer vorhandenen Compute-Instanz einblenden oder ausblenden

Sie können die Host-ID in einer vorhandenen Compute-Instanz ohne Neustart ein- oder ausblenden. Wenn Sie die Einstellung deaktivieren, mit der die Host-ID für eine Compute-Instanz verfügbar gemacht wird, bei der die Host-ID standardmäßig angezeigt wird, passiert Folgendes:

  • Wenn für die Compute-Instanz eine Richtlinie für kompakte Platzierungen oder eine Arbeitslastrichtlinie angegeben ist, sehen Sie die projektspezifische Host-ID und die zugehörigen Informationen zum physischen Standort.

  • Wenn für die Compute-Instanz ein H4D-Maschinentyp oder ein A3-High-Maschinentyp mit 8 GPUs (oder späteren Generationen) verwendet wird, ignoriert Compute Engine die Anfrage.

Wählen Sie eine der folgenden Optionen aus, um die Host-ID einer vorhandenen Compute-Instanz ein- oder auszublenden:

gcloud

Verwenden Sie den Befehl gcloud compute instances update mit einem der folgenden Flags, um die Host-ID für eine vorhandene Compute-Instanz ein- oder auszublenden:

  • Wenn Sie die Host-ID anzeigen möchten, fügen Sie das Flag --expose-host-topology hinzu:

    gcloud compute instances update INSTANCE_NAME \
        --expose-host-topology \
        --zone=ZONE
    
  • Wenn Sie die Host-ID ausblenden möchten, fügen Sie das Flag --no-expose-host-topology hinzu:

    gcloud compute instances update INSTANCE_NAME \
        --no-expose-host-topology \
        --zone=ZONE
    

Ersetzen Sie Folgendes:

  • INSTANCE_NAME: der Name der Compute-Instanz.

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

REST

  1. Wenn Sie die Eigenschaften einer vorhandenen Compute-Instanz aufrufen möchten, senden Sie eine GET-Anfrage an die Methode instances.get:

    GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME
    

    Ersetzen Sie Folgendes:

    • PROJECT_ID: die ID des Projekts, in dem Sie die Compute-Instanz erstellt haben.

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

    • INSTANCE_NAME: der Name der Compute-Instanz.

  2. Wenn Sie eine Compute-Instanz aktualisieren möchten, um die Host-ID ein- oder auszublenden, senden Sie eine PUT-Anfrage an die Methode instances.update. Verwenden Sie im Anfragetext die GET-Anfrageausgabe aus dem vorherigen Schritt. Im Feld scheduling müssen Sie jedoch das Feld exposeHostTopology hinzufügen, um die Host-ID ein- oder auszublenden. Wenn das Feld scheduling in der Anforderungsausgabe nicht vorhanden ist, fügen Sie es ebenfalls hinzu.

    Die PUT-Anfrage sieht etwa so aus:

    PUT https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME?mostDisruptiveAllowedAction=REFRESH
    
    {
      "scheduling": {
        "exposeHostTopology": EXPOSE_HOST_ID
      },
      ...
    }
    

    Ersetzen Sie EXPOSE_HOST_ID durch einen der folgenden Werte:

    • So wird die Host-ID angezeigt: true

    • So blenden Sie die Host-ID aus: false

Host-ID in einer neuen Compute-Instanz verfügbar machen

Wählen Sie eine der folgenden Optionen aus, um die Host-ID beim Erstellen einer Compute-Instanz verfügbar zu machen:

gcloud

Wenn Sie die Host-ID beim Erstellen einer Compute-Instanz verfügbar machen möchten, verwenden Sie den Befehl gcloud compute instances create mit dem Flag --expose-host-topology:

gcloud compute instances create INSTANCE_NAME \
    --machine-type=MACHINE_TYPE \
    --expose-host-topology \
    --zone=ZONE

Ersetzen Sie Folgendes:

  • INSTANCE_NAME: der Name der Compute-Instanz.

  • MACHINE_TYPE: der Maschinentyp, den Ihre Compute-Instanz verwenden soll.

  • ZONE: die Zone, in der Sie die Compute-Instanz erstellen möchten.

REST

Wenn Sie die Host-ID beim Erstellen einer Compute-Instanz verfügbar machen möchten, senden Sie eine POST-Anfrage an die Methode instances.insert. Geben Sie im Anfragetext das Feld scheduling.exposeHostTopology an, das auf true gesetzt ist.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances

{
  "name": "INSTANCE_NAME",
  "machineType": "zones/ZONE/machineTypes/MACHINE_TYPE",
  "disks": [
    {
      "boot": true,
      "initializeParams": {
        "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE"
      }
    }
  ],
  "networkInterfaces": [
    {
      "network": "global/networks/default"
    }
  ],
  "scheduling": {
    "exposeHostTopology": true
  }
}

Ersetzen Sie Folgendes:

  • PROJECT_ID: die ID des Projekts, in dem die Compute-Instanz erstellt werden soll.

  • ZONE: die Zone, in der Sie die Compute-Instanz erstellen möchten.

  • INSTANCE_NAME: der Name der Compute-Instanz.

  • MACHINE_TYPE: der Maschinentyp, den Ihre Compute-Instanz verwenden soll.

  • IMAGE_PROJECT: das Image-Projekt, das das Image enthält, z. B. debian-cloud. Weitere Informationen zu den unterstützten Image-Projekten finden Sie unter Öffentliche Betriebssystem-Images.

  • IMAGE: Geben Sie eine der folgenden Optionen an:

    • Eine bestimmte Version des Betriebssystem-Images, z. B. debian-12-bookworm-v20240617.

    • Eine Image-Familie, die als family/IMAGE_FAMILY formatiert sein muss. Dieser Wert gibt das neueste nicht verworfene Betriebssystem-Image an. Wenn Sie beispielsweise family/debian-12 angeben, wird die aktuelle Version in der Debian 12-Image-Familie verwendet. Weitere Informationen zur Verwendung von Image-Familien finden Sie unter Best Practices für Image-Familien.

Host-ID in neuen Compute-Instanzen im Bulk-Verfahren verfügbar machen

Wählen Sie eine der folgenden Optionen aus, um die Host-ID verfügbar zu machen, wenn Sie Compute-Instanzen im Bulk erstellen:

gcloud

Wenn Sie die Host-ID beim Erstellen von Compute-Instanzen im Bulk verfügbar machen möchten, führen Sie den Befehl gcloud compute instances create-bulk mit dem Flag --expose-host-topology aus.

Wenn Sie beispielsweise mehrere Compute-Instanzen auf einmal in einer einzelnen Zone erstellen und die Host-ID der Instanzen verfügbar machen möchten, führen Sie den folgenden Befehl aus:

gcloud compute instances create-bulk \
    --count=COUNT \
    --machine-type=MACHINE_TYPE \
    --name-pattern="NAME_PATTERN" \
    --expose-host-topology \
    --zone=ZONE

Ersetzen Sie Folgendes:

  • COUNT: die Anzahl der zu erstellenden Compute-Instanzen.

  • MACHINE_TYPE: der Maschinentyp, den Ihre Compute-Instanzen verwenden sollen.

  • NAME_PATTERN: das Namensmuster für die Compute-Instanzen. Wenn Sie eine Zahlenfolge in einem Namen einer Compute-Instanz ersetzen möchten, verwenden Sie eine Folge von Hash-Zeichen (#). Wenn Sie z. B. instance-# für das Namensmuster verwenden, werden Compute-Instanzen mit Namen erzeugt, die mit instance-1, instance-2 usw. beginnen, bis die Anzahl der in COUNT angegebenen Compute-Instanzen erreicht ist.

  • ZONE: die Zone, in der Sie Compute-Instanzen im Bulk erstellen möchten.

REST

Wenn Sie die Host-ID beim Erstellen von mehreren Compute-Instanzen auf einmal verfügbar machen möchten, senden Sie eine POST-Anfrage an die Methode instances.bulkInsert. Geben Sie im Anfragetext das Feld instanceProperties.scheduling.exposeHostTopology an, das auf true gesetzt ist.

Wenn Sie beispielsweise mehrere Compute-Instanzen auf einmal in einer einzelnen Zone erstellen und die Host-ID der Instanzen verfügbar machen möchten, stellen Sie eine POST-Anfrage wie hier beschrieben:

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/bulkInsert

{
  "count": "COUNT",
  "namePattern": "NAME_PATTERN",
  "instanceProperties": {
    "machineType": "MACHINE_TYPE",
    "disks": [
      {
        "boot": true,
        "initializeParams": {
          "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE"
        }
      }
    ],
    "networkInterfaces": [
      {
        "network": "global/networks/default"
      }
    ],
    "scheduling": {
      "exposeHostTopology": true
    }
  }
}

Ersetzen Sie Folgendes:

  • PROJECT_ID: die ID des Projekts, in dem die Compute-Instanzen erstellt werden sollen.

  • ZONE: die Zone, in der Sie die Compute-Instanzen erstellen möchten.

  • COUNT: die Anzahl der zu erstellenden Compute-Instanzen.

  • NAME_PATTERN: das Namensmuster für die Compute-Instanzen. Wenn Sie eine Zahlenfolge in einem Namen einer Compute-Instanz ersetzen möchten, verwenden Sie eine Folge von Hash-Zeichen (#). Wenn Sie z. B. instance-# für das Namensmuster verwenden, werden Compute-Instanzen mit Namen erzeugt, die mit instance-1, instance-2 usw. beginnen, bis die Anzahl der in COUNT angegebenen Compute-Instanzen erreicht ist.

  • MACHINE_TYPE: der Maschinentyp, den Ihre Compute-Instanzen verwenden sollen.

  • IMAGE_PROJECT: das Image-Projekt, das das Image enthält, z. B. debian-cloud. Weitere Informationen zu den unterstützten Image-Projekten finden Sie unter Öffentliche Betriebssystem-Images.

  • IMAGE: Geben Sie eine der folgenden Optionen an:

    • Eine bestimmte Version des Betriebssystem-Images, z. B. debian-12-bookworm-v20240617.

    • Eine Image-Familie, die als family/IMAGE_FAMILY formatiert sein muss. Dieser Wert gibt das neueste nicht verworfene Betriebssystem-Image an. Wenn Sie beispielsweise family/debian-12 angeben, wird die aktuelle Version in der Debian 12-Image-Familie verwendet. Weitere Informationen zur Verwendung von Image-Familien finden Sie unter Best Practices für Image-Familien.

Host-ID in einer neuen Instanzvorlage verfügbar machen

Nachdem Sie eine Instanzvorlage erstellt haben, in der die Host-ID verfügbar gemacht wird, können Sie die Instanzvorlage für Folgendes verwenden:

Wählen Sie eine der folgenden Optionen aus, um die Host-ID beim Erstellen einer Instanzvorlage verfügbar zu machen:

gcloud

Verwenden Sie den Befehl gcloud compute instance-templates create mit dem Flag --expose-host-topology, um die Host-ID beim Erstellen einer Instanzvorlage verfügbar zu machen.

Verwenden Sie beispielsweise den folgenden Befehl, um eine regionale Instanzvorlage zu erstellen. Wenn Sie eine globale Instanzvorlage erstellen möchten, verwenden Sie denselben Befehl ohne das Flag --instance-template-region.

gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
    --expose-host-topology \
    --instance-template-region=REGION \
    --machine-type=MACHINE_TYPE

Ersetzen Sie Folgendes:

  • INSTANCE_TEMPLATE_NAME ist der Name der Instanzvorlage.

  • REGION: die Region, in der die Instanzvorlage erstellt werden soll.

  • MACHINE_TYPE: der Maschinentyp, den Ihre Compute-Instanzen verwenden sollen.

REST

Wenn Sie die Host-ID beim Erstellen einer Instanzvorlage verfügbar machen möchten, senden Sie eine POST-Anfrage an eine der folgenden Methoden. Geben Sie im Anfragetext das Feld properties.scheduling.exposeHostTopology an, das auf true gesetzt ist.

Wenn Sie beispielsweise eine regionale Instanzvorlage erstellen möchten, die die Host-ID verfügbar macht, stellen Sie eine POST-Anfrage wie hier beschrieben:

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceTemplates

{
  "name": "INSTANCE_TEMPLATE_NAME",
  "properties": {
    "disks": [
      {
        "boot": true,
        "initializeParams": {
          "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE"
        }
      }
    ],
    "machineType": "MACHINE_TYPE",
    "networkInterfaces": [
      {
        "network": "global/networks/default"
      }
    ],
    "scheduling": {
      "exposeHostTopology": true
    }
  }
}

Ersetzen Sie Folgendes:

  • PROJECT_ID: die ID des Projekts, in dem die Instanzvorlage erstellt werden soll.

  • REGION: die Region, in der Sie die Instanzvorlage erstellen möchten.

  • INSTANCE_TEMPLATE_NAME: der Name der Instanzvorlage.

  • IMAGE_PROJECT: das Image-Projekt, das das Image enthält, z. B. debian-cloud. Weitere Informationen zu den unterstützten Image-Projekten finden Sie unter Öffentliche Betriebssystem-Images.

  • IMAGE: Geben Sie eine der folgenden Optionen an:

    • Eine bestimmte Version des Betriebssystem-Images, z. B. debian-12-bookworm-v20240617.

    • Eine Image-Familie, die als family/IMAGE_FAMILY formatiert sein muss. Dieser Wert gibt das neueste nicht verworfene Betriebssystem-Image an. Beispiel: Wenn Sie family/debian-12 angeben, wird die aktuelle Version in der Debian 12-Image-Familie verwendet. Weitere Informationen zur Verwendung von Image-Familien finden Sie unter Best Practices für Image-Familien.

  • MACHINE_TYPE: der Maschinentyp, den Ihre Compute-Instanzen verwenden sollen.

Physischen Standort einer Compute-Instanz prüfen

Sie können den physischen Standort Ihrer aktiven Compute-Instanzen nur sehen, wenn sie bestimmte Anforderungen erfüllen oder Sie ihre Host-IDs offenlegen.

Verwenden Sie eine der folgenden Methoden, um den physischen Standort der ausgeführten Compute-Instanzen in Ihrer Organisation zu prüfen:

Physischen Standort mit der Google Cloud Console, der gcloud CLI oder REST bestätigen

Wenn Sie den physischen Standort für mehrere Compute-Instanzen gleichzeitig aufrufen möchten, verwenden Sie die REST API. Wählen Sie anderenfalls 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 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 in 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:

    ---
    block: 3e3056e23cf91a5cb4a8621b6a52c100
    cluster: europe-west1-cluster-jfhb
    host: 1215168a4ecdfb434fd4d28056589059
    subBlock: 0fc09525cbd5abd734342893ca1c083f
    
  • Wenn Sie die ID des Hosts erst nach der Offenlegung sehen können, sieht die Ausgabe so aus:

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

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 die Ausgabe auf die Felder name, machineType und physicalHostTopology einer Compute-Instanz beschränken. Außerdem müssen Sie den Abfrageparameter filter einfügen und die Ergebnisse auf aktive Compute-Instanzen beschränken.

  • 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 in 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. 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 ID 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": {
              "block": null,
              "cluster": null,
              "host": "1215168a4ecdfb434fd4d28056589059",
              "subBlock": null
            }
          }
        },
        {
          "name": "vm-02",
          "machineType": "https://www.googleapis.com/compute/v1/projects/example-project/zones/europe-west1-b/machineTypes/a3-ultragpu-8g",
          "resourceStatus": {
            "physicalHostTopology": {
              "block": null,
              "cluster": null,
              "host": "2326279b5ecdfc545fd5e39167698168",
              "subBlock": null
            }
          }
        },
        ...
      ]
    }
    

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

Physischen Standort durch Abfragen des Metadatenschlüssels bestätigen

Wenn Sie den physischen Standort einer laufenden 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-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 in 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:

      {
        "block": "3e3056e23cf91a5cb4a8621b6a52c100",
        "cluster": "europe-west1-cluster-jfhb",
        "host": "2326279b5ecdfc545fd5e39167698168",
        "subBlock": "1fc18636cbd4abd623553784ca2c174e"
      }
      
    • Wenn Sie die ID des Hosts erst sehen können, nachdem Sie ihn verfügbar gemacht haben, sieht die Ausgabe in etwa so aus:

      {
        "block": null,
        "cluster": null,
        "host": "2326279b5ecdfc545fd5e39167698168",
        "subBlock": null
      }
      

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 in 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:

      {
        "block": "3e3056e23cf91a5cb4a8621b6a52c100",
        "cluster": "europe-west1-cluster-jfhb",
        "host": "2326279b5ecdfc545fd5e39167698168",
        "subBlock": "1fc18636cbd4abd623553784ca2c174e"
      }
      
    • Wenn Sie die ID des Hosts erst sehen können, nachdem Sie ihn verfügbar gemacht haben, sieht die Ausgabe in etwa so aus:

      {
        "block": null,
        "cluster": null,
        "host": "2326279b5ecdfc545fd5e39167698168",
        "subBlock": null
      }
      

Nächste Schritte