Ce document explique comment créer des requêtes de redimensionnement dans un groupe d'instances géré (MIG) constitué d'instances de machine virtuelle (VM), auxquelles des GPU sont associés.
La création de requêtes de redimensionnement dans un MIG vous aide à obtenir des ressources très demandées, comme des GPU, et à optimiser les coûts en créant le nombre exact de VM en une fois.
Avant de commencer
- Examinez le fonctionnement des demandes de redimensionnement.
- Pour vous assurer que vous disposez d'un quota de GPU suffisant pour les ressources que vous demandez, vérifiez votre quota de GPU.
-
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:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
-
Pour créer un modèle d'instance :
compute.instanceTemplates.create
sur le projet. -
Pour créer un MIG zonal :
compute.instanceGroupManagers.create
sur le projet. -
Pour créer des demandes de redimensionnement dans un MIG :
compute.instanceGroupManagers.update
sur le projet. Arrêt des VM lors des événements de maintenance de l'hôte.
Réservations non utilisées.
Dans la console Google Cloud, accédez à la page Modèles d'instances.
Cliquez sur Créer un modèle d'instance.
Dans le champ Nom, saisissez un nom pour le modèle d'instance.
Dans la section Emplacement, sélectionnez l'une des options suivantes :
Pour créer un modèle d'instance global, sélectionnez Global, si ce n'est pas déjà fait.
Pour créer un modèle d'instance régional, sélectionnez Régional, puis sélectionnez la région dans laquelle créer le modèle d'instance.
Dans la section Configuration de la machine, procédez comme suit :
Cliquez sur l'onglet GPU.
Dans la liste Type de GPU, sélectionnez le type de GPU.
Dans la liste Nombre de GPU, sélectionnez le nombre de GPU.
Facultatif : si votre modèle de GPU est compatible avec les postes de travail virtuels NVIDIA RTX (vWS) pour les charges de travail graphiques et que vous prévoyez d'exécuter des charges de travail graphiques lourdes, sélectionnez l'option Activer le poste de travail virtuel (NVIDIA GRID).
Dans la section Type de machine, sélectionnez un type de machine.
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.
Développez la section Options avancées et procédez comme suit :
Développez la section Gestion.
Dans la liste Réservations, sélectionnez Ne pas utiliser.
Cliquez sur Créer.
L'option
--maintenance-policy
est définie surTERMINATE
.L'option
--reservation-affinity
est définie surnone
.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. Cela permet de spécifier l'image d'OS non obsolète la plus récente. Par exemple, si vous spécifiezdebian-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.Si vous souhaitez utiliser une version spécifique de l'image du système d'exploitation, telle que
debian-12-buster-v20240701
, remplacez l'option--image-family
par l'option--image
.REGION
: région dans laquelle créer le modèle d'instance.MACHINE_TYPE
: type de machine compatible avec les GPU. Si vous stipulez un type de machine N1, incluez l'option--accelerator
afin de spécifier le nombre et le type de GPU à associer à vos VM.Pour créer un modèle d'instance régional : méthode
regionInstanceTemplates.insert
Pour créer un modèle d'instance global : méthode
instanceTemplates.insert
Incluez le champ
scheduling.onHostMaintenance
et définissez-le surTERMINATE
.Ajoutez le champ
reservationAffinity.consumeReservationType
et définissez-le surNO_RESERVATION
.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.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
: 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 avec les GPU. Si vous stipulez un type de machine N1, incluez le champguestAccelerators
dans le corps de la requête afin de spécifier le nombre et le type de GPU à associer à vos VM.Définissez le type de mise à jour du MIG sur une mise à jour opportuniste (par défaut).
Si vous avez configuré l'autoscaling dans le MIG, supprimez la configuration de l'autoscaling.
Si vous utilisez un MIG régional, définissez la forme de distribution cible sur
ANY_SINGLE_ZONE
.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. Si vous sélectionnez un modèle d'instance régional, la liste Région est définie sur la région du modèle d'instance.
Dans la section Emplacement, indiquez si vous souhaitez créer un MIG zonal ou régional comme suit:
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. Vous ne pouvez sélectionner cette option qu'après avoir supprimé la configuration d'autoscaling dans les étapes suivantes.
Après avoir sélectionné l'option "N'importe quelle zone unique", dans la boîte de dialogue qui s'affiche, cliquez sur Désactiver la redistribution des instances.
Supprimez la configuration d'autoscaling comme suit:
Dans la section Autoscaling, cliquez sur la liste Mode d'autoscaling, puis sur Supprimer la configuration d'autoscaling.
Dans la boîte de dialogue de confirmation, cliquez sur Supprimer.
Désactivez les réparations comme suit:
Dans la section Cycle de vie de l'instance de VM, cliquez sur la liste Action par défaut en cas d'échec.
Sélectionnez Aucune action.
Effectuez l'une des opérations suivantes :
Pour créer une demande de redimensionnement à ce stade, procédez comme suit :
Dans le champ Nombre d'instances, saisissez le nombre de VM que vous souhaitez créer simultanément.
Cochez la case Utiliser la requête de redimensionnement pour créer plusieurs VM à la fois.
Dans le champ Durée d'exécution demandée et dans la liste Unité, spécifiez la durée d'exécution des VM. La durée doit être comprise entre 1 heure et 7 jours.
Sinon, dans le champ Nombre d'instances, saisissez
0
. Vous pourrez ajouter des VM dans le groupe ultérieurement en créant des demandes de redimensionnement.
Cliquez sur Créer.
Pour créer un MIG zonal, exécutez la commande suivante:
gcloud compute instance-groups managed create INSTANCE_GROUP_URL \ --template=INSTANCE_TEMPLATE_NAME \ --size=0 \ --zone=ZONE \ --default-action-on-vm-failure=do_nothing
Pour créer un MIG régional, exécutez la commande suivante:
gcloud compute instance-groups managed create INSTANCE_GROUP_NAME \ --template=INSTANCE_TEMPLATE_URL \ --size=0 \ --region=REGION \ --target-distribution-shape=any-single-zone \ --instance-redistribution-type=none \ --default-action-on-vm-failure=do_nothing
INSTANCE_GROUP_NAME
: nom du MIG à créer.INSTANCE_TEMPLATE_URL
: URL partielle du modèle d'instance que vous avez créé dans la section précédente. Si vous souhaitez utiliser un modèle d'instance régional pour créer le MIG, vous ne pouvez le créer que dans la région du modèle. Spécifiez l'une des valeurs suivantes:Pour un modèle d'instance régional :
projects/PROJECT_ID/regions/REGION/instanceTemplates/INSTANCE_TEMPLATE_NAME
Pour un modèle d'instance global :
INSTANCE_TEMPLATE_NAME
ZONE
: zone dans laquelle créer le MIG.REGION
: région dans laquelle créer le MIG.Pour créer un MIG zonal, envoyez une requête
POST
à l'aide de la méthodeinstanceGroupManagers.insert
comme suit:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers { "versions": [ { "instanceTemplate": "INSTANCE_TEMPLATE_URL" } ], "name": "INSTANCE_GROUP_NAME", "targetSize": 0, "instanceLifecyclePolicy": { "defaultActionOnFailure": "DO_NOTHING" } }
Pour créer un MIG régional, envoyez une requête
POST
à l'aide de la méthoderegionInstanceGroupManagers.insert
comme suit:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers { "versions": [ { "instanceTemplate": "INSTANCE_TEMPLATE_URL" } ], "name": "INSTANCE_GROUP_NAME", "targetSize": 0, "distributionPolicy": { "targetShape": "ANY_SINGLE_ZONE" }, "updatePolicy": { "instanceRedistributionType": "NONE" }, "instanceLifecyclePolicy": { "defaultActionOnFailure": "DO_NOTHING" } }
PROJECT_ID
: ID du projet dans lequel se trouve le modèle d'instance que vous avez créé dans la section précédente.INSTANCE_TEMPLATE_URL
: URL partielle du modèle d'instance que vous avez créé dans la section précédente. Si vous souhaitez utiliser un modèle d'instance régional pour créer le MIG, vous ne pouvez le créer que dans la région du modèle. Spécifiez l'une des valeurs suivantes:Pour un modèle d'instance régional :
regions/REGION/instanceTemplates/INSTANCE_TEMPLATE_NAME
Pour un modèle d'instance global :
global/instanceTemplates/INSTANCE_TEMPLATE_NAME
ZONE
: zone dans laquelle créer le MIG.REGION
: région dans laquelle créer le MIG.INSTANCE_GROUP_NAME
: nom du MIG à créer.Dans la console Google Cloud, accédez à la page Groupes d'instances.
Dans la colonne Nom, cliquez sur le nom du MIG dans lequel vous souhaitez créer la demande de redimensionnement.
La page de présentation du MIG s'affiche.
Sur la ligne Demandes de redimensionnement, cliquez sur
Modifier les demandes de redimensionnement.Cliquez sur
Nouvelle demande de redimensionnement.Le volet Nouvelles demandes de redimensionnement s'affiche.
Dans le champ Nom, saisissez le nom de la demande de redimensionnement.
Dans le champ Nombre d'instances supplémentaires nécessaires, saisissez le nombre de VM à ajouter simultanément au MIG.
Dans les champs Durée d'exécution demandée et Unité, spécifiez la durée d'exécution souhaitée pour les VM demandées. La durée doit être comprise entre 1 heure et 7 jours.
Cliquez sur Créer.
Pour créer une requête de redimensionnement dans un MIG zonal, utilisez la commande
instance-groups managed resize-requests create
.gcloud compute instance-groups managed resize-requests create INSTANCE_GROUP_NAME \ --resize-request=RESIZE_REQUEST_NAME \ --resize-by=COUNT \ --requested-run-duration=RUN_DURATION \ --zone=ZONE
Pour créer une demande de redimensionnement dans un MIG régional, utilisez la commande
beta instance-groups managed resize-requests create
.gcloud beta compute instance-groups managed resize-requests create INSTANCE_GROUP_NAME \ --resize-request=RESIZE_REQUEST_NAME \ --resize-by=COUNT \ --requested-run-duration=RUN_DURATION \ --region=REGION
INSTANCE_GROUP_NAME
: nom du MIG configuré pour y créer des demandes de redimensionnement.RESIZE_REQUEST_NAME
: nom de la requête de redimensionnement, qui doit être unique dans le MIG spécifié. Sinon, la création de la demande de redimensionnement échoue.COUNT
: nombre de VM à ajouter simultanément au MIG.RUN_DURATION
: durée d'exécution des VM demandées. La valeur doit être formatée en nombre de jours, d'heures, de minutes ou de secondes, suivis respectivement ded
,h
,m
ets
. Par exemple, spécifiez30m
pour 30 minutes ou1d2h3m4s
pour 1 jour, 2 heures, 3 minutes et 4 secondes. Cette valeur doit être comprise entre 10 minutes et 7 jours.ZONE
: zone où se trouve le MIG.REGION
: région où se trouve le MIG.Pour créer une requête de redimensionnement dans un MIG zonal, envoyez une requête
POST
à l'aide de la méthodeinstanceGroupManagerResizeRequests.insert
.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/INSTANCE_GROUP_NAME/resizeRequests
Pour créer une requête de redimensionnement dans un MIG régional, envoyez une requête
POST
à l'aide de la méthodebeta.regionInstanceGroupManagerResizeRequests.insert
.POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/INSTANCE_GROUP_NAME/resizeRequests
PROJECT_ID
: ID du projet dans lequel se trouve le MIG spécifié.ZONE
: zone où se trouve le MIG.REGION
: région où se trouve le MIG.INSTANCE_GROUP_NAME
: nom du MIG configuré pour y créer des demandes de redimensionnement.RESIZE_REQUEST_NAME
: nom de la requête de redimensionnement, qui doit être unique dans le MIG spécifié. Sinon, la création de la demande de redimensionnement échoue.COUNT
: nombre de VM à ajouter simultanément au MIG.RUN_DURATION
: durée, en secondes, pendant laquelle vous souhaitez que les VM demandées s'exécutent. La valeur doit être comprise entre600
, soit 600 secondes (10 minutes), et604800
, soit 604 800 secondes (7 jours).Découvrez comment afficher, annuler ou supprimer des demandes de redimensionnement dans un MIG.
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.
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 des demandes de redimensionnement dans un MIG, demandez à votre administrateur de vous accorder 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 demandes de redimensionnement dans un MIG. Pour connaître les autorisations exactes requises, développez la section Autorisations requises :
Autorisations requises
Vous devez disposer des autorisations suivantes pour créer des demandes de redimensionnement dans un groupe d'instances géré :
Vous pouvez également obtenir ces autorisations avec des rôles personnalisés ou d'autres rôles prédéfinis.
Préparer un MIG pour les demandes de redimensionnement
Avant de créer des demandes de redimensionnement dans un MIG, vous devez configurer un modèle d'instance et le MIG comme décrit dans les sections suivantes.
Créer un modèle d'instance
Si vous souhaitez créer des demandes de redimensionnement dans un MIG, celui-ci doit utiliser un modèle d'instance avec les configurations suivantes :
Pour créer un modèle d'instance configuré pour créer des demandes de redimensionnement dans un MIG, sélectionnez l'une des options suivantes:
Console
gcloud
Pour créer un modèle d'instance configuré pour créer des demandes de redimensionnement dans un MIG, exécutez la commande
instance-templates create
avec les options suivantes :Par exemple, utilisez la commande suivante pour créer un modèle d'instance régional. Si vous souhaitez créer un modèle d'instance global, utilisez la même commande sans l'option
--instance-template-region
.gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \ --image-project=IMAGE_PROJECT \ --image-family=IMAGE_FAMILY \ --instance-template-region=REGION \ --machine-type=MACHINE_TYPE \ --maintenance-policy=TERMINATE \ --reservation-affinity=none
Remplacez les éléments suivants :
REST
Pour créer un modèle d'instance configuré pour créer des demandes de redimensionnement dans un MIG, envoyez une requête
POST
à l'une des méthodes suivantes:Dans le corps de la requête, procédez comme suit :
Par exemple, pour créer un modèle d'instance régional, envoyez une requête
POST
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": { "onHostMaintenance": "TERMINATE" } } }
Remplacez les éléments suivants :
Pour en savoir plus sur la création d'un modèle d'instance, consultez la section Créer des modèles d'instances.
Créer ou mettre à jour un MIG
Après avoir créé le modèle d'instance comme décrit dans la section précédente, utilisez-le pour créer un MIG comme suit ou pour mettre à jour un MIG. En outre, vous devez effectuer les opérations suivantes pour préparer le MIG aux requêtes de redimensionnement :
Pour créer un MIG compatible avec les requêtes de redimensionnement, sélectionnez l'une des options suivantes:
Console
gcloud
Exécutez la commande
instance-groups managed create
avec l'option--default-action-on-vm-failure
définie surdo_nothing
. Si vous créez un MIG régional, vous devez également inclure l'indicateur--target-distribution-shape
défini surany-single-zone
et l'indicateur--instance-redistribution-type
défini surnone
.Remplacez les éléments suivants :
REST
Remplacez les éléments suivants :
Créer une demande de redimensionnement dans un MIG
Avant de créer des demandes de redimensionnement, assurez-vous d'avoir préparé le MIG comme décrit dans la section précédente.
Une fois que vous avez créé une requête de redimensionnement, qu'elle a été acceptée et que toutes les ressources demandées sont disponibles, le MIG crée le nombre de VM demandé en une fois. Les VM s'exécutent jusqu'à ce que le MIG les supprime, à l'issue de la durée d'exécution spécifiée, ou jusqu'à ce que vous supprimiez les VM.
Pour créer une demande de redimensionnement dans un MIG, sélectionnez l'une des options suivantes:
Console
gcloud
Remplacez les éléments suivants :
REST
Dans le corps de la requête, incluez les éléments suivants :
{ "name": "RESIZE_REQUEST_NAME", "resizeBy": COUNT, "requestedRunDuration": { "seconds": "RUN_DURATION" } }
Remplacez les éléments suivants :
Une fois la requête de redimensionnement créée, vous pouvez consulter son état ou résoudre les problèmes associés en consultant les détails de la requête de redimensionnement.
É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).
-