Ce document explique comment créer un groupe d'instances géré (MIG) qui utilise des instances de machine virtuelle (VM) à démarrage flexible. Les VM à démarrage flexible s'exécutent sans interruption pendant sept jours maximum et vous aident à obtenir des ressources très demandées, comme des GPU, à un prix réduit. Grâce à ces possibilités, les VM à démarrage flexible représentent 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.
Les étapes de ce document expliquent comment créer un MIG qui crée des VM à démarrage flexible individuelles à mesure que des ressources deviennent disponibles. Par conséquent, le MIG peut initialement ne créer qu'une partie des VM demandées, puis ajouter les VM restantes ultérieurement, en fonction de la capacité disponible. Si vous souhaitez créer des VM à démarrage flexible en même temps dans un MIG, consultez plutôt À propos des demandes de redimensionnement de MIG.
Pour découvrir d'autres méthodes de création de MIG, consultez Scénarios de base pour la création d'un MIG.
Avant de commencer
- Vérifiez que vous disposez d'un quota suffisant pour les ressources que vous souhaitez demander. Pour en savoir plus, consultez Quotas d'allocation.
-
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 à la création de MIG utilisant des 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 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 MIG qui utilisent 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 MIG utilisant des VM à démarrage flexible :
-
Pour créer un modèle d'instance :
compute.instanceTemplates.createsur le projet. -
Pour créer un 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 un MIG utilisant des VM à démarrage flexible
Pour créer un MIG qui utilise des VM à démarrage flexible, vous devez procéder comme suit :
Créer un modèle d'instance configuré pour créer des VM à démarrage flexible
Vous devez créer un modèle d'instance configuré pour créer des VM à démarrage flexible, comme décrit dans cette section. Une fois le modèle créé, utilisez-le pour créer le MIG.
Pour créer un modèle d'instance configuré pour créer des VM à démarrage flexible, sélectionnez l'une des options suivantes :
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 Nom, saisissez un nom pour le modèle d'instance.
Dans la section Emplacement, sélectionnez le type de modèle d'instance que vous souhaitez créer :
Pour un modèle d'instance régional, sélectionnez Régional, puis sélectionnez la région dans laquelle créer votre modèle. En fonction du type de machine que vous souhaitez que vos VM à démarrage flexible utilisent, spécifiez une région compatible.
Pour un modèle d'instance global, sélectionnez Global.
Dans la section Configuration de la machine, sélectionnez une série de machines compatible avec les VM à démarrage flexible.
Dans la section Modèle de provisionnement, procédez comme suit :
Dans la liste Modèle de provisionnement de VM, sélectionnez Démarrage flexible.
Pour définir une durée d'exécution pour les VM créées à partir du modèle d'instance, saisissez le nombre d'heures pendant lesquelles les VM s'exécutent dans le champ Saisir le nombre d'heures. La valeur doit être comprise entre une heure (
1) et sept jours (168). Lorsque les VM atteignent la fin de leur durée d'exécution, Compute Engine supprime chaque VM individuellement par rapport à sa propre heure de création.
Facultatif : pour modifier le type ou l'image de disque de démarrage par défaut, cliquez sur Modifier dans la section Disque de démarrage. Suivez ensuite les instructions pour modifier le disque de démarrage.
Cliquez sur Créer.
gcloud
Pour créer un modèle d'instance configuré pour créer des VM à démarrage flexible, utilisez la commande gcloud compute instance-templates create.
La commande suivante crée un modèle d'instance régional. Si vous souhaitez créer un modèle d'instance global, utilisez la même commande sans le flag --instance-template-region.
gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
--image-project=IMAGE_PROJECT \
--image-family=IMAGE_FAMILY \
--instance-template-region=REGION \
--instance-termination-action=DELETE \
--machine-type=MACHINE_TYPE \
--maintenance-policy=TERMINATE \
--max-run-duration=RUN_DURATION \
--provisioning-model=FLEX_START \
--reservation-affinity=none
Remplacez les éléments suivants :
INSTANCE_TEMPLATE_NAME: nom du modèle d'instance à créer.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_FAMILY: famille d'images, qui spécifie l'image d'OS non obsolète la plus récente. Par exemple, si vous spécifiezdebian-12, vous utilisez la dernière version de la famille d'images Debian 12. Pour en savoir plus sur l'utilisation des familles d'images, consultez la page Bonnes pratiques concernant les familles d'images.REGION: région dans laquelle créer le modèle d'instance. En fonction du type de machine que vous souhaitez que les VM à démarrage flexible utilisent, spécifiez une région compatible.MACHINE_TYPE: type de machine avec GPU ou type de machine H4D à utiliser pour les VM à démarrage flexible. Si vous spécifiez un type de machine N1, vous devez inclure l'option--acceleratorpour définir le nombre et le type de GPU à associer à vos VM.RUN_DURATION: durée d'exécution des VM demandées. Lorsque les VM atteignent la fin de leur durée d'exécution, Compute Engine supprime chacune d'elles individuellement par rapport à sa propre heure de création. Vous devez formater la durée d'exécution en nombre de jours, d'heures, de minutes ou de secondes, suivis respectivement ded,h,mets. Par exemple, spécifiez30mpour 30 minutes ou1d2h3m4spour un jour, deux heures, trois minutes et quatre secondes. Cette valeur doit être comprise entre 10 minutes et 7 jours.
REST
Pour créer un modèle d'instance configuré pour créer des VM à démarrage flexible, envoyez l'une des requêtes POST suivantes :
Pour créer un modèle d'instance régional : méthode
regionInstanceTemplates.insertPour créer un modèle d'instance global : méthode
instanceTemplates.insert
Par exemple, pour créer un modèle d'instance régional, envoyez une requête comme suit :
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/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"
}
],
"reservationAffinity": {
"consumeReservationType": "NO_RESERVATION"
},
"scheduling": {
"instanceTerminationAction": "DELETE",
"maxRunDuration": {
"seconds": RUN_DURATION
},
"onHostMaintenance": "TERMINATE",
"provisioningModel": "FLEX_START"
}
}
}
Remplacez les éléments suivants :
PROJECT_ID: ID du projet dans lequel créer le modèle d'instance.REGION: région dans laquelle créer le modèle d'instance. En fonction du type de machine que vous souhaitez que les VM à démarrage flexible utilisent, spécifiez une région compatible.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. Cette valeur spécifie 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 GPU à utiliser pour les VM. Si vous spécifiez un type de machine N1, vous devez inclure le champguestAcceleratorspour définir le nombre et le type de GPU à associer à vos VM.RUN_DURATION: durée, en secondes, pendant laquelle vous souhaitez que les VM demandées s'exécutent. Lorsque les VM atteignent la fin de leur durée d'exécution, Compute Engine supprime chacune d'elles individuellement par rapport à sa propre heure de création. La durée d'exécution doit être comprise entre600, soit 600 secondes (10 minutes), et604800, soit 604 800 secondes (7 jours).
Une fois créé, vous pouvez consulter les détails du modèle d'instance pour examiner ses propriétés.
Créer un MIG régional ou zonal
Créez un MIG régional ou zonal comme décrit dans cette section. Vous ne devez pas configurer l'autoscaling et devez désactiver les réparations. Si les ressources que vous demandez ne sont pas disponibles, Compute Engine continue d'essayer de les allouer jusqu'à ce que la requête aboutisse, que vous réduisiez le nombre de VM dans le MIG ou que vous supprimiez votre MIG.
Pour créer un MIG régional ou zonal, sélectionnez l'une des options suivantes :
Console
Dans la console Google Cloud , accédez à la page Groupes d'instances.
Cliquez sur Créer un groupe d'instances. La page Créer un groupe d'instances s'affiche.
Dans le champ Nom, saisissez un nom pour le MIG.
Dans la liste Modèle d'instance, sélectionnez le modèle d'instance que vous avez créé à l'étape précédente.
Dans le champ Nombre d'instances, saisissez le nombre de VM à démarrage flexible à créer dans le MIG. Si votre charge de travail nécessite des noms de VM spécifiques, saisissez
0pour ne créer aucune VM. Une fois le MIG créé, ajoutez-y des VM avec des noms spécifiques.Dans la section Emplacement, indiquez si vous souhaitez créer un MIG zonal ou régional :
Pour créer un MIG zonal, sélectionnez Zone unique. Pour créer un MIG régional, sélectionnez Plusieurs zones.
Sélectionnez la région et les zones du MIG.
Si vous créez un MIG régional, procédez comme suit :
Dans le champ Forme de distribution cible, sélectionnez Une des zones.
Dans la boîte de dialogue qui s'affiche, cliquez sur Désactiver la redistribution des instances.
Pour supprimer la configuration d'autoscaling, dans la section Autoscaling, procédez comme suit :
Cliquez sur Configurer l'autoscaling.
Dans la liste Mode d'autoscaling, cliquez sur Supprimer la configuration d'autoscaling.
Dans la boîte de dialogue de confirmation, cliquez sur Supprimer.
Pour désactiver les réparations, dans la section Action en cas d'échec, dans la liste Action par défaut en cas d'échec, sélectionnez Aucune action.
Cliquez sur Créer.
gcloud
Pour créer un MIG, utilisez la commande gcloud compute instance-groups managed create.
En fonction du type de MIG que vous souhaitez créer, incluez les indicateurs suivants dans la commande :
Pour créer un MIG zonal, incluez l'indicateur
--zone:gcloud compute instance-groups managed create INSTANCE_GROUP_NAME \ --default-action-on-vm-failure=do-nothing \ --size=SIZE \ --template=INSTANCE_TEMPLATE_URL \ --zone=ZONEPour créer un MIG régional, incluez les indicateurs
--regionet--target-distribution-shape:gcloud compute instance-groups managed create INSTANCE_GROUP_NAME \ --default-action-on-vm-failure=do-nothing \ --size=SIZE \ --template=INSTANCE_TEMPLATE_URL \ --region=REGION \ --target-distribution-shape=SHAPE
Remplacez les éléments suivants :
INSTANCE_GROUP_NAME: nom du MIG.INSTANCE_TEMPLATE_URL: URL du modèle d'instance que vous avez créé dans la section précédente. L'URL peut contenir l'ID ou le nom du modèle d'instance. Spécifiez une des valeurs suivantes :Pour un modèle d'instance régional :
projects/PROJECT_ID/regions/REGION/instanceTemplates/INSTANCE_TEMPLATE_IDPour un modèle d'instance global :
INSTANCE_TEMPLATE_ID
SIZE: nombre de VM à démarrage flexible à créer dans le MIG. Si votre charge de travail nécessite des noms de VM spécifiques, spécifiez0pour ne créer aucune VM. Une fois le MIG créé, ajoutez-y des VM avec des noms spécifiques.ZONE: zone dans laquelle créer le MIG zonal. Si vous utilisez un modèle d'instance régional pour créer le MIG, vous devez spécifier une zone dans la même région que le modèle.REGION: région dans laquelle créer le MIG régional. Si vous utilisez un modèle d'instance régional pour créer le MIG, vous devez spécifier la même région que celle du modèle.SHAPE: façon dont votre MIG répartit les VM à démarrage flexible dans les zones de votre MIG régional. Spécifiez l'une des valeurs suivantes :Pour créer des VM dans plusieurs zones en fonction de la disponibilité :
ANYPour créer des VM dans une seule zone en fonction de la disponibilité :
ANY_SINGLE_ZONE
Pour en savoir plus, consultez Forme de distribution cible d'un MIG régional.
REST
Pour créer un MIG, envoyez une requête POST à l'une des méthodes suivantes :
Pour créer un MIG zonal, envoyez la requête suivante à la méthode
instanceGroupManagers.insert:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers { "name": "INSTANCE_GROUP_NAME", "versions": [ { "instanceTemplate": "INSTANCE_TEMPLATE_URL" } ], "instanceLifecyclePolicy": { "defaultActionOnFailure": "DO_NOTHING" }, "targetSize": SIZE }Pour créer un MIG régional, envoyez la requête suivante à la méthode
regionInstanceGroupManagers.insert:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers { "name": "INSTANCE_GROUP_NAME", "instanceTemplate": "INSTANCE_TEMPLATE_URL", "instanceLifecyclePolicy": { "defaultActionOnFailure": "DO_NOTHING" }, "targetSize": SIZE, "distributionPolicy": { "targetShape": "SHAPE" } }
Remplacez les éléments suivants :
PROJECT_ID: ID du projet dans lequel créer le MIG régional ou zonal.ZONE: zone dans laquelle créer le MIG zonal. Si vous utilisez un modèle d'instance régional pour créer le MIG, vous devez spécifier une zone dans la même région que le modèle.REGION: région dans laquelle créer le MIG régional. Si vous utilisez un modèle d'instance régional pour créer le MIG, vous devez spécifier la même région que celle du modèle.INSTANCE_GROUP_NAME: nom du MIG.INSTANCE_TEMPLATE_URL: URL du modèle d'instance que vous avez créé dans la section précédente. L'URL peut contenir l'ID ou le nom du modèle d'instance. Spécifiez une des valeurs suivantes :Pour un modèle d'instance régional :
projects/PROJECT_ID/regions/REGION/instanceTemplates/INSTANCE_TEMPLATE_IDPour un modèle d'instance global :
INSTANCE_TEMPLATE_ID
SIZE: nombre de VM à démarrage flexible à créer dans le MIG. Si votre charge de travail nécessite des noms de VM spécifiques, spécifiez0pour ne créer aucune VM. Une fois le MIG créé, ajoutez-y des VM avec des noms spécifiques.SHAPE: façon dont votre MIG répartit les VM à démarrage flexible dans les zones de votre MIG régional. Spécifiez l'une des valeurs suivantes :Pour créer des VM dans plusieurs zones en fonction de la disponibilité :
ANYPour créer des VM dans une seule zone en fonction de la disponibilité :
ANY_SINGLE_ZONE
Pour en savoir plus, consultez Forme de distribution cible d'un MIG régional.
Étapes suivantes
Découvrez comment afficher des informations sur les MIG et les VM gérées.
Découvrez comment afficher l'utilisation réelle et prévue de vos VM et GPU.