Une fois que vous avez créé un cluster H4D sur des blocs de capacité réservés, vous pouvez afficher l'arrangement physique des VM qui composent le cluster. Comprendre l'organisation de vos VM vous permet d'effectuer les opérations suivantes :
- Ajustez la conception de votre application ou de votre charge de travail pour réduire davantage la latence du réseau, en particulier pour les charges de travail utilisant Cloud RDMA.
- Résolvez les problèmes de latence ou de performances réseau des VM qui communiquent fréquemment.
Avant de commencer
Assurez-vous de disposer des autorisations nécessaires pour afficher les informations sur la topologie des VM.
Rôles requis
Pour obtenir les autorisations nécessaires pour afficher la topologie des VM, demandez à votre administrateur de vous attribuer le rôle IAM Administrateur d'instances Compute (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 toutes les autorisations requises pour afficher la topologie des VM. Pour afficher les autorisations exactes requises, développez la section Autorisations requises :
Les autorisations suivantes sont requises pour afficher la topologie des VM :
- Pour afficher les détails d'une VM :
compute.instances.getsur le projet - Pour afficher la liste des VM :
compute.instances.listsur le projet
Comprendre la topologie des VM
Lorsque vous affichez les détails d'une VM en cours d'exécution, vous pouvez récupérer des informations sur son emplacement physique dans un cluster en consultant le champ Hôte physique (pour la console Google Cloud ), le champ physicalHostTopology (pour la Google Cloud 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 la VM.sub-block: ID spécifique à l'organisation du sous-bloc dans lequel se trouve la VM.host: ID spécifique à l'organisation de l'hôte sur lequel la VM s'exécute.
Pour connaître la définition de ces termes, consultez Terminologie des clusters.
Pour comprendre la proximité des VM les unes par rapport aux autres, comparez les valeurs des champs Hôte physique ou physicalHostTopology entre les VM. Plus les VM partagent de sous-champs, plus elles sont proches physiquement.
Vous pouvez également afficher la topologie d'une réservation dans laquelle les VM sont créées.
Les champs physicalHostTopology d'une réservation et d'une VM affichent les mêmes champs block et cluster. Lorsque vous affichez un bloc réservé spécifique, vous pouvez voir le nom et le sous-bloc de toutes les VM 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 des VM
Pour afficher l'emplacement physique de plusieurs VM en cours d'exécution, 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 la VM pour afficher ses détails. Une page indiquant les détails de la VM s'affiche. L'onglet Détails est sélectionné par défaut.
Dans la section Informations de base, vérifiez la valeur du champ Hôte physique.
Google Cloud CLI
Pour afficher l'emplacement physique d'une VM en cours d'exécution, utilisez la commande gcloud compute instances describe avec l'option flatten=resourceStatus.physicalHostTopology.
Remplacez les éléments suivants :
VM_NAME: nom de la VM.ZONE: zone où se trouve la VM.
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 VM 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 VM. Vous devez également inclure le paramètre de requête filter et spécifier de n'afficher que les VM en cours d'exécution.
- Pour afficher la liste de vos VM dans toutes les zones, utilisez la méthode
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
- Pour afficher la liste de vos VM dans une zone spécifique, utilisez la méthode
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
Remplacez les éléments suivants :
* PROJECT_ID : ID du projet dans lequel se trouvent les VM.
* ZONE : zone où se trouvent les VM.
Le résultat ressemble à ce qui suit :
{
"items": [
{
"name": "vm-01",
"machineType": "https://www.googleapis.com/compute/v1/projects/example-project/zones/europe-west4-b/machineTypes/h4d-highmem-192-lssd",
"resourceStatus": {
"physicalHostTopology": {
"cluster": "europe-west4-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/h4d-highmem-192-lssd",
"resourceStatus": {
"physicalHostTopology": {
"cluster": "europe-west4-cluster-jfhb",
"block": "3e3056e23cf91a5cb4a8621b6a52c100",
"subBlock": "1fc18636cbd4abd623553784ca2c174e",
"host": "2326279b5ecdfc545fd5e39167698168"
}
}
},
...
]
}
Si vous souhaitez affiner votre liste de VM, modifiez l'expression de filtre dans le paramètre de requête filter.
Afficher la topologie des VM en interrogeant une clé de métadonnées
Pour afficher l'emplacement physique d'une VM en cours d'exécution en interrogeant la clé de métadonnées physical_host_topology, sélectionnez l'une des options suivantes :
VM Linux
- Connectez-vous à votre VM Linux.
- À partir de votre VM Linux, créez une requête à l'aide de l'outil curl. Pour interroger la clé de métadonnées
physical_host_topologysur des VM Linux, exécutez la commande suivante :
curl -s -H "Metadata-Flavor: Google" http://metadata.google.internal/computeMetadata/v1/instance/attributes/physical_host_topology
Le résultat ressemble à ce qui suit :
{
"cluster": "europe-west4-cluster-jfhb",
"block": "3e3056e23cf91a5cb4a8621b6a52c100",
"subBlock": "1fc18636cbd4abd623553784ca2c174e",
"host": "2326279b5ecdfc545fd5e39167698168"
}
VM Windows
- Connectez-vous à votre VM Windows.
- À partir de votre VM Windows, créez une requête à l'aide de Invoke-RestMethod.
Pour interroger la clé de métadonnées
physical_host_topologysur des VM Windows, exécutez la commande suivante :
$value = (Invoke-RestMethod `
-Headers @{'Metadata-Flavor' = 'Google'} `
-Uri "http://metadata.google.internal/computeMetadata/v1/instance/attributes/physical_host_topology")
$value
Le résultat ressemble à ce qui suit :
{
"cluster": "europe-west4-cluster-jfhb",
"block": "3e3056e23cf91a5cb4a8621b6a52c100",
"subBlock": "1fc18636cbd4abd623553784ca2c174e",
"host": "2326279b5ecdfc545fd5e39167698168"
}