Ce document explique comment réduire la latence réseau entre vos instances de machines virtuelles (VM) en créant et en appliquant des stratégies de concentration. Pour en savoir plus sur les règles d'emplacement, y compris sur les séries de machines compatibles, les restrictions et les tarifs, consultez la section Présentation des règles d'emplacement.
Une stratégie d'emplacement compact spécifie que vos VM doivent être physiquement proches les unes des autres. Cela peut vous aider à améliorer les performances et à réduire la latence réseau entre vos VM lorsque, par exemple, vous exécutez des charges de travail de calcul hautes performances (HPC), de machine learning (ML) ou de serveur de base de données.
Avant de commencer
-
Si ce n'est pas déjà fait, configurez l'authentification.
L'authentification est le processus permettant 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:
Select the tab for how you plan to use the samples on this page:
gcloud
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
-
Administrateur d'instances Compute (v1) (
roles/compute.instanceAdmin.v1
) -
Pour créer une réservation :
Administrateur Compute (
roles/compute.admin
) - Pour créer des stratégies d'emplacement par répartition :
compute.resourcePolicies.create
sur le projet -
Pour appliquer une stratégie d'emplacement par répartition aux VM existantes :
compute.instances.addResourcePolicies
sur le projet -
Pour créer des machines virtuelles :
compute.instances.create
sur le projet- Pour créer la VM à l'aide d'une image personnalisée :
compute.images.useReadOnly
sur l'image - Pour créer la VM à l'aide d'un instantané :
compute.snapshots.useReadOnly
sur l'instantané - Pour créer la VM à l'aide d'un modèle d'instance :
compute.instanceTemplates.useReadOnly
sur le modèle d'instance - Pour attribuer un ancien réseau à la VM :
compute.networks.use
sur le projet - Pour spécifier une adresse IP statique pour la VM :
compute.addresses.use
sur le projet - Pour attribuer une adresse IP externe à la VM, en cas d'utilisation d'un ancien réseau :
compute.networks.useExternalIp
sur le projet - Pour spécifier un sous-réseau pour la VM :
compute.subnetworks.use
sur 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.useExternalIp
sur 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.setMetadata
sur le projet - Pour définir des tags pour la VM :
compute.instances.setTags
sur la VM - Pour définir des libellés pour la VM :
compute.instances.setLabels
sur la VM - Pour définir un compte de service à utiliser avec la VM :
compute.instances.setServiceAccount
sur la VM - Pour créer un disque pour la VM :
compute.disks.create
sur le projet - Pour associer un disque existant en mode lecture seule ou en mode lecture-écriture :
compute.disks.use
sur le disque - Pour associer un disque existant en mode lecture seule :
compute.disks.useReadOnly
sur le disque
-
Pour créer une réservation :
compute.reservations.create
sur le projet -
Pour créer un modèle d'instance :
compute.instanceTemplates.create
sur le projet. -
Pour créer un groupe d'instances géré (MIG) :
compute.instanceGroupManagers.create
sur le projet -
Pour afficher les détails d'une VM :
compute.instances.get
sur le projet Pour appliquer la stratégie d'emplacement compact aux VM N2 ou N2D, créez-la à l'aide de la commande
gcloud compute resource-policies create group-placement
avec l'option--collocation=collocated
.gcloud compute resource-policies create group-placement POLICY_NAME \ --collocation=collocated \ --region=REGION
Remplacez les éléments suivants :
POLICY_NAME
: nom de la stratégie d'emplacement compact.REGION
: région dans laquelle créer la stratégie d'emplacement.
Pour appliquer la stratégie de concentration à d'autres VM compatibles, créez-la à l'aide de la commande
gcloud beta compute resource-policies create group-placement
avec les options--collocation=collocated
et--max-distance
.gcloud beta compute resource-policies create group-placement POLICY_NAME \ --collocation=collocated \ --max-distance=MAX_DISTANCE \ --region=REGION
Remplacez les éléments suivants :
POLICY_NAME
: nom de la stratégie d'emplacement compact.MAX_DISTANCE
: configuration de distance maximale pour vos VM. La valeur doit être comprise entre1
qui spécifie de placer vos VM sur le même rack pour obtenir la latence réseau la plus faible possible, et3
qui place vos VM dans des clusters adjacents. Si vous souhaitez appliquer la stratégie d'emplacement compact à une réservation, vous ne pouvez pas spécifier la valeur1
.REGION
: région dans laquelle créer la stratégie d'emplacement.
Pour appliquer la stratégie d'emplacement compact aux VM N2 ou N2D, créez-la en envoyant une requête
POST
à la méthoderesourcePolicies.insert
. Dans le corps de la requête, incluez le champcollocation
et définissez-le surCOLLOCATED
.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/resourcePolicies { "name": "POLICY_NAME", "groupPlacementPolicy": { "collocation": "COLLOCATED" } }
Remplacez les éléments suivants :
PROJECT_ID
: ID du projet dans lequel vous souhaitez créer la stratégie d'emplacement.REGION
: région dans laquelle créer la stratégie d'emplacement.POLICY_NAME
: nom de la stratégie d'emplacement compact.
Pour appliquer la stratégie d'emplacement compact à d'autres VM compatibles, créez-la en envoyant une requête
POST
à la méthodebeta.resourcePolicies.insert
. Dans le corps de la requête, incluez les éléments suivants :Le champ
collocation
défini surCOLLOCATED
.Le champ
maxDistance
POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/resourcePolicies { "name": "POLICY_NAME", "groupPlacementPolicy": { "collocation": "COLLOCATED", "maxDistance": MAX_DISTANCE } }
Remplacez les éléments suivants :
PROJECT_ID
: ID du projet dans lequel vous souhaitez créer la stratégie d'emplacement.REGION
: région dans laquelle créer la stratégie d'emplacement.POLICY_NAME
: nom de la stratégie d'emplacement compact.MAX_DISTANCE
: configuration de distance maximale pour vos VM. La valeur doit être comprise entre1
qui spécifie de placer vos VM sur le même rack pour obtenir la latence réseau la plus faible possible, et3
qui place vos VM dans des clusters adjacents. Si vous souhaitez appliquer la stratégie d'emplacement compact à une réservation, vous ne pouvez pas spécifier la valeur1
.
- Appliquez la stratégie à une VM existante.
- Appliquez la stratégie lors de la création d'une VM.
- Appliquez la stratégie lors de la création groupée de VM.
- Appliquez la stratégie lors de la création d'une réservation.
- Appliquer la stratégie lors de la création d'un modèle d'instance
- Appliquer la stratégie aux VM d'un MIG
La VM et la stratégie d'emplacement compact doivent se trouver dans la même région. Par exemple, si la règle d'emplacement se trouve dans la région
us-central1
, la VM doit se trouver dans une zone deus-central1
. Si vous devez migrer une VM vers une autre région, consultez la section Déplacer une VM entre plusieurs zones ou régions.La VM doit utiliser une série de machines et une stratégie de maintenance d'hôte compatibles. Si vous devez apporter des modifications à la VM, effectuez l'une des opérations suivantes, ou les deux:
Pour appliquer une stratégie de concentration à une VM existante, exécutez la commande
gcloud compute instances add-resource-policies
.gcloud compute instances add-resource-policies VM_NAME \ --resource-policies=POLICY_NAME \ --zone=ZONE
Remplacez les éléments suivants :
VM_NAME
: nom d'une VM existante.POLICY_NAME
: nom d'une stratégie de concentration existante.ZONE
: zone où se trouve la VM.
Pour appliquer une stratégie de concentration à une VM existante, envoyez une requête
POST
à la méthodeinstances.addResourcePolicies
.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/addResourcePolicies { "resourcePolicies": [ "projects/PROJECT_ID/regions/REGION/resourcePolicies/POLICY_NAME" ] }
Remplacez les éléments suivants :
PROJECT_ID
: ID du projet dans lequel se trouvent la stratégie d'emplacement compact et la VM.ZONE
: zone où se trouve la VM.VM_NAME
: nom d'une VM existante.REGION
: région où se trouve la stratégie d'emplacement compact.POLICY_NAME
: nom d'une stratégie de concentration existante.
VM_NAME
: nom de la VM à créerMACHINE_TYPE
: type de machine compatible pour les stratégies d'emplacement compact.MAINTENANCE_POLICY
: stratégie de maintenance d'hôte de la VM. Si la stratégie d'emplacement compact que vous spécifiez utilise une valeur de distance maximale de1
ou2
, vous ne pouvez spécifier queTERMINATE
. Sinon, vous pouvez spécifierMIGRATE
ouTERMINATE
.POLICY_NAME
: nom d'une stratégie de concentration existante.ZONE
: Zone dans laquelle créer l'instance de VM.PROJECT_ID
: ID du projet dans lequel se trouve la stratégie d'emplacement compact.ZONE
: zone où créer la VM et où se trouve le type de machine. Vous ne pouvez spécifier qu'une zone dans la région de la stratégie d'emplacement compact.VM_NAME
: nom de la VM à créerMACHINE_TYPE
: type de machine compatible pour les stratégies d'emplacement compact.IMAGE_PROJECT
: projet contenant l'image, par exemple,debian-cloud
. Pour en savoir plus sur les projets d'image compatibles, consultez la page Images publiques.IMAGE
: spécifiez l'une des options suivantes :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.
REGION
: région où se trouve la stratégie de concentration.POLICY_NAME
: nom d'une stratégie de concentration existante.MAINTENANCE_POLICY
: stratégie de maintenance d'hôte de la VM. Si la stratégie d'emplacement compact que vous spécifiez utilise une valeur de distance maximale de1
ou2
, vous ne pouvez spécifier queTERMINATE
. Sinon, vous pouvez spécifierMIGRATE
ouTERMINATE
.COUNT
: nombre de VM à créer, qui ne peut pas être supérieur au nombre maximal de VM compatible de la stratégie d'emplacement compact spécifiée.MACHINE_TYPE
: type de machine compatible pour les stratégies d'emplacement compact.MAINTENANCE_POLICY
: stratégie de maintenance d'hôte de la VM. Si la stratégie d'emplacement compact que vous spécifiez utilise une valeur de distance maximale de1
ou2
, vous ne pouvez spécifier queTERMINATE
. Sinon, vous pouvez spécifierMIGRATE
ouTERMINATE
.NAME_PATTERN
: modèle de nom des VM. Pour remplacer une séquence de nombres dans un nom de VM, utilisez une séquence de caractères de hachage (#
). Par exemple, le modèle de nomvm-#
génère des VM portant des noms commençant parvm-1
,vm-2
, etc., jusqu'au nombre de VM spécifié parCOUNT
.POLICY_NAME
: nom d'une stratégie de concentration existante.ZONE
: zone dans laquelle créer les VM de manière groupée.PROJECT_ID
: ID du projet dans lequel se trouve la stratégie d'emplacement compact.ZONE
: zone dans laquelle créer les VM de manière groupée.COUNT
: nombre de VM à créer, qui ne peut pas être supérieur au nombre maximal de VM compatible de la stratégie d'emplacement compact spécifiée.NAME_PATTERN
: modèle de nom des VM. Pour remplacer une séquence de nombres dans un nom de VM, utilisez une séquence de caractères de hachage (#
). Par exemple, le modèle de nomvm-#
génère des VM portant des noms commençant parvm-1
,vm-2
, etc., jusqu'au nombre de VM spécifié parCOUNT
.with names starting with `vm-1`, `vm-2`, and continuing up to the number
des VM spécifiées par
COUNT
.MACHINE_TYPE
: type de machine compatible pour les stratégies d'emplacement compact.IMAGE_PROJECT
: projet contenant l'image, par exemple,debian-cloud
. Pour en savoir plus sur les projets d'image compatibles, consultez la page Images publiques.IMAGE
: spécifiez l'une des options suivantes :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.
REGION
: région où se trouve la stratégie de concentration.POLICY_NAME
: nom d'une stratégie de concentration existante.MAINTENANCE_POLICY
: stratégie de maintenance d'hôte de la VM. Si la stratégie d'emplacement compact que vous spécifiez utilise une valeur de distance maximale de1
ou2
, vous ne pouvez spécifier queTERMINATE
. Sinon, vous pouvez spécifierMIGRATE
ouTERMINATE
.Les VM doivent spécifier la même stratégie d'emplacement compact appliquée à la réservation.
Les VM doivent cibler spécifiquement la réservation pour pouvoir l'utiliser. Pour en savoir plus, consultez la section Consommer des VM d'une réservation spécifique.
Créez la réservation en spécifiant directement les propriétés, comme décrit dans cette section.
Appliquez la stratégie lors de la création d'un modèle d'instance comme décrit dans ce document, puis créez une réservation à projet unique en spécifiant le modèle d'instance que vous venez de créer.
RESERVATION_NAME
: nom de la réservation.MACHINE_TYPE
: type de machine compatible pour les stratégies d'emplacement compact.POLICY_NAME
: nom d'une stratégie de concentration existante.NUMBER_OF_VMS
: nombre de VM à réserver, qui ne peut pas être supérieur au nombre maximal de VM compatible de la stratégie d'emplacement compact spécifiée.ZONE
: zone dans laquelle réserver des VM. Vous ne pouvez réserver des VM que dans une zone située dans la région de la stratégie d'emplacement compact spécifiée.PROJECT_ID
: ID du projet dans lequel se trouve la stratégie d'emplacement compact.ZONE
: zone dans laquelle réserver des VM. Vous ne pouvez réserver des VM que dans une zone située dans la région de la stratégie d'emplacement compact spécifiée.RESERVATION_NAME
: nom de la réservation.REGION
: région où se trouve la stratégie de concentration.POLICY_NAME
: nom d'une stratégie de concentration existante.NUMBER_OF_VMS
: nombre de VM à réserver, qui ne peut pas être supérieur au nombre maximal de VM compatible de la stratégie d'emplacement compact spécifiée.MACHINE_TYPE
: type de machine compatible pour les stratégies d'emplacement compact.INSTANCE_TEMPLATE_NAME
: nom du modèle d'instance.MACHINE_TYPE
: type de machine compatible pour les stratégies d'emplacement compact.MAINTENANCE_POLICY
: stratégie de maintenance d'hôte de la VM. Si la stratégie d'emplacement compact que vous spécifiez utilise une valeur de distance maximale de1
ou2
, vous ne pouvez spécifier queTERMINATE
. Sinon, vous pouvez spécifierMIGRATE
ouTERMINATE
.POLICY_NAME
: nom d'une stratégie de concentration existante.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
.PROJECT_ID
: ID du projet dans lequel se trouve la stratégie d'emplacement compact.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 publiques.IMAGE
: spécifiez l'une des options suivantes :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 compatible pour les stratégies d'emplacement compact.POLICY_NAME
: nom d'une stratégie de concentration existante.MAINTENANCE_POLICY
: stratégie de maintenance d'hôte de la VM. Si la stratégie d'emplacement compact que vous spécifiez utilise une valeur de distance maximale de1
ou2
, vous ne pouvez spécifier queTERMINATE
. Sinon, vous pouvez spécifierMIGRATE
ouTERMINATE
.INSTANCE_GROUP_NAME
: nom du MIG à créer.SIZE
: taille du MIG.INSTANCE_TEMPLATE_NAME
: nom d'un modèle d'instance global existant qui spécifie une stratégie d'emplacement compact.ZONE
: zone dans laquelle créer le MIG, qui doit se trouver dans la région où se trouve la stratégie de concentration.Pour créer un MIG zonal : méthode
instanceGroupManagers.insert
.Pour créer un MIG régional : méthode
regionInstanceGroupManagers.insert
.PROJECT_ID
: ID du projet dans lequel se trouvent la stratégie d'emplacement compact et le modèle d'instance qui spécifie la stratégie d'emplacement.ZONE
: zone dans laquelle créer le MIG, qui doit se trouver dans la région où se trouve la stratégie d'emplacement compact.INSTANCE_GROUP_NAME
: nom du MIG à créer.INSTANCE_TEMPLATE_NAME
: nom d'un modèle d'instance global existant qui spécifie une stratégie d'emplacement compact.SIZE
: taille du MIG.MIG_NAME
: nom d'un MIG existant.INSTANCE_TEMPLATE_NAME
: nom d'un modèle d'instance global existant qui spécifie une stratégie d'emplacement compact.ZONE
: zone où se trouve le MIG. Vous ne pouvez appliquer la stratégie de concentration qu'à un MIG situé dans la même région que la stratégie d'emplacement.Pour mettre à jour un MIG zonal : méthode
instanceGroupManagers.insert
.Pour mettre à jour un MIG régional : méthode
regionInstanceGroupManagers.insert
.PROJECT_ID
: ID du projet dans lequel se trouvent le MIG, la stratégie d'emplacement compact et le modèle d'instance qui spécifie la stratégie d'emplacement.ZONE
: zone où se trouve le MIG. Vous ne pouvez appliquer la stratégie de concentration qu'à un MIG situé dans la même région que la stratégie d'emplacement.MIG_NAME
: nom d'un MIG existant.INSTANCE_TEMPLATE_NAME
: nom d'un modèle d'instance global existant qui spécifie une stratégie d'emplacement compact.Vérifiez que la règle a bien été appliquée.
Identifiez les VM les plus proches les unes des autres.
VM_NAME
: nom d'une VM existante qui spécifie une stratégie d'emplacement compact.ZONE
: zone où se trouve la VM./CCCCCCC/xxxxxx/xxxx
: les deux VM sont placées dans le même cluster, ce qui correspond à une valeur de distance maximale de2
. Les VM placées dans le même cluster subissent une faible latence du réseau./CCCCCCC/BBBBBB/xxxx
: les deux VM sont placées dans le même rack, ce qui correspond à une valeur de distance maximale de1
. Les VM placées dans le même rack présentent une latence réseau inférieure à celle des VM placées dans le même cluster./CCCCCCC/BBBBBB/AAAA
: les deux VM partagent le même hôte. Les VM placées sur le même hôte minimisent autant que possible la latence réseau.PROJECT_ID
: ID du projet dans lequel se trouve la VM.ZONE
: zone où se trouve la VM.VM_NAME
: nom d'une VM existante qui spécifie une stratégie d'emplacement compact./CCCCCCC/xxxxxx/xxxx
: les deux VM sont placées dans le même cluster, ce qui correspond à une valeur de distance maximale de2
. Les VM placées dans le même cluster subissent une faible latence du réseau./CCCCCCC/BBBBBB/xxxx
: les deux VM sont placées dans le même rack, ce qui correspond à une valeur de distance maximale de1
. Les VM placées dans le même rack présentent une latence réseau inférieure à celle des VM placées dans le même cluster./CCCCCCC/BBBBBB/AAAA
: les deux VM partagent le même hôte. Les VM placées sur le même hôte minimisent autant que possible la latence réseau.Découvrez comment afficher les stratégies d'emplacement.
Découvrez comment remplacer, retirer ou supprimer des stratégies d'emplacement.
Découvrez comment effectuer les opérations suivantes avec une VM qui spécifie une stratégie d'emplacement :
REST
Pour utiliser les exemples d'API REST de cette page dans un environnement de développement local, vous devez utiliser les identifiants que vous fournissez à gcloud CLI.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
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 créer et appliquer une stratégie d'emplacement compact aux VM, demandez à votre administrateur de vous accorder les rôles IAM suivants sur votre projet:
Pour en savoir plus sur l'attribution de rôles, consultez la page Gérer l'accès aux projets, aux dossiers et aux organisations.
Ces rôles prédéfinis contiennent les autorisations requises pour créer et appliquer une stratégie d'emplacement compact aux VM. Pour connaître les autorisations exactes requises, développez la section Autorisations requises :
Autorisations requises
Les autorisations suivantes sont requises pour créer et appliquer une stratégie de concentration aux VM :
Vous pouvez également obtenir ces autorisations avec des rôles personnalisés ou d'autres rôles prédéfinis.
Créer une stratégie de concentration
À moins que vous ne souhaitiez appliquer une stratégie d'emplacement compact aux VM N2 ou N2D, Google Cloud vous recommande de spécifier une valeur de distance maximale lors de la création de la stratégie. Pour en savoir plus, consultez la section Fonctionnement des stratégies d'emplacement compact.
Pour créer une stratégie d'emplacement compact, sélectionnez l'une des options suivantes:
gcloud
REST
Appliquer une stratégie d'emplacement compact
Vous pouvez appliquer une stratégie de concentration à une VM ou un MIG existants, ou lorsque vous créez des VM, des modèles d'instance, des MIG ou des réservations de VM.
Pour appliquer une stratégie de placement compact à une ressource Compute Engine, sélectionnez l'une des méthodes suivantes:
Une fois que vous avez appliqué une stratégie d'emplacement compact à une VM, vous pouvez vérifier l'emplacement physique de la VM par rapport aux autres VM qui spécifient la même stratégie d'emplacement.
Appliquer la stratégie à une VM existante
Avant d'appliquer une stratégie de concentration à une VM existante, vérifiez les points suivants :
Sinon, l'application de la stratégie de concentration à la VM échoue. Si la VM spécifie déjà une stratégie d'emplacement et que vous souhaitez la remplacer, consultez plutôt la section Remplacer une stratégie d'emplacement dans une VM.
Pour appliquer une stratégie de concentration à une VM existante, sélectionnez l'une des options suivantes:
gcloud
REST
Appliquer la stratégie lors de la création d'une VM
Vous ne pouvez créer une VM qui spécifie une stratégie d'emplacement compact que dans la même région que la stratégie d'emplacement.
Pour créer une VM qui spécifie une stratégie de concentration, sélectionnez l'une des options suivantes:
gcloud
Pour créer une VM qui spécifie une stratégie de concentration, exécutez la commande
gcloud compute instances create
avec les options--maintenance-policy
et--resource-policies
.gcloud compute instances create VM_NAME \ --machine-type=MACHINE_TYPE \ --maintenance-policy=MAINTENANCE_POLICY \ --resource-policies=POLICY_NAME \ --zone=ZONE
Remplacez les éléments suivants :
REST
Pour créer une VM qui spécifie une stratégie de concentration, envoyez une requête
POST
à la méthodeinstances.insert
. Dans le corps de la requête, incluez les champsonHostMaintenance
etresourcePolicies
.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances { "name": "VM_NAME", "machineType": "zones/ZONE/machineTypes/MACHINE_TYPE", "disks": [ { "boot": true, "initializeParams": { "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE" } } ], "networkInterfaces": [ { "network": "global/networks/default" } ], "resourcePolicies": [ "projects/PROJECT_ID/regions/REGION/resourcePolicies/POLICY_NAME" ], "scheduling": { "onHostMaintenance": "MAINTENANCE_POLICY" } }
Remplacez les éléments suivants :
Pour en savoir plus sur les options de configuration permettant de créer une VM, consultez la section Créer et démarrer une instance de VM.
Appliquer la stratégie lors de la création groupée de VM
Vous ne pouvez créer de manière groupée des VM avec une stratégie d'emplacement compact que dans la même région que la stratégie d'emplacement.
Pour créer de manière groupée des VM qui spécifient une stratégie de concentration, sélectionnez l'une des options suivantes:
gcloud
Pour créer de manière groupée des VM qui spécifient une stratégie de concentration, exécutez la commande
gcloud compute instances bulk create
avec les options--maintenance-policy
et--resource-policies
.Par exemple, pour créer des VM de manière groupée dans une seule zone et spécifier un format de nom pour les VM, exécutez la commande suivante :
gcloud compute instances bulk create \ --count=COUNT \ --machine-type=MACHINE_TYPE \ --maintenance-policy=MAINTENANCE_POLICY \ --name-pattern=NAME_PATTERN \ --resource-policies=POLICY_NAME \ --zone=ZONE
Remplacez les éléments suivants :
REST
Pour créer de manière groupée des VM qui spécifient une stratégie de concentration, envoyez une requête
POST
à la méthodeinstances.bulkInsert
. Dans le corps de la requête, incluez les champsonHostMaintenance
etresourcePolicies
.Par exemple, pour créer des VM de manière groupée dans une seule zone et spécifier un format de nom pour les VM, 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" } ], "resourcePolicies": [ "projects/PROJECT_ID/regions/REGION/resourcePolicies/POLICY_NAME" ], "scheduling": { "onHostMaintenance": "MAINTENANCE_POLICY" } } }
Remplacez les éléments suivants :
Pour en savoir plus sur les options de configuration permettant de créer des VM de manière groupée, consultez la section Créer des VM de manière groupée.
Appliquer la stratégie lors de la création d'une réservation
Si vous souhaitez créer une réservation à la demande pour un seul projet qui spécifie une stratégie d'emplacement compacte, vous devez créer une réservation ciblée. Lorsque vous créez des VM pour utiliser la réservation, vérifiez les points suivants:
Pour créer une réservation pour un projet unique avec une stratégie de placement compact, sélectionnez l'une des méthodes suivantes:
Pour créer une réservation à projet unique avec une stratégie d'emplacement compact en spécifiant directement les propriétés, sélectionnez l'une des options suivantes:
gcloud
Pour créer une réservation à projet unique avec une stratégie d'emplacement compact en spécifiant directement les propriétés, exécutez la commande
gcloud compute reservations create
avec les options--require-specific-reservation
et--resource-policies=policy
.gcloud compute reservations create RESERVATION_NAME \ --machine-type=MACHINE_TYPE \ --require-specific-reservation \ --resource-policies=policy=POLICY_NAME \ --vm-count=NUMBER_OF_VMS \ --zone=ZONE
Remplacez les éléments suivants :
REST
Pour créer une réservation à projet unique avec une stratégie d'emplacement compact en spécifiant directement les propriétés, envoyez une requête
POST
à la méthodereservations.insert
. Dans le corps de la requête, incluez le champresourcePolicies
et le champspecificReservationRequired
défini surtrue
.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/reservations { "name": "RESERVATION_NAME", "resourcePolicies": { "policy" : "projects/PROJECT_ID/regions/REGION/resourcePolicies/POLICY_NAME" }, "specificReservation": { "count": "NUMBER_OF_VMS", "instanceProperties": { "machineType": "MACHINE_TYPE", } }, "specificReservationRequired": true }
Remplacez les éléments suivants :
Pour en savoir plus sur les options de configuration permettant de créer des réservations pour un seul projet, consultez la section Créer une réservation pour un seul projet.
Appliquer la stratégie lors de la création d'un modèle d'instance
Si vous souhaitez créer un modèle d'instance régional, vous devez le créer dans la même région que la stratégie d'emplacement compact. Sinon, la création du modèle d'instance échoue.
Après avoir créé un modèle d'instance qui spécifie une stratégie de concentration, vous pouvez utiliser le modèle pour effectuer les opérations suivantes:
Pour créer un modèle d'instance qui spécifie une stratégie de concentration, sélectionnez l'une des options suivantes:
gcloud
Pour créer un modèle d'instance spécifiant une stratégie de concentration, exécutez la commande
gcloud compute instance-templates create
avec les options--maintenance-policy
et--resource-policies
.Par exemple, pour créer un modèle d'instance global qui spécifie une stratégie d'emplacement compact, exécutez la commande suivante:
gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \ --machine-type=MACHINE_TYPE \ --maintenance-policy=MAINTENANCE_POLICY \ --resource-policies=POLICY_NAME
Remplacez les éléments suivants :
REST
Pour créer un modèle d'instance qui spécifie une stratégie de concentration, envoyez une requête
POST
à l'une des méthodes suivantes:Dans le corps de la requête, incluez les champs
onHostMaintenance
etresourcePolicies
.Par exemple, pour créer un modèle d'instance global qui spécifie une stratégie d'emplacement compact, envoyez une requête
POST
comme suit:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/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" } ], "resourcePolicies": [ "POLICY_NAME" ], "scheduling": { "onHostMaintenance": "MAINTENANCE_POLICY" } } }
Remplacez les éléments suivants :
Pour en savoir plus sur les options de configuration permettant de créer un modèle d'instance, consultez la page Créer des modèles d'instance.
Appliquer la stratégie aux VM d'un MIG
Après avoir créé un modèle d'instance qui spécifie une stratégie de concentration, vous pouvez utiliser le modèle pour effectuer les opérations suivantes :
Appliquer la stratégie lors de la création d'un groupe d'instances de machine virtuelle (MIG)
Vous ne pouvez créer des VM qui spécifient une stratégie d'emplacement de concentration que si elles se trouvent dans la même région que la stratégie d'emplacement.
Pour créer un MIG à l'aide d'un modèle d'instance qui spécifie une stratégie de concentration, sélectionnez l'une des options suivantes:
gcloud
Pour créer un MIG à l'aide d'un modèle d'instance qui spécifie une stratégie de concentration, exécutez la commande
gcloud compute instance-groups managed create
.Par exemple, pour créer un MIG zonal à l'aide d'un modèle d'instance global qui spécifie une stratégie d'emplacement compact, exécutez la commande suivante:
gcloud compute instance-groups managed create INSTANCE_GROUP_NAME \ --size=SIZE \ --template=INSTANCE_TEMPLATE_NAME \ --zone=ZONE
Remplacez les éléments suivants :
REST
Pour créer un MIG à l'aide d'un modèle d'instance qui spécifie une stratégie de concentration, envoyez une requête
POST
à l'une des méthodes suivantes:Par exemple, pour créer un MIG zonal à l'aide d'un modèle d'instance global qui spécifie une stratégie d'emplacement compact, envoyez une requête
POST
comme suit:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers { "name": "INSTANCE_GROUP_NAME", "targetSize": SIZE, "versions": [ { "instanceTemplate": "global/instanceTemplates/INSTANCE_TEMPLATE_NAME" } ] }
Remplacez les éléments suivants :
Pour en savoir plus sur les options de configuration permettant de créer des MIG, consultez la section Scénarios de base pour la création de MIG.
Appliquer la stratégie à un MIG existant
Vous ne pouvez appliquer une stratégie d'emplacement par répartition qu'à un MIG existant s'il se trouve dans la même région que la stratégie d'emplacement ou, pour les MIG zonaux, dans une zone de la même région que la stratégie d'emplacement.
Pour mettre à jour un MIG afin d'utiliser un modèle d'instance qui spécifie une stratégie de concentration, sélectionnez l'une des options suivantes:
gcloud
Pour mettre à jour un MIG afin d'utiliser un modèle d'instance qui spécifie une stratégie de concentration, exécutez la commande
gcloud compute instance-groups managed rolling-action start-update
.Par exemple, pour mettre à jour un MIG zonal afin qu'il utilise un modèle d'instance spécifiant une stratégie de concentration et remplacer les VM existantes du MIG par de nouvelles VM spécifiant les propriétés du modèle, exécutez la commande suivante:
gcloud compute instance-groups managed rolling-action start-update MIG_NAME \ --version=template=INSTANCE_TEMPLATE_NAME \ --zone=ZONE
Remplacez les éléments suivants :
REST
Pour mettre à jour un MIG afin qu'il utilise un modèle d'instance spécifiant une stratégie de concentration et appliquer automatiquement les propriétés du modèle et la stratégie d'emplacement aux VM existantes dans le MIG, envoyez une requête
PATCH
à l'une des méthodes suivantes:Par exemple, pour mettre à jour un MIG zonal afin qu'il utilise un modèle d'instance global spécifiant une stratégie de concentration et remplacer les VM existantes du MIG par de nouvelles VM spécifiant les propriétés du modèle, envoyez la requête
PATCH
suivante:PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/MIG_NAME { "instanceTemplate": "global/instanceTemplates/INSTANCE_TEMPLATE_NAME" }
Remplacez les éléments suivants :
Pour en savoir plus sur les options de configuration permettant de mettre à jour les VM d'un MIG, consultez la section Mettre à jour et appliquer de nouvelles configurations aux VM d'un MIG.
Vérifier l'emplacement physique d'une VM
Après avoir appliqué une stratégie d'emplacement compact à une VM, vous pouvez afficher son emplacement physique par rapport aux autres VM. Cette comparaison est limitée aux VM situées dans votre projet et qui spécifient la même stratégie d'emplacement compact. Afficher l'emplacement physique d'une VM vous permet de:
Pour afficher l'emplacement physique d'une VM par rapport aux autres VM qui spécifient la même stratégie d'emplacement compact, sélectionnez l'une des options suivantes:
gcloud
Pour afficher l'emplacement physique d'une VM qui spécifie une stratégie de concentration, exécutez la commande
gcloud compute instances describe
avec l'option--format
.gcloud compute instances describe VM_NAME \ --format="table[box,title=VM-Position](resourcePolicies.scope():sort=1,resourceStatus.physicalHost:label=location)" \ --zone=ZONE
Remplacez les éléments suivants :
Le résultat ressemble à ce qui suit :
VM-Position RESOURCE_POLICIES: us-central1/resourcePolicies/example-policy'] PHYSICAL_HOST: /CCCCCCC/BBBBBB/AAAA
La valeur du champ
PHYSICAL_HOST
est composée de trois parties. Ces parties représentent chacune le cluster, le rack et l'hôte où se trouve la VM.Lorsque vous comparez la position de deux VM qui utilisent la même stratégie d'emplacement compact dans votre projet, plus les VM partagent un grand nombre de parties de
PHYSICAL_HOST
, plus elles sont physiquement proches l'une de l'autre. Par exemple, supposons que deux VM spécifient l'un des exemples de valeur suivants pour le champPHYSICAL_HOST
:REST
Pour afficher l'emplacement physique d'une VM qui spécifie une stratégie de concentration, envoyez une requête
GET
à la méthodeinstances.get
.GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME
Remplacez les éléments suivants :
Le résultat ressemble à ce qui suit :
{ ... "resourcePolicies": [ "https://www.googleapis.com/compute/v1/projects/example-project/regions/us-central1/resourcePolicies/example-policy" ], "resourceStatus": { "physicalHost": "/xxxxxxxx/xxxxxx/xxxxx" }, ... }
La valeur du champ
physicalHost
est composée de trois parties. Ces parties représentent chacune le cluster, le rack et l'hôte où se trouve la VM.Lorsque vous comparez la position de deux VM qui utilisent la même stratégie d'emplacement compact dans votre projet, plus les VM partagent un grand nombre de parties de
physicalHost
, plus elles sont physiquement proches l'une de l'autre. Par exemple, supposons que deux VM spécifient l'un des exemples de valeur suivants pour le champphysicalHost
:Étape suivante
Sauf indication contraire, le contenu de cette page est régi par une licence Creative Commons Attribution 4.0, et les échantillons de code sont régis par une licence Apache 2.0. Pour en savoir plus, consultez les Règles du site Google Developers. Java est une marque déposée d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2024/12/22 (UTC).
-