Ce document explique comment créer une instance de machine virtuelle (VM) à démarrage flexible. Les VM à démarrage flexible s'exécutent pendant sept jours maximum et vous aident à acquérir des ressources très demandées, comme des GPU, à un prix réduit. Ces fonctionnalités font des VM à démarrage flexible une solution économique pour exécuter des charges de travail de courte durée, telles que l'affinage de modèles et l'inférence par lot.
Pour en savoir plus sur les principales caractéristiques des VM à démarrage flexible, y compris les exigences et les limites que vous appliquez lorsque vous les créez, consultez À propos des VM à démarrage flexible.
Avant de commencer
-
En fonction du type de machine que vous souhaitez utiliser, consultez l'une des exigences de configuration suivantes :
- Pour un type de machine optimisé pour les accélérateurs (sauf A4X ou G4), consultez Présentation de la création d'une instance avec des GPU associés.
- Pour un type de machine H4D, consultez Créer une instance qui utilise Cloud RDMA.
-
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 l'installation terminée, initialisez la Google Cloud CLI en exécutant la commande suivante :
gcloud init
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.
- 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 l'installation terminée, initialisez la Google Cloud CLI en exécutant la commande suivante :
gcloud init
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 à la création de VM à démarrage flexible, 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 la page 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 à démarrage flexible. 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 à démarrage flexible :
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 spécifier un sous-réseau pour la VM :
compute.subnetworks.use
sur le projet ou sur le sous-réseau choisi -
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 réseau VPC :
compute.subnetworks.useExternalIp
sur le projet ou sur le sous-réseau choisi -
Pour attribuer un ancien réseau à la VM :
compute.networks.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 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
Vous pouvez également obtenir ces autorisations avec des rôles personnalisés ou d'autres rôles prédéfinis.
Créer une VM à démarrage flexible
Pour créer une VM à démarrage flexible, sélectionnez l'une des options suivantes :
gcloud
Pour créer une VM à démarrage flexible, utilisez la commande
gcloud compute instances create
avec les indicateurs suivants :L'option
--request-valid-for-duration
L'option
--provisioning-model=FLEX_START
L'option
--instance-termination-action
L'option
--max-run-duration
L'option
--maintenance-policy=TERMINATE
L'option
--reservation-affinity=none
Pour créer une VM à démarrage flexible, exécutez la commande suivante :
gcloud compute instances create VM_NAME \ --machine-type=MACHINE_TYPE \ --zone=ZONE \ --request-valid-for-duration=VALID_FOR_DURATION \ --provisioning-model=FLEX_START \ --instance-termination-action=TERMINATION_ACTION \ --max-run-duration=RUN_DURATION \ --maintenance-policy=TERMINATE \ --reservation-affinity=none
Remplacez les éléments suivants :
VM_NAME
: nom de votre nouvelle VM.MACHINE_TYPE
: type de machine à utiliser pour la VM à démarrage flexible. Si vous spécifiez un type de machine G2 ou N1, tenez compte des points suivants :Pour les types de machines G2, vous pouvez éventuellement spécifier un poste de travail virtuel (vWS) NVIDIA RTX à utiliser pour les charges de travail graphiques lourdes. Pour ce faire, incluez l'indicateur
--accelerator
dans la commande comme suit :--accelerator=count=VWS_ACCELERATOR_COUNT,type=nvidia-l4-vws
Remplacez
VWS_ACCELERATOR_COUNT
par le nombre de NVIDIA RTX vWS dont votre charge de travail a besoin.Pour les types de machines N1, vous devez spécifier le nombre et le type de GPU à associer à votre VM. Sinon, la création de la VM échouera. Pour associer des GPU à une VM N1, incluez l'option
--accelerator
dans la commande comme suit :--accelerator=count=NUMBER_OF_ACCELERATORS,type=ACCELERATOR_TYPE
Remplacez les éléments suivants :
NUMBER_OF_ACCELERATORS
: nombre de GPU à associer à votre VM N1.ACCELERATOR_TYPE
: modèle de GPU compatible avec les VM N1.
ZONE
: zone dans laquelle vous souhaitez créer la VM. Pour vérifier que le type de machine que vous avez spécifié est disponible dans la zone où vous souhaitez créer la VM, consultez Régions et zones disponibles.VALID_FOR_DURATION
: durée maximale d'attente pour le provisionnement des ressources demandées, au format nombre suivi d'une unité (s
,m
,h
oud
). Par exemple, une valeur de30m
définit une durée de 30 minutes, et une valeur de1h2m3s
définit une durée d'une heure, deux minutes et trois secondes. En fonction des exigences zonales de votre charge de travail, nous vous recommandons de spécifier l'une des durées suivantes pour augmenter vos chances de réussite de la demande de création de VM :Si votre charge de travail vous oblige à créer la VM dans une zone spécifique, spécifiez une durée comprise entre 90 secondes (
90s
) et deux heures (2h
). Plus la durée est longue, plus vous avez de chances d'obtenir des ressources.Si la VM peut s'exécuter dans n'importe quelle zone de la région, spécifiez une durée de zéro seconde (
0s
). Cette valeur indique que Compute Engine n'alloue des ressources que si elles sont immédiatement disponibles. Si la requête de création échoue en raison de l'indisponibilité des ressources, réessayez dans une autre zone.
TERMINATION_ACTION
: indique s'il faut arrêter ou supprimer la VM à la fin de sa durée d'exécution. Spécifiez l'une des valeurs suivantes :Pour arrêter la VM :
STOP
Pour supprimer la VM :
DELETE
RUN_DURATION
: durée maximale pendant laquelle la VM s'exécute avant que Compute Engine ne la supprime. Elle doit être exprimée sous la forme d'un nombre suivi d'une unité (s
,m
,h
oud
). La valeur doit être comprise entre 10 minutes et sept jours.
REST
Pour créer une VM à démarrage flexible, envoyez une requête
POST
à la méthodeinstances.insert
. Dans le corps de la requête, incluez les champs suivants :Le champ
params.requestValidForDuration
Le champ
scheduling.provisioningModel
défini surFLEX_START
.Le champ
scheduling.instanceTerminationAction
Le champ
scheduling.maxRunDuration
Le champ
scheduling.onHostMaintenance
défini surTERMINATE
.La valeur
reservationAffinity.consumeReservationType
est définie surNO_RESERVATION
.
Pour créer une VM à démarrage flexible, envoyez une requête
POST
comme suit :POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances { "name": "VM_NAME", "machineType": "zones/ZONE/machineTypes/MACHINE_TYPE", "disks": [ { "initializeParams": { "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE" }, "boot": true } ], "networkInterfaces": [ { "network": "global/networks/default" } ], "params": { "requestValidForDuration": { "seconds": VALID_FOR_DURATION } }, "scheduling": { "provisioningModel": "FLEX_START", "instanceTerminationAction": "TERMINATION_ACTION", "maxRunDuration": { "seconds": RUN_DURATION }, "onHostMaintenance": "TERMINATE" }, "reservationAffinity": { "consumeReservationType": "NO_RESERVATION" } }
Remplacez les éléments suivants :
PROJECT_ID
: ID du projet dans lequel créer la VM.ZONE
: zone dans laquelle vous souhaitez créer la VM. Pour vérifier qu'un type de machine est disponible dans la zone où vous souhaitez créer la VM, consultez Régions et zones disponibles.VM_NAME
: nom de votre nouvelle VM.MACHINE_TYPE
: type de machine à utiliser pour la VM à démarrage flexible. Si vous spécifiez un type de machine G2 ou N1, tenez compte des points suivants :Pour les types de machines G2, vous pouvez éventuellement spécifier un poste de travail virtuel (vWS) NVIDIA RTX à utiliser pour les charges de travail graphiques lourdes. Pour ce faire, incluez le champ
guestAccelerators
dans le corps de la requête comme suit :"guestAccelerators": [ { "acceleratorCount": VWS_ACCELERATOR_COUNT, "acceleratorType": "projects/PROJECT_ID/zones/ZONE/acceleratorTypes/nvidia-l4-vws" } ]
Remplacez
VWS_ACCELERATOR_COUNT
par le nombre de NVIDIA RTX vWS dont votre charge de travail a besoin.Pour les types de machines N1, vous devez spécifier le nombre et le type de GPU à associer à votre VM. Sinon, la création de la VM échouera. Pour associer des GPU à une VM N1, incluez le champ
guestAccelerators
dans le corps de la requête comme suit :"guestAccelerators": [ { "acceleratorCount": ACCELERATOR_COUNT, "acceleratorType": "projects/PROJECT_ID/zones/ZONE/acceleratorTypes/ACCELERATOR_TYPE" } ]
Remplacez les éléments suivants :
NUMBER_OF_ACCELERATORS
: nombre de GPU à associer à votre VM N1.ACCELERATOR_TYPE
: modèle de GPU compatible avec les VM N1.
IMAGE_PROJECT
: projet d'image 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
. Cette valeur spécifie d'utiliser l'image d'OS la plus récente et non obsolète. 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 Bonnes pratiques concernant les familles d'images.
VALID_FOR_DURATION
: durée maximale en secondes pendant laquelle attendre le provisionnement de la VM. En fonction des exigences zonales de votre charge de travail, nous vous recommandons de spécifier l'une des durées suivantes pour augmenter vos chances de réussite de la demande de création de VM :Si votre charge de travail vous oblige à créer la VM dans une zone spécifique, spécifiez une durée comprise entre 90 secondes (
90
) et deux heures (7200
). Plus la durée est longue, plus vous avez de chances d'obtenir des ressources.Si la VM peut s'exécuter dans n'importe quelle zone de la région, spécifiez une durée de zéro seconde (
0
). Cette valeur indique que Compute Engine n'alloue des ressources que si elles sont immédiatement disponibles. Si la requête de création échoue en raison de l'indisponibilité des ressources, réessayez dans une autre zone.
TERMINATION_ACTION
: indique s'il faut arrêter ou supprimer la VM à la fin de sa durée d'exécution. Spécifiez l'une des valeurs suivantes :Pour arrêter la VM :
STOP
Pour supprimer la VM :
DELETE
RUN_DURATION
: durée maximale en secondes pendant laquelle la VM s'exécute avant que Compute Engine ne la supprime. Cette valeur doit être comprise entre 600 secondes (10 minutes) et 604 800 secondes (sept jours).
Étapes suivantes
Faites l'essai
Si vous débutez sur Google Cloud, créez un compte pour évaluer les performances de Compute Engine en conditions réelles. Les nouveaux clients bénéficient également de 300 $ de crédits offerts pour exécuter, tester et déployer des charges de travail.
Profiter d'un essai gratuit de Compute EngineSauf 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 2025/09/23 (UTC).
-