In diesem Dokument wird beschrieben, wie Sie den physischen Standort, auch als Topologie bezeichnet, Ihrer Compute Engine-Instanzen in einer Zone aufrufen. Informationen zum Aufrufen der Topologie eines Clusters in Cluster Director finden Sie unter Clustertopologie ansehen.
Nachdem Sie A5X-, A4X Max-, A4X-, A4-, A3 Ultra-, A3 Mega- und A3 High-Instanzen (8 GPUs) oder Compute-Instanzen erstellt haben, die eine Richtlinie für kompakte Platzierung oder eine Arbeitslastrichtlinie angeben, können Sie den physischen Standort Ihrer Compute-Instanzen im Verhältnis zueinander aufrufen. Wenn Sie die Nähe Ihrer Compute-Instanzen kennen, können Sie das Design Ihrer Anwendung oder Arbeitslast so anpassen, dass latenzempfindliche Jobs auf den Compute-Instanzen ausgeführt werden, die am nächsten beieinander liegen. Bei allen anderen Arten von Compute-Instanzen können Sie die ID des Hosts, auf dem sie ausgeführt werden, sehen, nachdem Sie die Host-ID verfügbar gemacht haben.
Hinweis
- Sehen Sie sich die Terminologie für die Topologie von Compute-Instanzen an.
-
Wählen Sie den Tab für die gewünschte 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
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 initREST
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 Dokumentation zur Google Cloud -Authentifizierung unter Für die Verwendung von REST authentifizieren.
Erforderliche Rollen
Bitten Sie Ihren Administrator, Ihnen die IAM-Rolle Compute Instance Admin (v1) (roles/compute.instanceAdmin.v1) für Ihr Projekt zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Aufrufen der Compute-Instanztopologie 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 Aufrufen der Compute-Instanztopologie 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 Compute-Instanz auf:
compute.instances.getfür das Projekt -
So rufen Sie eine Liste der Compute-Instanzen auf:
compute.instances.listfür das Projekt
Sie können diese Berechtigungen auch mit benutzerdefinierten Rollen oder anderen vordefinierten Rollen erhalten.
Topologie von Compute-Instanzen
Wenn Sie den physischen Standort einer Compute-Instanz in einem Cluster ermitteln möchten, prüfen Sie das Feld Physischer Host in der Google Cloud Console. Wenn Sie die gcloud CLI, die Compute Engine API oder eine Metadatenschlüsselabfrage verwenden, prüfen Sie das Feld physicalHostTopology. Diese Felder enthalten die folgenden untergeordneten Felder:
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 Compute-Instanzen. Je mehr Unterfelder die Compute-Instanzen gemeinsam haben, desto näher befinden sie sich beieinander.
Sie können sich auch die Topologie einer Reservierung ansehen, in der die Compute-Instanzen erstellt werden. In den physicalHostTopology-Feldern einer Reservierung und einer Instanz werden dieselben block- und cluster-Felder angezeigt. Wenn Sie beispielsweise einen bestimmten reservierten Block aufrufen, können Sie den Namen und den Unterblock aller Compute-Instanzen sehen, die im Block bereitgestellt sind. Weitere Informationen zur Topologie einer Reservierung finden Sie unter Topologie einer Reservierung ansehen.
Topologie der 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
Rufen Sie in der Google Cloud Console die Seite VM-Instanzen auf.
Klicken Sie in der Spalte Name auf den Namen der Compute-Instanz, für die Sie die Details anzeigen lassen möchten. Eine Seite mit den Details der Compute-Instanz wird angezeigt, wobei der Tab Details ausgewählt ist.
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 etwa so aus:
Wenn Sie die ID des Clusters, Blocks, Unterblocks und Hosts einer Compute-Instanz aufrufen können, sieht die Ausgabe in etwa so aus:
--- cluster: europe-west1-cluster-jfhb block: 3e3056e23cf91a5cb4a8621b6a52c100 subBlock: 0fc09525cbd5abd734342893ca1c083f host: 1215168a4ecdfb434fd4d28056589059Wenn Sie die ID des Hosts nur sehen können, nachdem Sie ihn freigegeben haben, sieht die Ausgabe in etwa so aus:
--- cluster: null block: null subBlock: null host: 1215168a4ecdfb434fd4d28056589059
REST
Wenn Sie den physischen Standort Ihrer laufenden Compute-Instanzen aufrufen möchten, stellen Sie eine der folgenden GET-Anfragen. Wenn Sie eine Anfrage stellen, müssen Sie den Abfrageparameter fields angeben und festlegen, dass nur die Felder name, machineType und physicalHostTopology einer Compute-Instanz angezeigt werden sollen. Außerdem müssen Sie den Suchparameter filter einfügen und angeben, dass nur ausgeführte Compute-Instanzen aufgelistet werden sollen.
So rufen Sie eine Liste Ihrer Instanzen in allen Zonen auf: Methode
instances.aggregatedListGET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/aggregated/instances?fields=items.name,items.machineType,items.resourceStatus.physicalHostTopology&filter=status=RUNNINGSo rufen Sie eine Liste Ihrer Instanzen in einer bestimmten Zone auf: Methode
instances.listGET 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 etwa so aus:
Wenn Sie die ID des Clusters, Blocks, Unterblocks und Hosts Ihrer Compute-Instanzen aufrufen können, sieht die Ausgabe in 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 ID Ihrer Compute-Instanzen des Hosts erst nach dem Freigeben sehen können, sieht die Ausgabe in 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": null, "block": null, "subBlock": null, "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": null, "block": null, "subBlock": null, "host": "2326279b5ecdfc545fd5e39167698168" } } }, ... ] }
Wenn Sie die Liste der Compute-Instanzen verfeinern möchten, bearbeiten Sie den Filterausdruck im filter-Abfrageparameter.
Topologie von Compute-Instanzen mit einer Metadatenschlüsselabfrage ansehen
Wählen Sie eine der folgenden Optionen aus, um den physischen Standort einer laufenden Compute-Instanz mit einer Abfrage des Metadatenschlüssels physical_host_topology aufzurufen:
Linux-Instanzen
Stellen Sie eine Verbindung zu Ihrer Linux-Compute-Instanz her.
Erstellen Sie auf Ihrer Linux-Instanz eine Abfrage mit dem
curl-Tool. Führen Sie den folgenden Befehl aus, um den Metadatenschlüsselphysical_host_topologyauf Linux-Instanzen abzufragen:user@myinst:~$ curl -s -H "Metadata-Flavor: Google" http://metadata.google.internal/computeMetadata/v1/instance/attributes/physical_host_topologyDie Ausgabe sieht etwa so aus:
Wenn Sie die ID des Clusters, Blocks, Unterblocks und Hosts einer Compute-Instanz aufrufen können, sieht die Ausgabe in etwa so aus:
{ "cluster": "europe-west1-cluster-jfhb", "block": "3e3056e23cf91a5cb4a8621b6a52c100", "subBlock": "0fc09525cbd5abd734342893ca1c083f", "host": "1215168a4ecdfb434fd4d28056589059" }Wenn Sie die ID des Hosts nur sehen können, nachdem Sie ihn freigegeben haben, sieht die Ausgabe in etwa so aus:
{ "cluster": null, "block": null, "subBlock": null, "host": "1215168a4ecdfb434fd4d28056589059" }
Windows-Instanzen
Stellen Sie eine Verbindung zu Ihrer Windows-Compute-Instanz her.
Erstellen Sie in Ihrer Windows-Instanz eine Abfrage mit dem Befehl
Invoke-RestMethod. Führen Sie den folgenden Befehl aus, um den Metadatenschlüsselphysical_host_topologyauf Windows-Instanzen abzufragen:PS C:\> $value = (Invoke-RestMethod ` -Headers @{'Metadata-Flavor' = 'Google'} ` -Uri "http://metadata.google.internal/computeMetadata/v1/instance/attributes/physical_host_topology") $valueDie Ausgabe sieht etwa so aus:
Wenn Sie die ID des Clusters, Blocks, Unterblocks und Hosts einer Compute-Instanz aufrufen können, sieht die Ausgabe in etwa so aus:
{ "cluster": "europe-west1-cluster-jfhb", "block": "3e3056e23cf91a5cb4a8621b6a52c100", "subBlock": "0fc09525cbd5abd734342893ca1c083f", "host": "1215168a4ecdfb434fd4d28056589059" }Wenn Sie die ID des Hosts nur sehen können, nachdem Sie ihn freigegeben haben, sieht die Ausgabe in etwa so aus:
{ "cluster": null, "block": null, "subBlock": null, "host": "1215168a4ecdfb434fd4d28056589059" }