Ce document explique comment améliorer la fiabilité de vos instances de machine virtuelle (VM) en créant et en appliquant des stratégies d'emplacement par répartition. Pour en savoir plus sur les stratégies d'emplacement, y compris leurs restrictions et leurs tarifs, consultez Présentation des stratégies d'emplacement.
Une stratégie d'emplacement par répartition spécifie que vos instances doivent être réparties sur différents domaines de disponibilité. Cette distribution permet d'atténuer les perturbations spécifiques à un emplacement, telles que les erreurs matérielles. Elle est utile lorsque vous exécutez des charges de travail distribuées, répliquées et à grande échelle, telles que Hadoop Distributed File System (HDFS), Cassandra ou Kafka.
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 Google Cloud et aux API, 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 créer et appliquer une stratégie d'emplacement par répartition aux instances, 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 créer et appliquer une stratégie d'emplacement par répartition aux instances. 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 d'emplacement par répartition aux instances :
-
Pour créer des stratégies d'emplacement :
compute.resourcePolicies.createsur le projet -
Pour appliquer une règle d'emplacement à des instances existantes :
compute.instances.addResourcePoliciessur le projet -
Pour créer des instances :
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 créer un modèle d'instance :
compute.instanceTemplates.createsur le projet -
Pour créer un groupe d'instances géré (MIG) :
compute.instanceGroupManagers.createsur le projet
Vous pouvez également obtenir ces autorisations avec des rôles personnalisés ou d'autres rôles prédéfinis.
Créer une règle d'emplacement
À moins que vous ne souhaitiez tester l'application de la stratégie d'emplacement par répartition à vos instances, Google Cloud vous recommande de créer des stratégies d'emplacement par répartition avec deux domaines de disponibilité ou plus. Cela réduit le risque que toutes les instances soient affectées par une même erreur matérielle. Pour en savoir plus, consultez À propos des stratégies d'emplacement par répartition.
Pour créer une stratégie d'emplacements par répartition, sélectionnez l'une des options suivantes :
gcloud
Pour créer une stratégie d'emplacement par répartition, utilisez la commande gcloud compute resource-policies create group-placement avec l'option --availability-domain-count.
gcloud compute resource-policies create group-placement POLICY_NAME \
--availability-domain-count=DOMAIN_COUNT \
--region=REGION
Remplacez les éléments suivants :
POLICY_NAME: nom de la stratégie d'emplacement par répartition.DOMAIN_COUNT: nombre distinct de domaines de disponibilité dans lesquels placer vos instances. La valeur doit être comprise entre1et8.REGION: région dans laquelle créer la stratégie d'emplacement.
REST
Pour créer une stratégie de répartition, envoyez une requête POST à la méthode resourcePolicies.insert.
Dans le corps de la requête, incluez le champ availabilityDomainCount.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/resourcePolicies
{
"name": "POLICY_NAME",
"groupPlacementPolicy": {
"availabilityDomainCount": DOMAIN_COUNT
}
}
Remplacez les éléments suivants :
PROJECT_ID: ID du projet dans lequel 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 par répartition.DOMAIN_COUNT: nombre distinct de domaines de disponibilité dans lesquels placer vos instances. La valeur doit être comprise entre1et8.
Appliquer une stratégie d'emplacement par répartition
Vous pouvez appliquer une stratégie d'emplacement par répartition à une VM ou un MIG existants, ou lorsque vous créez des instances, des modèles d'instance ou des MIG.
Pour appliquer une stratégie d'emplacement par répartition à une ressource Compute Engine, sélectionnez l'une des méthodes suivantes :
- Appliquez la stratégie à une VM existante.
- Appliquez la stratégie lors de la création d'une VM.
- Appliquer la stratégie lors de la création groupée de VM
- Appliquer la stratégie lors de la création d'un modèle d'instance
Après avoir appliqué une stratégie d'emplacement par répartition à une VM, vous pouvez vérifier le domaine de disponibilité dans lequel elle se trouve en affichant les détails de la VM et en vérifiant la valeur du champ availabilityDomain.
Appliquer la stratégie à une VM existante
Avant d'appliquer une stratégie d'emplacement par répartition à une VM existante, tenez compte des points suivants :
Si votre règle d'emplacement par répartition spécifie plusieurs domaines de disponibilité, vous pouvez l'appliquer à une VM sans l'arrêter. Toutefois, il peut être nécessaire de déplacer la VM vers un autre domaine de disponibilité. Au cours de ce processus, Compute Engine arrête ou migre à chaud la VM en fonction de sa stratégie de maintenance de l'hôte.
La VM et la stratégie d'emplacement par répartition 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 Déplacer une VM entre des zones ou des régions.
Si vous souhaitez spécifier le domaine de disponibilité dans lequel placer votre VM, appliquez la règle d'emplacement à la VM en mettant à jour ses propriétés.
Lorsque vous mettez à jour les propriétés de la VM, veillez à inclure les champs resourcePolicies et scheduling.availabilityDomain.
Pour appliquer une stratégie d'emplacement par répartition à une VM existante, sélectionnez l'une des options suivantes :
gcloud
Pour appliquer une stratégie d'emplacement par répartition à 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 répartition.ZONE: zone où se trouve la VM.
REST
Pour appliquer une stratégie de répartition à une VM existante, envoyez une requête POST à la méthode instances.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 de répartition 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 par répartition.POLICY_NAME: nom d'une stratégie de répartition.
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 par répartition que dans la même région que la stratégie d'emplacement.
Pour créer une VM qui spécifie une stratégie d'emplacement par répartition, sélectionnez l'une des options suivantes :
gcloud
Pour créer une VM qui spécifie une stratégie d'emplacement par répartition, exécutez la commande gcloud compute instances create avec l'option --resource-policies.
gcloud compute instances create VM_NAME \
--machine-type=MACHINE_TYPE \
--resource-policies=POLICY_NAME \
--zone=ZONE
Remplacez les éléments suivants :
VM_NAME: nom de la VM à créerMACHINE_TYPE: type de machine pour la VM.POLICY_NAME: nom d'une stratégie de répartition.ZONE: Zone dans laquelle créer l'instance de VM.
Si vous le souhaitez, vous pouvez inclure l'option --availability-domain pour spécifier le domaine de disponibilité dans lequel créer la VM.
gcloud compute instances create VM_NAME \
--availability-domain=DOMAIN_NUMBER \
--machine-type=MACHINE_TYPE \
--resource-policies=POLICY_NAME \
--zone=ZONE
Remplacez DOMAIN_NUMBER par le numéro du domaine de disponibilité dans lequel placer votre VM. La valeur doit être comprise entre 1 et le nombre de domaines spécifiés dans la stratégie d'emplacement par répartition. Pour vérifier le nombre de domaines dans une stratégie d'emplacement par répartition, affichez les détails de la stratégie d'emplacement.
REST
Pour créer une VM qui spécifie une stratégie de répartition, envoyez une requête POST à la méthode instances.insert.
Dans le corps de la requête, incluez le champ resourcePolicies.
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"
]
}
Remplacez les éléments suivants :
PROJECT_ID: ID du projet dans lequel se trouve la stratégie de répartition.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 par répartition.VM_NAME: nom de la VM à créerMACHINE_TYPE: type de machine pour la VM.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 :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.
REGION: région où se trouve la stratégie d'emplacement par répartition.POLICY_NAME: nom d'une stratégie de répartition.
Si vous le souhaitez, pour spécifier le domaine de disponibilité dans lequel créer la VM, incluez le champ availabilityDomain dans le corps de la requête.
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": {
"availabilityDomain": DOMAIN_NUMBER
}
}
Remplacez DOMAIN_NUMBER par le numéro du domaine de disponibilité dans lequel placer votre VM. La valeur doit être comprise entre 1 et le nombre de domaines spécifiés dans la stratégie d'emplacement par répartition. Pour vérifier le nombre de domaines dans une stratégie d'emplacement par répartition, affichez les détails de la stratégie d'emplacement.
Pour en savoir plus sur les options de configuration permettant de créer une VM, consultez Créer et démarrer une instance de VM.
Appliquer la stratégie lors de la création d'instances de manière groupée
Avant de créer des instances de manière groupée qui spécifient une stratégie d'emplacement par répartition, vérifiez les points suivants :
Vous ne pouvez créer de manière groupée des instances qui spécifient une stratégie d'emplacement par répartition que dans la même région que la stratégie d'emplacement.
Lorsque vous créez des instances de manière groupée avec une stratégie d'emplacement par répartition, vous pouvez éventuellement spécifier le domaine de disponibilité dans lequel créer vos instances. Évitez de créer toutes vos instances dans un seul domaine. Sinon, vous ne réduisez pas le risque qu'une seule erreur matérielle affecte toutes vos instances.
Pour créer de manière groupée des instances qui spécifient une stratégie d'emplacement par répartition, sélectionnez l'une des options suivantes :
gcloud
Pour créer de manière groupée des instances qui spécifient une stratégie d'emplacement par répartition, exécutez la commande gcloud compute instances bulk create avec l'option --resource-policies.
Par exemple, pour créer des instances de manière groupée dans une seule zone et spécifier un format de nom pour les instances, exécutez la commande suivante :
gcloud compute instances bulk create \
--count=COUNT \
--machine-type=MACHINE_TYPE \
--name-pattern=NAME_PATTERN \
--resource-policies=POLICY_NAME \
--zone=ZONE
Remplacez les éléments suivants :
COUNT: nombre d'instances à créer.MACHINE_TYPE: type de machine pour les instances.NAME_PATTERN: format de nom pour les instances. Pour remplacer une séquence de nombres dans un nom de VM, utilisez une séquence de caractères dièse (#). Par exemple, le format de nomvm-#génère des instances portant les nomsvm-1,vm-2, etc., jusqu'à ce qu'il atteigne le nombre d'instances spécifié parCOUNT.POLICY_NAME: nom d'une stratégie de répartition.ZONE: zone dans laquelle créer les instances de manière groupée.
Si vous le souhaitez, vous pouvez inclure l'option --availability-domain pour spécifier le domaine de disponibilité dans lequel créer les instances de manière groupée.
gcloud compute instances bulk create \
--availability-domain=DOMAIN_NUMBER \
--count=COUNT \
--machine-type=MACHINE_TYPE \
--name-pattern=NAME_PATTERN \
--resource-policies=POLICY_NAME \
--zone=ZONE
Remplacez DOMAIN_NUMBER par le numéro du domaine de disponibilité dans lequel placer votre VM. La valeur doit être comprise entre 1 et le nombre de domaines spécifiés dans la stratégie d'emplacement par répartition. Pour vérifier le nombre de domaines dans une stratégie d'emplacement par répartition, affichez les détails de la stratégie d'emplacement.
REST
Pour créer de manière groupée des instances qui spécifient une stratégie d'emplacement par répartition, envoyez une requête POST à la méthode instances.bulkInsert.
Dans le corps de la requête, incluez le champ resourcePolicies.
Par exemple, pour créer des instances de manière groupée dans une seule zone et spécifier un format de nom pour les instances, 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": [
"POLICY_NAME"
]
}
}
Remplacez les éléments suivants :
PROJECT_ID: ID du projet dans lequel se trouve la stratégie de répartition.ZONE: zone dans laquelle créer les instances de manière groupée.COUNT: nombre d'instances à créer.NAME_PATTERN: format de nom pour les instances. Pour remplacer une séquence de nombres dans un nom de VM, utilisez une séquence de caractères dièse (#). Par exemple, le format de nomvm-#génère des instances portant les nomsvm-1,vm-2, etc., jusqu'à ce qu'il atteigne le nombre d'instances spécifié parCOUNT.MACHINE_TYPE: type de machine pour les instances.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 :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.
POLICY_NAME: nom d'une stratégie de répartition.
Si vous le souhaitez, vous pouvez spécifier le domaine de disponibilité dans lequel créer les instances de manière groupée en incluant le champ availabilityDomain dans le corps de la requête.
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": [
"POLICY_NAME"
],
"scheduling": {
"availabilityDomain": DOMAIN_NUMBER
}
}
}
Remplacez DOMAIN_NUMBER par le numéro du domaine de disponibilité dans lequel placer votre VM. La valeur doit être comprise entre 1 et le nombre de domaines spécifiés dans la stratégie d'emplacement par répartition. Pour vérifier le nombre de domaines dans une stratégie d'emplacement par répartition, affichez les détails de la stratégie d'emplacement.
Pour en savoir plus sur les options de configuration permettant de créer des instances de manière groupée, consultez Créer des instances de manière groupée.
Appliquer la stratégie lors de la création d'un modèle d'instance
Avant de créer un modèle d'instance qui spécifie une stratégie d'emplacement par répartition, tenez compte des points suivants :
Si vous souhaitez créer un modèle d'instance régional, le modèle et la stratégie d'emplacement par répartition doivent se trouver dans la même région. Sinon, la création du modèle d'instance échoue.
Évitez de créer toutes les instances dans un seul domaine de disponibilité. Sinon, vous n'atténuez pas le risque qu'une seule erreur matérielle affecte toutes vos instances.
Après avoir créé un modèle d'instance qui spécifie une stratégie d'emplacement par répartition, vous pouvez utiliser le modèle pour effectuer les opérations suivantes :
Pour créer un modèle d'instance régional et une stratégie d'emplacement par répartition avec huit domaines de disponibilité, utilisez la console Google Cloud . Pour créer un modèle d'instance global ou régional et spécifier une stratégie d'emplacement par répartition existante, utilisez la gcloud CLI ou l'API REST :
Console
Dans la console Google Cloud , accédez à la page Modèles d'instances.
Cliquez sur Créer un modèle d'instance. La page Créer un modèle d'instance s'affiche.
Dans le champ Région, spécifiez la région dans laquelle vous souhaitez créer la stratégie d'emplacement par répartition et le modèle d'instance.
Dans la section Configuration de la machine, spécifiez une série et un type de machine.
Dans la section Règle de placement, dans la liste Règle de placement, sélectionnez Répartir.
Cliquez sur Créer.
gcloud
Pour créer un modèle d'instance spécifiant une stratégie d'emplacement par répartition, exécutez la commande gcloud compute instance-templates create avec l'option --resource-policies.
Par exemple, pour créer un modèle d'instance global qui spécifie une stratégie d'emplacement par répartition, exécutez la commande suivante :
gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
--machine-type=MACHINE_TYPE \
--resource-policies=POLICY_NAME
Remplacez les éléments suivants :
INSTANCE_TEMPLATE_NAME: nom du modèle d'instance.MACHINE_TYPE: type de machine des instances créées à l'aide du modèle d'instance.POLICY_NAME: nom d'une stratégie de répartition.
Vous pouvez également inclure l'option --availability-domain pour spécifier le domaine de disponibilité dans lequel créer les instances.
gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
--availability-domain=DOMAIN_NUMBER \
--machine-type=MACHINE_TYPE \
--resource-policies=POLICY_NAME
Remplacez DOMAIN_NUMBER par le numéro du domaine de disponibilité dans lequel vous souhaitez créer vos instances. La valeur doit être comprise entre 1 et le nombre de domaines spécifiés dans la stratégie d'emplacement. Pour vérifier le nombre de domaines dans une stratégie d'emplacement par répartition, affichez les détails de la stratégie d'emplacement.
REST
Pour créer un modèle d'instance qui spécifie une stratégie d'emplacement par répartition, envoyez une requête POST à l'une des méthodes suivantes :
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.
Dans le corps de la requête, spécifiez le champ resourcePolicies.
Par exemple, pour créer un modèle d'instance global qui spécifie une stratégie d'emplacement par répartition, 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"
]
}
}
Remplacez les éléments suivants :
PROJECT_ID: ID du projet dans lequel se trouve la stratégie de répartition.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 :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 des instances créées à l'aide du modèle d'instance.POLICY_NAME: nom d'une stratégie de répartition.
Si vous le souhaitez, vous pouvez inclure le champ availabilityDomain dans le corps de la requête pour spécifier le domaine de disponibilité dans lequel créer les instances.
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": {
"availabilityDomain": DOMAIN_NUMBER
}
}
}
Remplacez DOMAIN_NUMBER par le numéro du domaine de disponibilité dans lequel vous souhaitez créer vos instances. La valeur doit être comprise entre 1 et le nombre de domaines spécifiés dans la stratégie d'emplacement. Pour vérifier le nombre de domaines dans une stratégie d'emplacement par répartition, affichez les détails de la stratégie d'emplacement.
Pour en savoir plus sur les options de configuration permettant de créer un modèle d'instance, consultez Créer des modèles d'instance.
Étape suivante
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 :
Découvrez le processus de migration à chaud lors des événements de maintenance.