Ce document explique comment spécifier la flexibilité des instances lorsque vous créez des machines virtuelles (VM) de manière groupée. Lorsque vous effectuez cette spécification, vous indiquez une liste de types de machines adaptés aux VM. Compute Engine provisionne les VM en utilisant l'un des types de machines spécifiés en fonction de la capacité et de la disponibilité des quotas dans une région.
Pour en savoir plus sur la flexibilité des instances pour les VM créées de manière groupée, consultez À propos de la flexibilité des instances pour les VM créées de manière groupée.
Avant de commencer
- Assurez-vous de disposer d'un quota suffisant et des autorisations requises pour les VM et les ressources associées que vous prévoyez de créer.
-
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 :
Select the tab for how you plan to use the samples on this page:
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.
- Set a default region and zone.
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. 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.
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 à la création de VM de manière groupée, demandez à votre administrateur de vous attribuer le rôle IAM Administrateur d'instances Compute (v1) (
roles/compute.instanceAdmin.v1) sur le 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 des VM de manière groupée. Pour connaître les autorisations exactes requises, développez la section Autorisations requises :
Autorisations requises
Les autorisations suivantes sont requises pour créer des VM de manière groupée :
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 spécifier un sous-réseau pour la VM :
compute.subnetworks.usesur le projet ou sur le sous-réseau choisi -
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 réseau VPC :
compute.subnetworks.useExternalIpsur le projet ou sur le sous-réseau choisi -
Pour attribuer un ancien réseau à la VM :
compute.networks.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 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
Vous pouvez également obtenir ces autorisations avec des rôles personnalisés ou d'autres rôles prédéfinis.
Créer des VM avec plusieurs types de machines de préférence égale
Si votre charge de travail peut fonctionner sur plusieurs types de machines différents, vous pouvez spécifier une liste de tous les types de machines compatibles dans une seule sélection d'instance. Les exemples suivants montrent comment spécifier plusieurs types de machines de préférence égale.
gcloud
Pour créer des VM de manière groupée avec une sélection d'instance unique, utilisez la commande
gcloud compute instances bulk createavec l'option--instance-selection-machine-types.gcloud compute instances bulk create \ --name-pattern=test-bulk-# \ --region=REGION \ --count=COUNT \ --instance-selection-machine-types=c3-standard-8,n2-standard-8,c2-standard-8REST
Dans l'API Compute Engine, envoyez une requête
POSTà la méthoderegionInstances.bulkInsert. Dans le corps de la requête, incluezinstanceFlexibilityPolicyavec une entréeinstanceSelectionsqui liste les types de machines.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instances/bulkInsert { "count": COUNT, "namePattern": "test-bulk-#", "instanceFlexibilityPolicy": { "instanceSelections": { "selection-1": { "machineTypes": [ "c3-standard-8", "n2-standard-8", "c2-standard-8" ] } } } }Remplacez les éléments suivants :
COUNT: nombre de VM à créer.PROJECT_ID: ID de votre projet.REGION: région dans laquelle créer les VM.
Créer des VM avec plusieurs types de machines classés par préférence
Si vous souhaitez que Compute Engine choisisse les types de machines dans un ordre spécifique, vous pouvez configurer plusieurs sélections d'instances. Chaque sélection d'instance inclut une liste de types de machines et un classement, qui est un entier définissant la préférence pour les types de machines. Un classement plus bas indique une préférence plus élevée. Compute Engine tente de créer des VM à l'aide de types de machines ayant une préférence plus élevée (classement inférieur). Si ces types de machines ne sont pas disponibles, Compute Engine utilise des types de machines avec une préférence inférieure (rang supérieur).
Les exemples suivants montrent comment spécifier plusieurs sélections d'instances avec des rangs.
gcloud
Pour créer des VM de manière groupée avec plusieurs sélections d'instances, utilisez la commande
gcloud compute instances bulk createet spécifiez l'option--instance-selectionplusieurs fois.gcloud beta compute instances bulk create \ --name-pattern=test-bulk-# \ --region=REGION \ --count=COUNT \ --instance-selection "name=most-preferred,rank=0,machine-type=c3-standard-16,machine-type=n2-standard-16, machine-type=c2-standard-16" \ --instance-selection "name=least-preferred,rank=1,machine-type=c3-standard-8,machine-type=n2-standard-8, machine-type=c2-standard-8"REST
Dans l'API Compute Engine, envoyez une requête
POSTà la méthoderegionInstances.bulkInsert. Dans le corps de la requête, incluezinstanceFlexibilityPolicyet spécifiez plusieurs entrées dansinstanceSelections, chacune avec une liste de types de machines et unrank.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instances/bulkInsert { "count": COUNT, "namePattern": "test-bulk-#", "instanceFlexibilityPolicy": { "instanceSelections": { "most-preferred": { "machineTypes": [ "c3-standard-16", "c2-standard-16" ], "rank": 1 }, "least-preferred": { "machineTypes": [ "n2-standard-16", "c3-standard-8", "n2-standard-8", "c2-standard-8" ], "rank": 2 } } } }Remplacez les éléments suivants :
COUNT: nombre de VM à créer.PROJECT_ID: ID de votre projet.REGION: région dans laquelle créer les VM.
Spécifier des remplacements de disque dans les sélections d'instances
Par défaut, les VM créées par une requête groupée utilisent la configuration de disque de
instanceProperties. Toutefois, vous pouvez spécifier des configurations de disque dans une sélection d'instances. Si vous spécifiez des disques dans une sélection d'instances, cette configuration de disque remplace celle deinstancePropertiespour les VM qui utilisent cette sélection d'instances.L'exemple suivant montre comment spécifier des disques dans les sélections d'instances.
REST
Dans l'API Compute Engine, envoyez une requête
POSTà la méthoderegionInstances.bulkInsert. Dans le corps de la requête, incluezinstanceFlexibilityPolicyet, pour toute entréeinstanceSelections, incluez le champdiskspour remplacerinstanceProperties.disks.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instances/bulkInsert { "count": COUNT, "namePattern": "test-bulk-#", "instanceFlexibilityPolicy": { "instanceSelections": { "selection-1": { "machineTypes": [ "n2-standard-8", "c2-standard-8" ], "disks": [ { "type": "PERSISTENT", "initializeParams": { "diskType": "pd-ssd", "diskSizeGb": 50, "sourceImage": "IMAGE_URL" }, "boot": true }, { "type": "SCRATCH", "initializeParams": { "diskType": "local-ssd" } } ] }, "selection-2": { "machineTypes": [ "c3-standard-8" ], "disks": [ { "type": "PERSISTENT", "initializeParams": { "diskType": "hyperdisk-balanced", "diskSizeGb": 50, "sourceImage": "IMAGE_URL" }, "boot": true }, { "type": "PERSISTENT", "initializeParams": { "diskType": "hyperdisk-balanced", "diskSizeGb": 128, "sourceImage": "IMAGE_URL" } } ] } } } }Remplacez les éléments suivants :
COUNT: nombre de VM à créer.IMAGE_URL: URL de l'image du disque de démarrage.PROJECT_ID: ID de votre projet.REGION: région dans laquelle créer les VM.
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 2026/02/11 (UTC).
[[["Facile à comprendre","easyToUnderstand","thumb-up"],["J'ai pu résoudre mon problème","solvedMyProblem","thumb-up"],["Autre","otherUp","thumb-up"]],[["Difficile à comprendre","hardToUnderstand","thumb-down"],["Informations ou exemple de code incorrects","incorrectInformationOrSampleCode","thumb-down"],["Il n'y a pas l'information/les exemples dont j'ai besoin","missingTheInformationSamplesINeed","thumb-down"],["Problème de traduction","translationIssue","thumb-down"],["Autre","otherDown","thumb-down"]],["Dernière mise à jour le 2026/02/11 (UTC)."],[],[]] -