Ce document explique comment afficher l'emplacement physique de vos instances Compute Engine A4X Max, A4X, A4, A3 Ultra, A3 Mega et A3 High (8 GPU) qui s'exécutent sur des blocs de capacité réservés.
Après avoir créé des instances A4X Max, A4X, A4, A3 Ultra, A3 Mega et A3 High (8 GPU), vous pouvez afficher leurs arrangements pour vérifier quelles instances sont les plus proches les unes des autres. En comprenant la proximité des instances, vous pouvez effectuer les opérations suivantes :
Ajustez la conception de votre application ou de votre charge de travail pour minimiser davantage la latence du réseau.
Résolvez les problèmes de latence ou de performances réseau des instances qui communiquent fréquemment, si elles sont situées de manière inattendue loin les unes des autres.
Avant de commencer
- Consultez la terminologie utilisée dans les fonctionnalités de Cluster Director.
-
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 Google Cloud et aux API, vous n'avez pas besoin de configurer l'authentification.
gcloud
Dans la console Google Cloud , activez Cloud Shell.
En bas de la console Google Cloud , une session Cloud Shell démarre et affiche une invite de ligne de commande. Cloud Shell est un environnement shell dans lequel Google Cloud CLI est déjà installé, et dans lequel des valeurs sont déjà définies pour votre projet actuel. L'initialisation de la session peut prendre quelques secondes.
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 afficher la topologie des instances de calcul, demandez à votre administrateur de vous accorder le rôle IAM Administrateur d'instances Compute (v1) (roles/compute.instanceAdmin.v1) 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 afficher la topologie des instances de calcul. Pour connaître les autorisations exactes requises, développez la section Autorisations requises :
Autorisations requises
Les autorisations suivantes sont requises pour afficher la topologie des instances de calcul :
-
Pour afficher les détails d'une instance :
compute.instances.getsur le projet -
Pour afficher la liste des instances :
compute.instances.listsur le projet
Vous pouvez également obtenir ces autorisations avec des rôles personnalisés ou d'autres rôles prédéfinis.
Comprendre la topologie des instances de calcul
Lorsque vous affichez les détails d'une instance de calcul en cours d'exécution, vous pouvez comprendre son emplacement physique dans un cluster en consultant le champ Hôte physique (pour la console Google Cloud ) ou le champ physicalHostTopology (pour gcloud CLI, l'API Compute Engine ou en interrogeant la clé de métadonnées). Ces champs contiennent les sous-champs suivants :
cluster: nom global du cluster.block: ID spécifique à l'organisation du bloc réservé dans lequel se trouve l'instance.sub-block: ID spécifique à l'organisation du sous-bloc dans lequel se trouve l'instance.host: ID spécifique à l'organisation de l'hôte sur lequel l'instance s'exécute.
Pour comprendre la proximité des instances, comparez les valeurs des champs Hôte physique ou physicalHostTopology entre les instances. Plus les instances partagent de sous-champs, plus elles sont proches physiquement.
Vous pouvez également afficher la topologie d'une réservation dans laquelle les instances de calcul sont créées. Les champs physicalHostTopology d'une réservation et d'une instance affichent les mêmes champs block et cluster. Par exemple, lorsque vous affichez un bloc réservé spécifique, vous pouvez voir le nom et le sous-bloc de toutes les instances déployées dans le bloc. Pour en savoir plus sur la topologie d'une réservation, consultez Afficher la topologie d'une réservation.
Afficher la topologie d'une instance de calcul
Pour afficher l'emplacement physique de plusieurs instances de calcul en cours d'exécution à 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 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'instanceZONE: zone où se trouve l'instance.
Le résultat ressemble à ce qui suit :
---
cluster: europe-west1-cluster-jfhb
block: 3e3056e23cf91a5cb4a8621b6a52c100
subBlock: 0fc09525cbd5abd734342893ca1c083f
host: 1215168a4ecdfb434fd4d28056589059
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 spécifier d'afficher uniquement les champs name, machineType et physicalHostTopology d'une instance. Vous devez également inclure le paramètre de requête filter et spécifier de ne lister que les instances 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 les instances existent.ZONE: zone où se trouvent les instances.
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": {
"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"
}
}
},
...
]
}
Si vous souhaitez affiner votre liste d'instances, modifiez l'expression de filtre dans le paramètre de requête filter.
Afficher la topologie d'une instance de calcul 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 de calcul Linux.
À partir de votre instance Linux, créez une requête à l'aide de l'outil
curl. Pour interroger la clé de métadonnéesphysical_host_topologysur des instances Linux, exécutez la commande suivante :user@myinst:~$ curl -s -H "Metadata-Flavor: Google" http://metadata.google.internal/computeMetadata/v1/instance/attributes/physical_host_topologyLe résultat ressemble à ce qui suit :
{ "cluster": "europe-west1-cluster-jfhb", "block": "3e3056e23cf91a5cb4a8621b6a52c100", "subBlock": "1fc18636cbd4abd623553784ca2c174e", "host": "2326279b5ecdfc545fd5e39167698168" }
Instances Windows
Connectez-vous à votre instance de calcul Windows.
À partir de votre instance Windows, créez une requête à l'aide de la commande
Invoke-RestMethod. Pour interroger la clé de métadonnéesphysical_host_topologysur des instances Windows, exécutez la commande suivante :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 à ce qui suit :
{ "cluster": "europe-west1-cluster-jfhb", "block": "3e3056e23cf91a5cb4a8621b6a52c100", "subBlock": "1fc18636cbd4abd623553784ca2c174e", "host": "2326279b5ecdfc545fd5e39167698168" }
Étapes suivantes
Découvrez comment gérer les événements hôtes :