Utiliser des règles d'emplacement pour les instances de VM


Chaque instance de machine virtuelle (VM) s'exécute sur un serveur physique ou hôte dans un rack placé dans un cluster d'un centre de données. Les règles d'emplacement suivantes vous permettent de contrôler l'emplacement physique de vos VM les unes par rapport aux autres dans une zone:

  • Règles d'emplacement de répartition. Utilisez des règles de répartition lorsque vous souhaitez que les VM soient à distance les unes des autres. Cela peut contribuer à réduire l'impact des défaillances du système hôte ou à optimiser une migration à chaud de vos VM.
  • Règles d'emplacement de concentration. Utilisez des règles de concentration lorsque vous souhaitez que les VM soient proches les unes des autres pour obtenir une faible latence réseau entre les VM.

Avant de commencer

Restrictions

Les stratégies d'emplacement comportent les restrictions suivantes :

  • Règles d'emplacement de répartition :
    • acceptent jusqu'à 8 VM par règle ;
    • compatibilité limitée aux types de machines C2, G2, N1, N2 et N2D ;
    • ne peuvent pas être utilisées avec l'API de topologie d'emplacement de VM ;
    • ne peuvent pas être utilisées avec des réservations de VM.
  • Règles d'emplacement de concentration :

Créer une règle d'emplacement

Pour contrôler l'emplacement de vos instances les unes par rapport aux autres, procédez comme suit :

  1. Créez une règle d'emplacement de répartition ou de concentration avec la configuration d'emplacement dont vos VM ont besoin.
    • Les règles d'emplacement dites de répartition positionnent vos VM sur l'infrastructure du centre de données sous-jacent de sorte qu'elles ne partagent pas le même hôte ou système d'alimentation. Cela réduit l'impact des défaillances de l'hôte ou de l'alimentation.
    • Les règles d'emplacement dites de concentration positionnent vos VM à proximité les unes des autres pour obtenir une faible latence réseau entre les VM.
  2. Appliquez la règle d'emplacement à une ou plusieurs VM. Les VM qui partagent la même règle sont placées les unes par rapport aux autres en fonction de la manière dont vous avez défini celle-ci. Vous pouvez appliquer la règle aux VM nouvelles et existantes, ou la spécifier dans un modèle d'instance que vous pouvez utiliser pour créer des VM autonomes, des groupes d'instances gérés (MIG) et des Réservations de VM.

Créer une règle d'emplacement

Pour créer une règle de répartition qui situe les VM dans plusieurs domaines de disponibilité distincts, spécifiez le nombre de domaines de disponibilité que cette règle doit utiliser pour séparer les VM les unes des autres.

gcloud

Créez la stratégie à l'aide de gcloud CLI.

gcloud compute resource-policies create group-placement POLICY_NAME \
    --availability-domain-count DOMAIN_COUNT \
    --region REGION \
    --project PROJECT_ID

Remplacez les éléments suivants :

  • POLICY_NAME : le nom de la nouvelle stratégie
  • DOMAIN_COUNT : le nombre d'ensembles distincts de matériel hôte et de réseaux physiques que règle utilisera pour séparer les instances
  • REGION : la région dans laquelle vous prévoyez de créer des VM utilisant cette règle.
  • PROJECT_ID : ID de votre projet.

API

Créez une stratégie de répartition à l'aide de la méthode resourcePolicies.insert dans les API et services de la console Google Cloud.

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

Dans le corps de la requête, indiquez les détails de la règle d'emplacement :

{
  "name": "POLICY_NAME",
  "groupPlacementPolicy": {
    "availabilityDomainCount": DOMAIN_COUNT
  }
}

Remplacez les éléments suivants :

  • PROJECT_ID : ID de votre projet.
  • REGION : la région dans laquelle vous prévoyez de créer des VM utilisant cette règle.
  • POLICY_NAME : le nom de la nouvelle stratégie
  • DOMAIN_COUNT : le nombre d'ensembles distincts de matériel hôte et de réseaux physiques que règle utilisera pour séparer les instances

Créer une stratégie de concentration

Pour créer une règle de concentration situant les VM plus près les unes des autres et sur la même infrastructure réseau, spécifiez une règle COLLOCATED.

gcloud

Créez la stratégie à l'aide de gcloud CLI.

gcloud compute resource-policies create group-placement POLICY_NAME \
    --collocation COLLOCATED \
    --region REGION \
    --project PROJECT_ID

Remplacez les éléments suivants :

  • POLICY_NAME : le nom de la nouvelle stratégie
  • REGION : la région dans laquelle vous prévoyez de créer des VM utilisant cette règle.
  • PROJECT_ID : ID de votre projet.

API

Créez une stratégie d'emplacement compactes à l'aide de la méthode resourcePolicies.insert dans les API et services de la console Google Cloud.

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

Dans le corps de la requête, indiquez les détails de la règle d'emplacement :

{
  "name": "POLICY_NAME",
  "groupPlacementPolicy": {
    "collocation": "COLLOCATED"
  }
}

Remplacez les éléments suivants :

  • PROJECT_ID : ID de votre projet.
  • REGION : la région dans laquelle vous prévoyez de créer des VM utilisant cette règle.
  • POLICY_NAME : le nom de la nouvelle stratégie

Appliquer des règles d'emplacement aux VM

Après avoir créé une règle d'emplacement, vous pouvez l'appliquer à des VM nouvelles ou existantes. La prise en charge des règles d'emplacement dépend de votre scénario.

Scénario Prise en charge des emplacements compacts Prise en charge des emplacements répartis
Appliquer une règle d'emplacement à une nouvelle VM
Appliquer une règle d'emplacement à une VM existante
Spécifier une règle d'emplacement dans un modèle d'instance que vous pouvez utiliser pour créer des VM
Spécifier une règle d'emplacement dans un modèle d'instance que vous pouvez utiliser pour créer ou mettre à jour un MIG
Spécifier une règle d'emplacement dans un modèle d'instance que vous pouvez utiliser pour créer des réservations de VM

Appliquer une règle d'emplacement à une nouvelle VM

Une fois que vous avez créé une règle d'emplacement, appliquez-la à une ou plusieurs VM. Les instances qui partagent la même règle sont placées les unes par rapport aux autres en fonction de la manière dont vous avez défini celle-ci.

gcloud

Appliquez une stratégie d'emplacement à une VM en incluant l'option --resource-policies lorsque vous créez des VM individuellement ou de manière groupée.

Pour les règles d'emplacement de concentration, vous devez inclure les options --maintenance-policy=TERMINATE et --no-restart-on-failure.

Par exemple, pour créer une VM qui utilise une stratégie d'emplacement compacte, utilisez la commande suivante :

gcloud compute instances create VM_NAME \
    --zone=ZONE \
    --resource-policies=POLICY_NAME \
    --image-family=IMAGE_FAMILY \
    --image-project=IMAGE_PROJECT \
    --project=PROJECT_ID \
    --maintenance-policy=TERMINATE \
    --no-restart-on-failure \
    --async

Remplacez les éléments suivants :

  • VM_NAME : nom de la nouvelle VM.
  • ZONE : zone dans laquelle vous souhaitez créer la VM.

    Cette zone doit se trouver dans la même région que la stratégie d'emplacement.

  • POLICY_NAME : nom de la règle d'emplacement que vous souhaitez appliquer à cette VM.

    Vous pouvez appliquer plusieurs règles d'emplacement à une VM.

  • IMAGE_FAMILY : l'une des familles d'images disponibles.

  • IMAGE_PROJECT : le projet d'image auquel l'image appartient.

  • PROJECT_ID : l'ID de votre projet.

API

Appliquez une stratégie d'emplacement à une VM en incluant l'option --resource-policies lorsque vous créez des VM individuellement ou de manière groupée.

Par exemple, pour créer une seule VM, utilisez la commande suivante :

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

Dans le corps de la requête, indiquez la règle des ressources. Pour règles de placement de concentration, vous devez inclure les arguments "onHostMaintenance": "TERMINATE" et "automaticRestart": false :

{
  "name": "VM_NAME",
  "machineType": "machineTypes/MACHINE_TYPE"
  "networkInterfaces": [{
    "accessConfigs": [{
      "type": "ONE_TO_ONE_NAT",
      "name": "External NAT"
    }],
    "network": "global/networks/default"
  }],
  "scheduling": {
    "onHostMaintenance": "TERMINATE",
    "automaticRestart": false
  },
  "disks": [{
     "autoDelete": "true",
     "boot": "true",
     "type": "PERSISTENT",
     "initializeParams": {
       "sourceImage": "projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY"
     }
  }],
  "resourcePolicies": [
    "projects/PROJECT_ID/regions/REGION/resourcePolicies/POLICY_NAME"
  ]
}

Remplacez les éléments suivants :

  • PROJECT_ID : ID de votre projet.
  • ZONE : zone dans laquelle vous souhaitez créer la VM.

    Cette zone doit se trouver dans la même région que la stratégie d'emplacement.

  • VM_NAME : nom de la nouvelle VM.

  • MACHINE_TYPE : type de machine de la VM.

  • IMAGE_PROJECT : le projet d'image auquel l'image appartient.

  • IMAGE_FAMILY : l'une des familles d'images disponibles.

  • REGION : la région dans laquelle vous avez créé la stratégie d'emplacement.

  • POLICY_NAME : nom de la règle d'emplacement que vous souhaitez appliquer à cette VM.

    Vous pouvez appliquer plusieurs règles d'emplacement à une VM.

Appliquer une règle d'emplacement de répartition à une VM existante

Si vous créez une règle d'emplacement de répartition, vous pouvez l'appliquer à une ou plusieurs VM existantes sans redémarrer les VM.

gcloud

Vous appliquez une règle d'emplacement par répartition à une instance existante à l'aide de la commande add-resource-policies,

gcloud compute instances add-resource-policies VM_NAME \
    --zone=ZONE \
    --resource-policies=SPREAD_PLACEMENT_POLICY_NAME \
    --project=PROJECT_ID

Remplacez les éléments suivants :

  • VM_NAME : Nom de la VM.
  • ZONE : zone de la VM.

    Cette zone doit se trouver dans la même région que la règle d'emplacement.

  • SPREAD_PLACEMENT_POLICY_NAME : nom d'une règle d'emplacement de répartition existante que vous souhaitez appliquer à cette VM.

  • PROJECT_ID : ID de votre projet.

API

Vous appliquez une règle d'emplacement par répartition à une instance existante à l'aide de la méthode addResourcePolicies,

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

Dans le corps de la requête, indiquez la règle d'emplacement de répartition.

{
  "resourcePolicies": [
    "projects/PROJECT_ID/regions/REGION/resourcePolicies/SPREAD_PLACEMENT_POLICY_NAME"
  ]
}

Remplacez les éléments suivants :

  • PROJECT_ID : ID de votre projet.
  • ZONE : zone dans laquelle vous souhaitez créer la VM.

    Cette zone doit se trouver dans la même région que la stratégie d'emplacement.

  • VM_NAME : nom de la nouvelle VM.

  • REGION : la région dans laquelle vous prévoyez de créer des instances de VM utilisant cette stratégie.

  • SPREAD_PLACEMENT_POLICY_NAME : nom d'une règle d'emplacement de répartition existante que vous souhaitez appliquer à cette VM.

Créer un modèle d'instance spécifiant une règle d'emplacement

Vous pouvez spécifier une règle d'emplacement lors de la création d'un modèle d'instance. à savoir :

  • Si vous spécifiez une règle d'emplacement de concentration dans un modèle d'instance, vous pouvez utiliser ce modèle pour créer des MIG, des VM et des réservations de VM.

  • Si vous spécifiez une règle d'emplacement de répartition dans un modèle d'instance, vous ne pouvez utiliser le modèle que pour créer des MIG et des VM.

gcloud

Pour créer un modèle d'instance qui spécifie une règle de ressources, exécutez la commande gcloud compute instance-templates create avec l'option --resource-policies. Pour spécifier une stratégie d'emplacement de concentration, vous devez également spécifier les options --maintenance-policy=TERMINATE et --no-restart-on-failure.

Par exemple, pour créer un modèle d'instance doté de propriétés de VM par défaut et d'une stratégie d'emplacement de concentration, utilisez la commande suivante :

gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
    --resource-policies=COMPACT_PLACEMENT_POLICY_NAME \
    --maintenance-policy=TERMINATE \
    --no-restart-on-failure

Remplacez les éléments suivants :

  • INSTANCE_TEMPLATE_NAME : nom du modèle d'instance.

  • COMPACT_PLACEMENT_POLICY_NAME : nom d'une stratégie d'emplacement de concentration existante.

API

Pour créer un modèle d'instance spécifiant une règle de ressources, envoyez une requête POST à la méthode instanceTemplates.insert. Dans le corps de la requête, spécifiez les règles d'emplacement dans le champ resourcePolicies. Pour spécifier une stratégie d'emplacement compacte, vous devez également spécifier les champs "onHostMaintenance": "TERMINATE" et "automaticRestart": false.

Par exemple, pour créer un modèle d'instance doté de propriétés de VM par défaut et d'une stratégie d'emplacement de concentration, utilisez la commande suivante :

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

{
  "name": "INSTANCE_TEMPLATE_NAME",
  "properties": {
    "resourcePolicies": {
      "COMPACT_PLACEMENT_POLICY_NAME"
    },
    "scheduling": {
      "onHostMaintenance": "TERMINATE",
      "automaticRestart": false
    },
    ...
  }
}

Remplacez les éléments suivants :

  • PROJECT_ID : ID de votre projet actuel.

  • INSTANCE_TEMPLATE_NAME : nom du modèle d'instance.

  • COMPACT_PLACEMENT_POLICY_NAME : nom d'une stratégie d'emplacement de concentration existante.

Si vous souhaitez utiliser le modèle pour créer un MIG, une VM ou une réservation de VM, consultez la documentation suivante :

Appliquer une règle d'emplacement aux VM d'un groupe d'instances géré

Après avoir créé une règle d'emplacement, créez un modèle d'instance qui spécifie la règle. Créez ensuite un MIG ou mettez à jour un MIG existant avec ce modèle d'instance. La règle d'emplacement s'appliquera aux VM du groupe qui utilisent ce modèle d'instance.

Si votre charge de travail nécessite une communication approfondie entre les VM, nous vous recommandons de créer une règle d'emplacement de concentration et d'utiliser un MIG régional avec une forme de distribution "Une des zones". Avec la forme "Une des zones", lorsqu'un MIG régional n'a pas de VM et doit effectuer un scaling horizontal, le groupe choisit la zone optimale en fonction de vos réservations, de vos quotas et de vos exigences matérielles.

Appliquer une règle d'emplacement à un nouveau MIG

Vous pouvez utiliser gCloud CLI ou l'API Compute Engine.

gcloud

Pour créer un MIG avec des VM basées sur le modèle que vous avez créé précédemment, utilisez la commande instance-groups managed create. Par exemple, pour créer un MIG régional avec la forme de distribution "Une des zones", utilisez la commande suivante :

gcloud compute instance-groups managed create INSTANCE_GROUP_NAME \
    --template TEMPLATE_NAME \
    --size SIZE \
    --region REGION \
    --zones ZONES \
    --target-distribution-shape=any-single-zone

Remplacez les éléments suivants :

  • INSTANCE_GROUP_NAME : nom de ce groupe d'instances.
  • TEMPLATE_NAME : nom du modèle d'instance à utiliser pour ce groupe.
  • SIZE : taille du groupe d'instances.
  • REGION : région de ce groupe d'instances.

  • ZONES (facultatif) : liste des zones de la région dans lesquelles le MIG peut déployer des instances de VM. Par défaut, Compute Engine sélectionne trois zones pour vous.

    • Si vous souhaitez que votre MIG puisse utiliser toutes les zones de la région, spécifiez toutes les zones disponibles. Vous pouvez obtenir la liste des zones de la région à l'aide de la commande suivante :

      gcloud compute zones list --filter=region:REGION --format='list(NAME)'
    • Notez qu'après la création d'un MIG régional, vous ne pouvez pas le mettre à jour pour utiliser des zones différentes.

API

Pour créer un MIG avec des VM basées sur le modèle que vous avez créé précédemment, appelez la méthode instanceGroupManagers.insert ou regionInstanceGroupManagers.insert et spécifiez ce modèle. Par exemple, pour créer un MIG régional avec la forme de distribution "Une des zones", utilisez la méthode suivante :

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

{
  "name": "INSTANCE_GROUP_NAME",
  "instanceTemplate": "global/instanceTemplates/TEMPLATE_NAME",
  "targetSize": SIZE,
  "distributionPolicy": {
      "zones": [
          {"zone": "zones/ZONE1"},
          {"zone": "zones/ZONE2"},
          {"zone": "zones/ZONE3"},
      ],
      "targetShape": "ANY_SINGLE_ZONE"
  }
}

Remplacez les éléments suivants :

  • PROJECT_ID : ID du projet pour cette requête
  • REGION : région du groupe
  • INSTANCE_GROUP_NAME : nom du MIG
  • TEMPLATE_NAME : modèle d'instance à utiliser
  • SIZE : nombre cible de VM pour le groupe
  • ZONES : nom d'une zone de la région dans laquelle le MIG peut déployer des instances de VM
    • Si vous souhaitez que votre MIG puisse utiliser toutes les zones de la région, spécifiez toutes les zones disponibles. Vous pouvez obtenir la liste des zones de la région en appelant la méthode regions.get.
    • Notez qu'après la création d'un MIG régional, vous ne pouvez pas le mettre à jour pour utiliser des zones différentes.

Pour en savoir plus sur la création de MIG, consultez la section Scénarios de base pour la création de groupes d'instances gérés (MIG).

Appliquer une règle d'emplacement à un MIG existant

Après avoir créé une règle d'emplacement, créez un modèle d'instance qui spécifie la règle. Appliquez ensuite le modèle à un MIG existant. Vous pouvez utiliser gCloud CLI ou l'API Compute Engine.

gcloud

Pour mettre à jour un MIG afin qu'il utilise le nouveau modèle et pour déployer automatiquement le nouveau modèle sur les VM existantes dans le MIG, vous pouvez utiliser la commande instance-groups managed rolling-action start-update, par exemple comme suit :

gcloud compute instance-groups managed rolling-action start-update INSTANCE_GROUP_NAME \
    --template TEMPLATE_NAME \
    --type=proactive

API

Pour mettre à jour un MIG afin qu'il utilise le nouveau modèle, appelez la méthode patch sur un MIG régional ou zonal.

Par exemple, pour un groupe d'instances géré régional, la requête suivante indique la configuration minimale nécessaire pour mettre à jour automatiquement 100 % des instances vers le nouveau modèle d'instance.

PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/INSTANCE_GROUP_NAME

{
  "instanceTemplate": "global/instanceTemplates/TEMPLATE_NAME",
  "updatePolicy": {
    "type": "PROACTIVE"
   }
}

Pour en savoir plus sur les autres manières de mettre à jour les VM dans les MIG, consultez la section Mettre à jour et appliquer de nouvelles configurations aux VM d'un MIG.

Afficher les règles d'emplacement

Vous pouvez afficher les stratégies d'emplacement appliquées à une VM et les détails d'une stratégie d'emplacement spécifique à l'aide de gcloud CLI et de l'API Compute Engine.

Afficher la règle d'emplacement d'une VM

gcloud

Pour afficher la règle d'emplacement des ressources d'une VM, utilisez la commande gcloud compute instances describe :

gcloud compute instances describe VM_NAME

Remplacez VM_NAME par le nom de votre VM.

Si une règle d'emplacement est disponible, la sortie contient le champ resourcePolicies :

resourcePolicies:
https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGIONS/resourcePolicies/POLICY_NAME

API

Pour afficher la règle d'emplacement des ressources d'une VM, utilisez la méthode instances.get :

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

Remplacez les éléments suivants :

  • PROJECT_ID : ID de votre projet.
  • ZONE : zone contenant la VM
  • VM_NAME : nom de votre VM

Si une règle d'emplacement est disponible, le champ resourcePolicies renvoie les règles de ressources de votre VM.

"resourcePolicies": [
"https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/resourcePolicies/VM_NAME"
],

Afficher les détails d'une règle d'emplacement

gcloud

Pour afficher les détails d'une règle d'emplacement, utilisez la commande gcloud compute resource-policies describe :

gcloud compute resource-policies describe POLICY_NAME

Remplacez POLICY_NAME par le nom de la règled'emplacement.

Si la règle d'emplacement est disponible, le résultat contient les détails de la règle d'emplacement :

...
groupPlacementPolicy:
  availabilityDomainCount: 2
kind: compute#resourcePolicy
name: POLICY_NAME
region: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION
...

API

Pour afficher les détails d'une règle d'emplacement, utilisez la méthode resourcePolicies.get :

GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/resourcePolicies/POLICY_NAME

Remplacez les éléments suivants :

  • PROJECT_ID : ID de votre projet.
  • REGION : région contenant la VM
  • POLICY_NAME : nom de la règle d'emplacement

Si la règle d'emplacement est disponible, le corps de la réponse contient les détails de la règle d'emplacement :

...
"region": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION",
"name": "POLICY_NAME",
"groupPlacementPolicy": {
  "availabilityDomainCount": 2
},
"kind": "compute#resourcePolicy"
...

Afficher la topologie de l'emplacement de la VM

Vous pouvez afficher des informations sur l'emplacement d'une VM par rapport à une autre VM. Ces informations vous aident à créer une topologie pour vos VM et à déterminer celles qui sont les plus proches les unes des autres et celles qui partagent le moins de matériel.

Vous ne pouvez comparer les informations de topologie d'emplacement de VM que pour les VM qui utilisent la même stratégie d'emplacement.

gcloud

Affichez les propriétés resource d'une VM créée avec une règle d'emplacement :

gcloud compute instances describe VM_NAME \
    --format="table[box,title=VM-Topology](resourcePolicies.scope():sort=1,resourceStatus.physicalHost:label=location)"

Remplacez VM_NAME par le nom de l'instance de VM qui utilise une règle d'emplacement.

La sortie devrait ressembler à ce qui suit :

VM-Topology

RESOURCE_POLICIES: us-central1/resourcePolicies/policy_name']
PHYSICAL_HOST: /xxxxxxxx/xxxxxx/xxxxx

La valeur de PHYSICAL_HOST comprend trois champs. Ces champs contiennent des valeurs hachées qui représentent le cluster, le rack de serveurs et la machine hôte où se trouve la VM. Lorsque vous comparez cette valeur à d'autres VM, plus le nombre de champs contenant la même chaîne est élevé, plus les VM sont proches les unes des autres. Par exemple, deux VM appartenant au même projet, au même cluster et s'exécutant sur le même rack, ont la même valeur pour les deux premières parties du champ PHYSICAL_HOST.

API

Affichez les détails d'une VM créée avec une règle de concentration. Envoyez une requête GET à la méthode instances.get :

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

Remplacez les éléments suivants :

  • PROJECT_ID : ID du projet pour cette requête.
  • ZONE : zone de l'instance sur laquelle vous souhaitez effectuer la requête.
  • VM_NAME: nom de la VM qui utilise une règle d'emplacement.

Le corps de la réponse contient un extrait semblable à celui-ci:

{
  ...
  resourcePolicies:
  - https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/ZONE/resourcePolicies/POLICY_NAME
  resourceStatus:
      physical_host: /xxxxxxxx/xxxxxx/xxxxx
  ...
}

La valeur de physical_host est composée de trois champs, qui contiennent des valeurs hachées qui représentent le cluster, le rack de serveurs et la machine hôte où se trouve la VM. Lorsque vous comparez cette valeur à d'autres VM, plus le nombre de champs contenant la même chaîne est élevé, plus les VM sont proches les unes des autres. Par exemple, deux VM appartenant au même projet, au même cluster et s'exécutant sur le même rack, ont la même valeur pour les deux premières parties du champ physicalHost.

Si la VM n'utilise pas de règle de concentration, la valeur de la propriété apparaît dans la sortie comme suit:

resourceStatus: {}

Supprimer une règle d'emplacement

Vous pouvez supprimer une règle d'emplacement dont vous n'avez pas besoin.

gcloud

Supprimez la règle à l'aide de gcloud CLI :

gcloud compute resource-policies delete POLICY_NAME \
    --region REGION \
    --project PROJECT_ID

Remplacez les éléments suivants :

  • POLICY_NAME: nom de la nouvelle règle à supprimer
  • REGION: région dans laquelle vous avez créé les instances de VM qui utilisent cette règle
  • PROJECT_ID : ID de votre projet.

API

Pour créer une règle de répartition, utilisez la méthode resourcePolicies.insert dans les API et services de la console Google Cloud :

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

Dans le corps de la requête, indiquez les détails de la règle d'emplacement :

{
  "name": "POLICY_NAME",
  "groupPlacementPolicy": {
    "availabilityDomainCount": DOMAIN_COUNT
  }
}

Remplacez les éléments suivants :

  • PROJECT_ID : l'ID de votre projet
  • REGION : la région dans laquelle vous prévoyez de créer des instances de VM utilisant cette stratégie
  • POLICY_NAME : le nom de la nouvelle stratégie
  • DOMAIN_COUNT : le nombre d'ensembles distincts de matériel hôte et de réseaux physiques que cette stratégie utilisera pour séparer les instances

Étape suivante