Ce document explique comment afficher l'emplacement physique des instances Compute Engine en cours d'exécution dans votre organisation Google Cloud .
Une fois que vous avez créé et démarré des instances de calcul, vous pouvez voir sur quel hôte physique chaque instance de calcul s'exécute dans une zone. Utilisez l'emplacement physique des instances de calcul de votre cluster pour effectuer les opérations suivantes :
Minimisez la latence du réseau : ajustez la conception de votre application ou de votre charge de travail pour exécuter les jobs sensibles à la latence sur les instances de calcul les plus proches les unes des autres.
Améliorer la fiabilité des charges de travail : distribuez les instances de calcul sur des hôtes physiques distincts pour limiter l'impact des erreurs d'hôte dans votre application.
Pour vérifier les instances de calcul qui s'exécutent dans votre projet, affichez la liste des instances de calcul.
Limites
Vous pouvez afficher l'ID du cluster, du bloc, du sous-bloc et de l'hôte des instances de calcul qui répondent à une ou plusieurs des exigences suivantes :
L'instance de calcul utilise l'un des types de machines suivants :
A4X Max
A4X
A4
A3 Ultra
A3 Mega
A3 High avec 8 GPU
A3 Edge
H4D
L'instance de calcul spécifie une stratégie d'emplacement compact.
L'instance de calcul appartient à un groupe d'instances géré (MIG) qui spécifie une règle de charge de travail de type "Débit élevé" (
HIGH_THROUGHPUT).
Si une instance de calcul ne répond à aucune des exigences précédentes, vous pouvez afficher son ID d'hôte après l'avoir exposée, comme décrit dans ce document.
Comprendre la topologie des instances de calcul
Chaque instance de calcul s'exécute sur un serveur physique, un hôte, qui se trouve dans un bloc de serveurs. Chaque bloc appartient à un cluster dans une zone. Lorsque vous consultez les détails des instances de calcul qui répondent à des exigences spécifiques, vous pouvez comprendre leur topologie par rapport aux autres instances de calcul qui répondent aux mêmes exigences.
Compute Engine expose les sous-champs suivants dans le champ physicalHostTopology de chaque instance de calcul. Plus deux instances de calcul en cours d'exécution partagent de sous-champs, plus elles sont proches l'une de l'autre.
Cluster (
cluster) : nom global du cluster dans lequel se trouve votre instance de calcul. Un cluster est un regroupement logique de haut niveau de plusieurs hôtes, qui peuvent s'étendre sur plusieurs blocs et qui fonctionnent ensemble en tant que pool de ressources unique.Bloc (
block) : ID spécifique à l'organisation du bloc dans lequel se trouve votre instance de calcul. Un bloc est un ensemble de plusieurs hôtes regroupés.Sous-bloc (
subBlock) : ID spécifique à l'organisation du sous-bloc dans lequel se trouve votre instance de calcul. Un sous-bloc est une subdivision physique d'un bloc, qui regroupe des hôtes dans un même boîtier physique.Hôte (
host) : ID spécifique à l'organisation ou au projet de l'hôte sur lequel votre instance de calcul s'exécute. L'ID d'hôte change comme suit :Si l'instance de calcul spécifie une stratégie d'emplacement compact ou une stratégie de charge de travail, l'ID de l'hôte est spécifique à votre projet.
Si l'instance de calcul spécifie une série de machines compatible ou si vous exposez son ID d'hôte, l'ID d'hôte est spécifique à votre organisation.
Avant de commencer
-
Si ce n'est pas déjà fait, configurez l'authentification.
L'authentification permet de valider votre identité pour accéder aux services et aux API Google Cloud . Pour exécuter du code ou des exemples depuis un environnement de développement local, vous pouvez vous authentifier auprès de Compute Engine en sélectionnant l'une des options suivantes :
Sélectionnez l'onglet correspondant à la façon dont vous prévoyez d'utiliser les exemples de cette page :
Console
Lorsque vous utilisez la console Google Cloud pour accéder aux services et aux API Google Cloud , vous n'avez pas besoin de configurer l'authentification.
gcloud
-
Installez la Google Cloud CLI. Une fois que la Google Cloud CLI est installée, initialisez-la en exécutant la commande suivante :
gcloud initSi vous utilisez un fournisseur d'identité (IdP) externe, vous devez d'abord vous connecter à la gcloud CLI avec votre identité fédérée.
-
- Définissez une région et une zone par défaut.
REST
Pour utiliser les exemples API REST de cette page dans un environnement de développement local, vous devez utiliser les identifiants que vous fournissez à la gcloud CLI.
Installez la Google Cloud CLI.
Si vous utilisez un fournisseur d'identité (IdP) externe, vous devez d'abord vous connecter à la gcloud CLI avec votre identité fédérée.
Pour en savoir plus, consultez la section S'authentifier pour utiliser REST dans la documentation sur l'authentification Google Cloud .
Rôles requis
Pour obtenir les autorisations nécessaires pour vérifier la topologie de vos instances de calcul, demandez à votre administrateur de vous accorder le rôle IAM Administrateur Compute (roles/compute.admin) sur votre projet.
Pour en savoir plus sur l'attribution de rôles, consultez Gérer l'accès aux projets, aux dossiers et aux organisations.
Ce rôle prédéfini contient les autorisations requises pour vérifier la topologie de vos instances de calcul. Pour connaître les autorisations exactes requises, développez la section Autorisations requises :
Autorisations requises
Les autorisations suivantes sont requises pour vérifier la topologie de vos instances de calcul :
- Pour afficher les détails d'une instance de calcul : compute.instances.get
- Pour afficher la liste des instances de calcul : compute.instances.list
-
Pour exposer l'ID d'hôte lorsque vous créez une instance de calcul :
compute.instances.createsur le projet- Pour créer la VM à l'aide d'une image personnalisée :
compute.images.useReadOnlysur l'image - Pour créer la VM à l'aide d'un instantané :
compute.snapshots.useReadOnlysur l'instantané - Pour créer la VM à l'aide d'un modèle d'instance :
compute.instanceTemplates.useReadOnlysur le modèle d'instance - Pour attribuer un ancien réseau à la VM :
compute.networks.usesur le projet - Pour spécifier une adresse IP statique pour la VM :
compute.addresses.usesur le projet - Pour attribuer une adresse IP externe à la VM, en cas d'utilisation d'un ancien réseau :
compute.networks.useExternalIpsur le projet - Pour spécifier un sous-réseau pour la VM :
compute.subnetworks.usesur le projet ou sur le sous-réseau choisi - Pour attribuer une adresse IP externe à la VM, en cas d'utilisation d'un réseau VPC :
compute.subnetworks.useExternalIpsur le projet ou sur le sous-réseau choisi - Pour définir les métadonnées d'instance de VM pour la VM :
compute.instances.setMetadatasur le projet - Pour définir des tags pour la VM :
compute.instances.setTagssur la VM - Pour définir des étiquettes pour la VM :
compute.instances.setLabelssur la VM - Pour définir un compte de service que doit utiliser la VM :
compute.instances.setServiceAccountsur la VM - Pour créer un disque pour la VM :
compute.disks.createsur le projet - Pour associer un disque existant en mode lecture seule ou en mode lecture/écriture :
compute.disks.usesur le disque - Pour associer un disque existant en mode lecture seule :
compute.disks.useReadOnlysur le disque
- Pour exposer l'ID de l'hôte lorsque vous créez un modèle d'instance : compute.instanceTemplates.create
- Pour afficher ou masquer l'ID de l'hôte dans une instance de calcul existante : compute.instances.update
Vous pouvez également obtenir ces autorisations avec des rôles personnalisés ou d'autres rôles prédéfinis.
Afficher ou masquer l'ID de l'hôte
Sauf si une instance de calcul répond à des exigences spécifiques, son ID d'hôte est masqué par défaut. Vous pouvez exposer l'ID de l'hôte lorsque vous créez ou mettez à jour des instances de calcul. Lorsque vous affichez les détails de vos instances de calcul, vous pouvez voir leurs ID d'hôte spécifiques à votre organisation Google Cloud . Vous ne pouvez pas voir les ID du bloc, du sous-bloc ou du cluster pour les instances de calcul.
Pour afficher ou masquer l'ID de l'hôte dans une instance de calcul, utilisez l'une des méthodes suivantes :
Afficher ou masquer l'ID d'hôte dans une instance de calcul existante
Exposer l'ID d'hôte dans de nouvelles instances de calcul de manière groupée
Si vous souhaitez empêcher l'exposition des ID d'hôte pour un ou plusieurs projets de votre organisation, vous pouvez créer une contrainte personnalisée. Cette contrainte est utile, par exemple, lorsque vous souhaitez exécuter des charges de travail sensibles à la sécurité. Pour en savoir plus, consultez Contraintes personnalisées.
Afficher ou masquer l'ID d'hôte dans une instance de calcul existante
Vous pouvez afficher ou masquer l'ID de l'hôte dans une instance de calcul existante sans la redémarrer. Si vous désactivez le paramètre qui expose l'ID d'hôte pour une instance de calcul qui affiche l'ID d'hôte par défaut, l'une des actions suivantes se produit :
Si l'instance de calcul spécifie une stratégie d'emplacement compact ou une stratégie de charge de travail, l'ID d'hôte spécifique au projet et les informations physiques associées s'affichent.
Si l'instance de calcul utilise un type de machine H4D ou un type de machine A3 High avec huit GPU (ou des générations ultérieures), Compute Engine ignore la requête.
Pour afficher ou masquer l'ID d'hôte d'une instance de calcul existante, sélectionnez l'une des options suivantes :
gcloud
Pour afficher ou masquer l'ID de l'hôte d'une instance de calcul existante, utilisez la commande gcloud compute instances update avec l'un des flags suivants :
Pour exposer l'ID de l'hôte, incluez le flag
--expose-host-topology:gcloud compute instances update INSTANCE_NAME \ --expose-host-topology \ --zone=ZONEPour masquer l'ID de l'hôte, incluez le flag
--no-expose-host-topology:gcloud compute instances update INSTANCE_NAME \ --no-expose-host-topology \ --zone=ZONE
Remplacez les éléments suivants :
INSTANCE_NAME: nom de l'instance de calcul.ZONE: zone où se trouve l'instance de calcul.
REST
Pour afficher les propriétés d'une instance de calcul existante, envoyez une requête
GETà la méthodeinstances.get:GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAMERemplacez les éléments suivants :
PROJECT_ID: ID du projet dans lequel vous avez créé l'instance de calcul.ZONE: zone où se trouve l'instance de calcul.INSTANCE_NAME: nom de l'instance de calcul.
Pour mettre à jour une instance de calcul afin d'afficher ou de masquer l'ID de l'hôte, envoyez une requête
PUTà la méthodeinstances.update. Dans le corps de la requête, utilisez le résultat de la requêteGETde l'étape précédente. Toutefois, dans le champscheduling, vous devez ajouter le champexposeHostTopologypour afficher ou masquer l'ID de l'hôte. Si le champschedulingn'existe pas dans le résultat de la requête, ajoutez-le également.La requête
PUTressemble à ce qui suit :PUT https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME?mostDisruptiveAllowedAction=REFRESH { "scheduling": { "exposeHostTopology": EXPOSE_HOST_ID }, ... }Remplacez
EXPOSE_HOST_IDpar l'une des valeurs suivantes :Pour afficher l'ID de l'hôte :
truePour masquer l'ID de l'organisateur :
false
Exposer l'ID d'hôte dans une nouvelle instance de calcul
Pour exposer l'ID de l'hôte lorsque vous créez une instance de calcul, sélectionnez l'une des options suivantes :
gcloud
Pour exposer l'ID de l'hôte lorsque vous créez une instance de calcul, utilisez la commande gcloud compute instances create avec l'option --expose-host-topology :
gcloud compute instances create INSTANCE_NAME \
--machine-type=MACHINE_TYPE \
--expose-host-topology \
--zone=ZONE
Remplacez les éléments suivants :
INSTANCE_NAME: nom de l'instance de calcul.MACHINE_TYPE: type de machine que vous souhaitez que votre instance de calcul utilise.ZONE: zone dans laquelle vous souhaitez créer l'instance de calcul.
REST
Pour exposer l'ID de l'hôte lors de la création d'une instance de calcul, envoyez une requête POST à la méthode instances.insert.
Dans le corps de la requête, incluez le champ scheduling.exposeHostTopology défini sur true.
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
}
}
Remplacez les éléments suivants :
PROJECT_ID: ID du projet dans lequel créer l'instance de calcul.ZONE: zone dans laquelle vous souhaitez créer l'instance de calcul.INSTANCE_NAME: nom de l'instance de calcul.MACHINE_TYPE: type de machine que vous souhaitez que votre instance de calcul utilise.IMAGE_PROJECT: projet contenant l'image, par exemple,debian-cloud. Pour en savoir plus sur les projets d'image compatibles, consultez la page Images d'OS publiques.IMAGE: spécifiez l'une des options suivantes :Une version spécifique de l'image de l'OS. Exemple :
debian-12-bookworm-v20240617.Une famille d'images, qui doit être au format
family/IMAGE_FAMILY. Cela permet de spécifier l'image d'OS non obsolète la plus récente. Par exemple, si vous spécifiezfamily/debian-12, la dernière version de la famille d'images Debian 12 est utilisée. Pour en savoir plus sur l'utilisation des familles d'images, consultez la page Bonnes pratiques concernant les familles d'images.
Exposer l'ID d'hôte dans de nouvelles instances de calcul de manière groupée
Pour exposer l'ID de l'hôte lorsque vous créez des instances de calcul de manière groupée, sélectionnez l'une des options suivantes :
gcloud
Pour exposer l'ID de l'hôte lorsque vous créez des instances de calcul de manière groupée, exécutez la commande gcloud compute instances create-bulk avec le flag --expose-host-topology.
Par exemple, pour créer des instances de calcul de manière groupée dans une seule zone et spécifier d'exposer leur ID d'hôte, exécutez la commande suivante :
gcloud compute instances create-bulk \
--count=COUNT \
--machine-type=MACHINE_TYPE \
--name-pattern="NAME_PATTERN" \
--expose-host-topology \
--zone=ZONE
Remplacez les éléments suivants :
COUNT: nombre d'instances de calcul à créer.MACHINE_TYPE: type de machine que vous souhaitez que vos instances de calcul utilisent.NAME_PATTERN: format de nom pour les instances de calcul. Pour remplacer une séquence de nombres dans un nom d'instance de calcul, utilisez une séquence de caractères dièse (#). Par exemple, le format de nominstance-#génère des instances de calcul portant les nomsinstance-1,instance-2, etc., jusqu'à ce qu'il atteigne le nombre d'instances de calcul spécifié parCOUNT.ZONE: zone dans laquelle vous souhaitez créer des instances de calcul de manière groupée.
REST
Pour exposer l'ID de l'hôte lorsque vous créez des instances de calcul de manière groupée, envoyez une requête POST à la méthode instances.bulkInsert.
Dans le corps de la requête, incluez le champ instanceProperties.scheduling.exposeHostTopology défini sur true.
Par exemple, pour créer des instances de calcul de manière groupée dans une seule zone et spécifier d'exposer leur ID d'hôte, envoyez une requête POST comme suit :
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
}
}
}
Remplacez les éléments suivants :
PROJECT_ID: ID du projet dans lequel créer les instances de calcul.ZONE: zone dans laquelle vous souhaitez créer les instances de calcul.COUNT: nombre d'instances de calcul à créer.NAME_PATTERN: format de nom pour les instances de calcul. Pour remplacer une séquence de nombres dans un nom d'instance de calcul, utilisez une séquence de caractères dièse (#). Par exemple, le format de nominstance-#génère des instances de calcul portant les nomsinstance-1,instance-2, etc., jusqu'à ce qu'il atteigne le nombre d'instances de calcul spécifié parCOUNT.MACHINE_TYPE: type de machine que vous souhaitez que vos instances de calcul utilisent.IMAGE_PROJECT: projet contenant l'image, par exemple,debian-cloud. Pour en savoir plus sur les projets d'image compatibles, consultez la page Images d'OS publiques.IMAGE: spécifiez l'une des options suivantes :Une version spécifique de l'image de l'OS. Exemple :
debian-12-bookworm-v20240617.Une famille d'images, qui doit être au format
family/IMAGE_FAMILY. Cela permet de spécifier l'image d'OS non obsolète la plus récente. Par exemple, si vous spécifiezfamily/debian-12, la dernière version de la famille d'images Debian 12 est utilisée. Pour en savoir plus sur l'utilisation des familles d'images, consultez la page Bonnes pratiques concernant les familles d'images.
Exposer l'ID de l'hôte dans un nouveau modèle d'instance
Après avoir créé un modèle d'instance qui spécifie d'exposer l'ID de l'hôte, vous pouvez utiliser le modèle d'instance pour effectuer les opérations suivantes :
Exposez l'ID de l'hôte dans les instances de calcul d'un groupe d'instances géré (MIG) lorsque vous effectuez les opérations suivantes :
Pour exposer l'ID de l'hôte lorsque vous créez un modèle d'instance, sélectionnez l'une des options suivantes :
gcloud
Pour exposer l'ID de l'hôte lorsque vous créez un modèle d'instance, utilisez la commande gcloud compute instance-templates create avec l'option --expose-host-topology.
Par exemple, utilisez la commande suivante pour créer un modèle d'instance régional. Si vous souhaitez créer un modèle d'instance global, utilisez la même commande sans le flag --instance-template-region.
gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
--expose-host-topology \
--instance-template-region=REGION \
--machine-type=MACHINE_TYPE
Remplacez les éléments suivants :
INSTANCE_TEMPLATE_NAME: nom du modèle d'instance.REGION: région dans laquelle créer le modèle d'instance.MACHINE_TYPE: type de machine que vous souhaitez que vos instances de calcul utilisent.
REST
Pour exposer l'ID de l'hôte lorsque vous créez un modèle d'instance, envoyez une requête POST à l'une des méthodes suivantes. Dans le corps de la requête, incluez le champ properties.scheduling.exposeHostTopology défini sur true.
Pour créer un modèle d'instance global : méthode
instanceTemplates.insert.Pour créer un modèle d'instance régional : méthode
regionInstanceTemplates.insert.
Par exemple, pour créer un modèle d'instance régional qui expose l'ID de l'hôte, envoyez une requête POST comme suit :
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
}
}
}
Remplacez les éléments suivants :
PROJECT_ID: ID du projet dans lequel créer le modèle d'instance.REGION: région dans laquelle vous souhaitez créer le modèle d'instance.INSTANCE_TEMPLATE_NAME: nom du modèle d'instance.IMAGE_PROJECT: projet contenant l'image, par exemple,debian-cloud. Pour en savoir plus sur les projets d'image compatibles, consultez la page Images d'OS publiques.IMAGE: spécifiez l'une des options suivantes :Une version spécifique de l'image de l'OS. Exemple :
debian-12-bookworm-v20240617.Une famille d'images, qui doit être au format
family/IMAGE_FAMILY. Cela permet de spécifier l'image d'OS non obsolète la plus récente. Par exemple, si vous spécifiezfamily/debian-12, la dernière version de la famille d'images Debian 12 est utilisée. Pour en savoir plus sur l'utilisation des familles d'images, consultez la page Bonnes pratiques concernant les familles d'images.
MACHINE_TYPE: type de machine que vous souhaitez que vos instances de calcul utilisent.
Vérifier l'emplacement physique d'une instance de calcul
Vous ne pouvez afficher l'emplacement physique de vos instances de calcul en cours d'exécution que si elles répondent à des exigences spécifiques ou si vous exposez leurs ID d'hôte.
Pour vérifier l'emplacement physique des instances de calcul en cours d'exécution dans votre organisation, utilisez l'une des méthodes suivantes :
Vérifier l'emplacement physique à l'aide de la console Google Cloud , de gcloud CLI ou de REST
Vérifier l'emplacement physique en interrogeant la clé de métadonnées
Vérifier l'emplacement physique à l'aide de la console Google Cloud , de gcloud CLI ou de REST
Pour afficher l'emplacement physique de plusieurs instances de calcul à la fois, utilisez l'API REST. Sinon, sélectionnez l'une des options suivantes :
Console
Dans la console Google Cloud , accédez à la page Instances de VM.
Dans la colonne Nom, cliquez sur le nom de l'instance de calcul dont vous souhaitez afficher les détails. Une page indiquant les détails de l'instance s'affiche, et l'onglet Détails est sélectionné.
Dans la section Informations de base, vérifiez la valeur du champ Hôte physique.
gcloud
Pour afficher l'emplacement physique d'une instance de calcul en cours d'exécution, utilisez la commande gcloud compute instances describe avec l'option --flatten=resourceStatus.physicalHostTopology :
gcloud compute instances describe INSTANCE_NAME \
--flatten=resourceStatus.physicalHostTopology \
--zone=ZONE
Remplacez les éléments suivants :
INSTANCE_NAME: nom de l'instance de calcul.ZONE: zone où se trouve l'instance de calcul.
Le résultat ressemble à l'un des exemples suivants :
Si vous pouvez afficher l'ID du cluster, du bloc, du sous-bloc et de l'hôte d'une instance de calcul, le résultat ressemble à ce qui suit :
--- block: 3e3056e23cf91a5cb4a8621b6a52c100 cluster: europe-west1-cluster-jfhb host: 1215168a4ecdfb434fd4d28056589059 subBlock: 0fc09525cbd5abd734342893ca1c083fSi vous ne pouvez afficher l'ID de l'hôte qu'après l'avoir exposé, le résultat ressemble à ce qui suit :
--- block: null cluster: null host: 1215168a4ecdfb434fd4d28056589059 subBlock: null
REST
Pour afficher l'emplacement physique de vos instances de calcul en cours d'exécution, envoyez l'une des requêtes GET suivantes. Lorsque vous envoyez une requête, vous devez inclure le paramètre de requête fields et limiter la sortie aux champs name, machineType et physicalHostTopology d'une instance de calcul. Vous devez également inclure le paramètre de requête filter et limiter les résultats aux instances de calcul en cours d'exécution.
Pour afficher la liste de vos instances dans toutes les zones : méthode
instances.aggregatedListGET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/aggregated/instances?fields=items.name,items.machineType,items.resourceStatus.physicalHostTopology&filter=status=RUNNINGPour afficher la liste de vos instances dans une zone spécifique : méthode
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
Remplacez les éléments suivants :
PROJECT_ID: ID du projet dans lequel se trouvent les instances de calcul.ZONE: zone où se trouvent les instances de calcul.
Le résultat ressemble à l'un des exemples suivants :
Si vous pouvez afficher l'ID du cluster, du bloc, du sous-bloc et de l'hôte d'une instance de calcul, le résultat ressemble à ce qui suit. Dans l'exemple suivant, les instances de calcul
vm-01etvm-02se trouvent dans le même bloc.{ "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" } } }, ... ] }Si vous ne pouvez afficher l'ID de l'hôte qu'après l'avoir exposé, le résultat ressemble à ce qui suit :
{ "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 } } }, ... ] }
Si vous souhaitez affiner votre liste d'instances de calcul, modifiez l'expression de filtre dans le paramètre de requête filter.
Vérifier l'emplacement physique en interrogeant une clé de métadonnées
Pour afficher l'emplacement physique d'une instance de calcul en cours d'exécution en interrogeant la clé de métadonnées physical_host_topology, sélectionnez l'une des options suivantes :
Instances Linux
Connectez-vous à votre instance Linux.
Interrogez la clé de métadonnées
physical_host_topologyà l'aide decurl:user@myinst:~$ curl -s -H "Metadata-Flavor: Google" http://metadata.google.internal/computeMetadata/v1/instance/attributes/physical_host_topologyLe résultat ressemble à l'un des exemples suivants :
Si vous pouvez afficher l'ID du cluster, du bloc, du sous-bloc et de l'hôte d'une instance de calcul, le résultat ressemble à ce qui suit :
{ "block": "3e3056e23cf91a5cb4a8621b6a52c100", "cluster": "europe-west1-cluster-jfhb", "host": "2326279b5ecdfc545fd5e39167698168", "subBlock": "1fc18636cbd4abd623553784ca2c174e" }Si vous ne pouvez afficher l'ID de l'hôte qu'après l'avoir exposé, le résultat est semblable à ce qui suit :
{ "block": null, "cluster": null, "host": "2326279b5ecdfc545fd5e39167698168", "subBlock": null }
Instances Windows
Connectez-vous à votre instance Windows.
Interrogez la clé de métadonnées
physical_host_topologyà l'aide de la commandeInvoke-RestMethod:PS C:\> $value = (Invoke-RestMethod ` -Headers @{'Metadata-Flavor' = 'Google'} ` -Uri "http://metadata.google.internal/computeMetadata/v1/instance/attributes/physical_host_topology") $valueLe résultat ressemble à l'un des exemples suivants :
Si vous pouvez afficher l'ID du cluster, du bloc, du sous-bloc et de l'hôte d'une instance de calcul, le résultat ressemble à ce qui suit :
{ "block": "3e3056e23cf91a5cb4a8621b6a52c100", "cluster": "europe-west1-cluster-jfhb", "host": "2326279b5ecdfc545fd5e39167698168", "subBlock": "1fc18636cbd4abd623553784ca2c174e" }Si vous ne pouvez afficher l'ID de l'hôte qu'après l'avoir exposé, le résultat est semblable à ce qui suit :
{ "block": null, "cluster": null, "host": "2326279b5ecdfc545fd5e39167698168", "subBlock": null }
Étapes suivantes
En savoir plus sur les événements hôtes dans une instance de calcul
Découvrez comment surveiller les instances de calcul.