Ce document explique comment souscrire des engagements basés sur les ressources avec des réservations associées à l'aide de la console Google Cloud , de la gcloud CLI ou de REST.
Pour en savoir plus sur le fonctionnement des réservations associées, consultez Associer des réservations à des engagements basés sur les ressources.
Pour souscrire des engagements pour des vCPU et de la mémoire sans réservations associées, consultez Souscrire des engagements basés sur les ressources sans réservations associées.
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 acheter des engagements et créer des réservations, demandez à votre administrateur de vous accorder le rôle IAM Administrateur Compute (roles/compute.admin) 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 acheter des engagements et créer des réservations. Pour connaître les autorisations exactes requises, développez la section Autorisations requises :
Autorisations requises
Les autorisations suivantes sont requises pour acheter des engagements et créer des réservations :
-
compute.commitments.create -
compute.reservations.create
Vous pouvez également obtenir ces autorisations avec des rôles personnalisés ou d'autres rôles prédéfinis.
Par défaut, les propriétaires de projet sont autorisés à souscrire des engagements basés sur les ressources. Toutefois, les propriétaires peuvent créer des rôles personnalisés qui incluent ou excluent certains utilisateurs. Renseignez-vous sur le contrôle des accès pour vous assurer que vous êtes autorisé à souscrire un engagement basé sur les ressources.
Souscrire un engagement matériel basé sur les ressources avec des réservations associées
Lorsque vous souscrivez un nouvel engagement, vous pouvez lui associer des réservations de l'une des manières suivantes:- Utiliser des réservations existantes qui correspondent aux propriétés de l'engagement
- Créer des réservations correspondantes lors de la souscription de votre engagement
Une fois que vous avez souscrit un engagement, votre engagement devient actif le lendemain à minuit (heure du Pacifique des États-Unis et du Canada, UTC-8 ou UTC-7, pendant l'heure d'été). Compute Engine conserve un privilège sur votre projet pour chaque région de votre projet dans laquelle vous souscrivez un engagement. Lorsque vous souscrivez un nouvel engagement pour une région de votre projet, Compute Engine associe le privilège de cette région au nouvel engagement.
Entre la date de souscription de votre engagement et son délai d'activation, l'état de votre engagement reste NOT_YET_ACTIVE (ou PENDING sur la consoleGoogle Cloud ). Une fois votre engagement activé, son état passe à ACTIVE.
Par exemple, supposons que vous ayez souscrit votre engagement le 20 janvier 2024 à 22h, heure du Pacifique des États-Unis et du Canada (UTC-8 ou UTC-7). Compute Engine crée immédiatement votre engagement à l'état NOT_YET_ACTIVE. Votre engagement devient ACTIVE le 21 janvier 2024 à minuit, heure du Pacifique des États-Unis et du Canada (UTC-8 ou UTC-7).
Conditions requises
Avant de souscrire un engagement avec des réservations associées, consultez ces exigences et assurez-vous que votre engagement et vos réservations répondent aux critères suivants:
- Vous devez souscrire l'engagement et créer les réservations associées dans le même projet et la même région.
- Vous devez souscrire l'engagement et créer les réservations associées pour les ressources de la même série de familles de machines.
- Si votre engagement spécifie des types de ressources qui nécessitent des réservations associées, vous devez désactiver l'option de suppression automatique sur les réservations associées. En savoir plus sur les types de ressources qui nécessitent des réservations associées
- Si votre engagement comporte des GPU, le type de GPU spécifié dans la réservation et l'engagement doivent correspondre.
Pour les GPU et la plupart des disques SSD locaux, le nombre de ressources réservées de chaque type de ressource doit correspondre exactement au nombre de ressources validées pour ce type de ressource. Toutefois, cette exigence ne s'applique pas si vous spécifiez des disques Titanium SSD locaux dans votre engagement pour une utilisation avec les types de machines C4, C4A, C4D, C4N, G4, H4D ou Z3.
Par exemple, si vous souhaitez souscrire un engagement pour quatre GPU V100 et deux disques SSD locaux, les réservations associées à votre engagement doivent comporter un total de quatre GPU V100 et deux disques SSD locaux. La quantité de processeurs virtuels et de mémoire que vous réservez peut être supérieure ou inférieure à celle mentionnée dans l'engagement. Toutefois, si vous spécifiez quatre processeurs virtuels C4A et deux disques Titanium SSD locaux dans votre engagement, vous n'avez pas besoin d'associer de réservations à l'engagement.
Dans le cas des GPU, souscrivez des engagements pour les types de GPU spécifiques que vous souhaitez utiliser. Par exemple, vous pouvez souscrire des engagements pour des GPU NVIDIA P100 ou NVIDIA V100, mais vous ne pouvez pas utiliser un engagement souscrit pour des GPU NVIDIA P100 afin de couvrir des GPU NVIDIA V100.
Si votre réservation associée est une réservation partagée et que vous souhaitez recevoir les remises sur engagement d'utilisation applicables lorsque vous utilisez cette réservation en dehors du projet de votre engagement, vous devez effectuer les deux opérations suivantes:
- Ne partagez vos réservations qu'entre des projets appartenant au même compte de facturation Cloud que l'engagement.
- Assurez-vous que le partage des remises sur engagement d'utilisation est activé pour ce compte de facturation Cloud.
Joindre des réservations existantes
Vous pouvez associer des réservations existantes lors de la souscription de votre engagement à l'aide de la console Google Cloud , de la Google Cloud CLI ou de REST.
Console
Avant de souscrire un engagement à l'aide de la console Google Cloud , sélectionnez le projet que vous souhaitez utiliser pour souscrire l'engagement. Si le partage de remises sur engagement d'utilisation est activé sur un compte de facturation Cloud, vous pouvez utiliser n'importe quel projet associé à ce compte de facturation Cloud pour souscrire l'engagement. Après avoir sélectionné le projet, procédez comme suit:
Dans la console Google Cloud , accédez à la page Remises sur les engagements d'utilisation. Accéder aux remises sur engagement d'utilisation
Cliquez sur Souscrire un engagement. La page Acheter un engagement s'affiche.
Dans le champ Nom, saisissez le nom de votre engagement.
Dans le champ Région, sélectionnez la région dans laquelle vous souhaitez souscrire l'engagement.
Dans le champ Type d'engagement, sélectionnez la série de familles de machines de votre engagement. Les types d'engagement suivants fournissent des options pour les GPU, les disques SSD locaux ou les deux :
- Pour les types de machines A2, sélectionnez Optimisé pour l'accélérateur (A2).
- Pour les types de machines A3 Edge et A3 High, sélectionnez Optimisé pour l'accélérateur (A3).
- Pour les types de machines A3 Mega, sélectionnez A3 Mega optimisé pour les accélérateurs.
- Pour les types de machines G2, sélectionnez Optimisé pour les graphiques (G2).
- Pour les types de machines G4, sélectionnez Optimisé pour les graphiques (G4).
- Pour les types de machines C2, sélectionnez Optimisé pour le calcul (C2).
- Pour les types de machines C2D, sélectionnez Optimisé pour le calcul (C2D).
- Pour les types de machines C3, sélectionnez Usage général (C3).
- Pour les types de machines C3D, sélectionnez C3D à usage général.
- Pour les types de machines C4, sélectionnez Usage général (C4).
- Pour les types de machines C4A, sélectionnez Usage général C4A.
- Pour les types de machines C4D, sélectionnez Usage général (C4D).
- Pour les types de machines C4N, sélectionnez C4N optimisé pour le réseau.
- Pour les types de machines N1, sélectionnez Usage général (N1).
- Pour les types de machines N2, sélectionnez Usage général (N2).
- Pour les types de machines N2D, sélectionnez Usage général (N2D).
- Pour les types de machines M1, sélectionnez M1/M2 à mémoire optimisée.
- Pour les types de machines M3, sélectionnez M3 à mémoire optimisée.
- Pour les types de machines Z3, sélectionnez Optimisé pour le stockage Z3.
Pour associer une ou plusieurs réservations existantes à l'engagement, procédez comme suit :
Cochez la case Joindre une réservation nouvelle ou existante.
Cliquez sur Joindre une réservation existante. Le volet Joindre des réservations existantes s'affiche et présente les réservations de votre projet. Cette liste est filtrée pour correspondre à la région et au type d'engagement que vous avez spécifiés.
Dans le volet Associer des réservations existantes, cochez la case de chaque réservation que vous souhaitez associer.
Consultez le récapitulatif des ressources pour les réservations sélectionnées, puis cliquez sur Joindre.
Une fois vos réservations associées, Compute Engine remplit automatiquement les champs de la section Détails de l'engagement pour qu'ils correspondent au nombre et aux types de ressources de vos réservations associées. Si vous avez saisi manuellement des valeurs pour des ressources dans la section Détails de l'engagement avant d'associer des réservations, vos valeurs seront remplacées par celles des réservations.
Dans la section Détails de l'engagement, procédez comme suit :
Dans le champ Cœurs, vérifiez la valeur préremplie. Vous pouvez éventuellement spécifier un autre nombre de processeurs virtuels.
Dans le champ Mémoire, vérifiez la quantité de mémoire préremplie en Go. Vous pouvez également spécifier un montant différent. Vous ne pouvez spécifier la mémoire que par incréments de 0,25 Go. Pour spécifier une valeur de mémoire personnalisée pour votre engagement, utilisez plutôt gcloud CLI ou REST.
Développez la section GPU et SSD locaux, puis vérifiez que les types et les nombres correspondent entre l'engagement et les réservations associées, comme suit :
Dans le champ Type de GPU, vérifiez le type de GPU prérempli.
Dans le champ Nombre de GPU, vérifiez le nombre de GPU prérempli.
Dans le champ Disques SSD locaux, vérifiez le nombre de disques prérempli.
Si vous spécifiez manuellement des valeurs différentes de celles des réservations associées pour l'un de ces champs, votre achat d'engagement n'est pas effectué. Pour tous les GPU et la plupart des disques SSD locaux, le nombre total et les types doivent correspondre entre votre engagement et les réservations associées.
Dans la section Terme, procédez comme suit :
Pour spécifier le forfait de votre engagement, sélectionnez 1 an ou 3 ans. Le forfait détermine le taux de remise sur engagement d'utilisation et la durée prédéfinie de votre engagement.
Consultez le champ Date de début, qui indique la date et l'heure d'activation de votre engagement. Ce champ est automatiquement défini sur minuit (heure du Pacifique aux États-Unis et au Canada) le lendemain de la date actuelle.
Facultatif. Pour étendre la durée de votre engagement au-delà de la durée prédéfinie par votre forfait d'engagement, spécifiez une date de fin personnalisée dans le champ Date de fin. Pour en savoir plus, consultez Prolonger les conditions d'engagement.
Facultatif. Si vous souhaitez que votre engagement soit automatiquement renouvelé à la fin de sa durée, cochez la case Renouveler automatiquement l'engagement.
Dans le volet Résumé, vérifiez les détails de votre engagement et les éventuelles limites de quota.
Pour terminer la souscription de votre engagement, procédez comme suit :
Accédez au bas de la page.
Consultez la section Informations, qui contient des informations sur les frais, l'éligibilité aux remises, ainsi que les conditions d'utilisation.
Pour confirmer que vous acceptez le prix avec engagement et les conditions spécifiques au service, cochez la case.
Cliquez sur Souscrire.
gcloud
Pour souscrire un engagement en associant des réservations existantes, exécutez la commande gcloud compute commitments create.
Dans votre commande, incluez l'option --existing-reservation pour spécifier une réservation existante que vous souhaitez associer à votre engagement. Incluez une nouvelle instance de cette option pour chaque réservation existante que vous souhaitez associer. Vous pouvez associer autant de réservations existantes que vous le souhaitez à votre engagement.
Par exemple, pour souscrire un engagement en lui associant deux réservations, exécutez la commande suivante:
gcloud compute commitments create COMMITMENT_NAME \
--region=REGION \
--project=PROJECT_ID \
--resources=vcpu=COMMITTED_VCPUS,memory=COMMITTED_MEMORY,local-ssd=COMMITTED_LOCAL_SSD \
--resources-accelerator=count=COMMITTED_ACCELERATOR_COUNT,type=COMMITTED_ACCELERATOR_TYPE \
--plan=PLAN \
--type=COMMITMENT_TYPE \
--custom-end-time=CUSTOM_END_DATE \
--existing-reservation=name='RESERVATION_NAME_1',zone='RESERVATION_ZONE_1' \
--existing-reservation=name='RESERVATION_NAME_2',zone='RESERVATION_ZONE_2'
Remplacez les éléments suivants :
COMMITMENT_NAME: nom de l'engagement.REGION: région où se trouve l'engagement.PROJECT_ID: ID du projet dans lequel vous souhaitez souscrire l'engagement avec les réservations associées.PLAN: forfait d'engagement qui détermine votre taux de remise sur engagement d'utilisation et la durée prédéfinie. Indiquez12-monthou36-month.CUSTOM_END_DATE: facultatif. Une date de fin personnalisée pour votre période, qui doit être au formatYYYY-MM-DD. Par exemple, pour spécifier une date de fin personnalisée au 20 avril 2024, formatez-la comme suit :2024-04-20.COMMITMENT_TYPE: type d'engagement. Les types d'engagements suivants fournissent des options pour les GPU, les disques SSD locaux ou les deux :- Pour les types de machines A2, utilisez
accelerator-optimized - Pour les types de machines A3 Edge et A3 High, utilisez
accelerator-optimized-a3. - Pour les types de machines A3 Mega, utilisez
accelerator-optimized-a3-mega - Pour les types de machines G2, utilisez
graphics-optimized. - Pour les types de machines G4, utilisez
graphics-optimized-g4. - Pour les types de machines C2, utilisez
compute-optimized - Pour les types de machines C2D, utilisez
compute-optimized-c2d - Pour les types de machines C3, utilisez
compute-optimized-c3 - Pour les types de machines C3D, utilisez
compute-optimized-c3d - Pour les types de machines N1, utilisez
general-purpose - Pour les types de machines C4, utilisez
general-purpose-c4 - Pour les types de machines C4A, utilisez
general-purpose-c4a - Pour les types de machines C4D, utilisez
general-purpose-c4d - Pour les types de machines C4N, utilisez
network-optimized-c4n - Pour les types de machines N2, utilisez
general-purpose-n2 - Pour les types de machines N2D, utilisez
general-purpose-n2d. - Pour les types de machines M1, utilisez
memory-optimized - Pour les types de machines M3, utilisez
memory-optimized-m3 - Pour les types de machines Z3, utilisez
storage-optimized-z3
- Pour les types de machines A2, utilisez
COMMITTED_VCPUS: nombre de processeurs virtuels souhaité dans votre engagement. Il doit s'agit d'un nombre entier positif.COMMITTED_MEMORY: quantité de mémoire en Mo ou en Go que vous souhaitez dans votre engagement. Par exemple,10240MBou10GB. Pour gcloud CLI, vous pouvez spécifier la mémoire en Mo ou en Go. Si vous ne spécifiez pas d'unité, Compute Engine utilise le gigaoctet comme unité par défaut. Toutefois, notez que lorsque vous utilisez REST, Compute Engine utilise le mégaoctet comme unité par défaut.COMMITTED_LOCAL_SSD: quantité, en Go, d'espace SSD local que vous souhaitez pour votre engagement.COMMITTED_ACCELERATOR_COUNT: nombre de GPU souhaité dans votre engagement.COMMITTED_ACCELERATOR_TYPE: type de GPU que vous souhaitez inclure dans votre engagement.RESERVATION_NAME_1etRESERVATION_NAME_2: noms des réservations existantes que vous souhaitez associer à l'engagement.RESERVATION_ZONE_1etRESERVATION_ZONE_2: zones des réservations existantes que vous souhaitez associer à l'engagement.
Exemple : Souscrire un engagement en associant des réservations existantes
Supposons que vous ayez deux réservations res-01 et res-02 dans les zones us-central1-a et us-central1-b du projet myproject.
Supposons que ces réservations contiennent une capacité combinée pour quatre GPU NVIDIA P100 et quatre disques SSD locaux. Pour souscrire un nouvel engagement dans la région us-central1 de ce projet pour ces GPU et disques SSD locaux, et utiliser ces réservations existantes en tant que réservations associées, exécutez la commande suivante. L'engagement spécifie 96 vCPU, 624 Go de mémoire, 4 GPU NVIDIA P100 et 1 500 Go de stockage SSD local (équivalent à 4 disques SSD locaux). La valeur de stockage du SSD local doit être spécifiée en Go (par exemple, 375GB). Pour la gcloud CLI, vous pouvez spécifier la mémoire en Mo ou en Go. Si vous ne spécifiez pas d'unité, Compute Engine utilise le gigaoctet comme unité par défaut. Toutefois, notez que lorsque vous utilisez REST, Compute Engine utilise le mégaoctet comme unité par défaut.
gcloud compute commitments create commitment-01 \
--region=us-central1 \
--project=myproject \
--resources=vcpu=96,memory=624GB,local-ssd=1500 \
--resources-accelerator=type=nvidia-tesla-p100,count=4 \
--plan 12-month \
--existing-reservation=name=res-01,zone=us-central1-a \
--existing-reservation=name=res-02,zone=us-central1-b
REST
Pour souscrire un engagement en associant des réservations existantes, envoyez une requête POST à la méthode regionCommitments.insert.
Dans votre requête, incluez le champ existingReservations pour spécifier la liste de toutes les réservations existantes que vous souhaitez associer à votre engagement (séparées par une virgule). Vous pouvez associer autant de réservations existantes que vous le souhaitez à votre engagement.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/commitments
{
"name": "COMMITMENT_NAME",
"plan": "PLAN",
"type": "COMMITMENT_TYPE",
"resources":
[
{
"amount": "COMMITTED_VCPUS",
"type": "VCPU"
},
{
"amount": "COMMITTED_MEMORY",
"type": "MEMORY"
},
{
"acceleratorType": "COMMITTED_ACCELERATOR_TYPE",
"amount": "COMMITTED_ACCELERATOR_COUNT",
"type": "ACCELERATOR"
},
{
"amount": "COMMITTED_LOCAL_SSD",
"type": "LOCAL_SSD"
}
],
"customEndTimestamp": "CUSTOM_END_DATETEND_TIMEZ",
"existingReservations": "RESERVATION_URLs"
}
Remplacez les éléments suivants :
COMMITMENT_NAME: nom de l'engagement.REGION: région où se trouve l'engagement.PROJECT_ID: ID du projet dans lequel vous souhaitez souscrire l'engagement avec les réservations associées.PLAN: forfait d'engagement qui détermine votre taux de remise sur engagement d'utilisation et la durée prédéfinie. IndiquezTWELVE_MONTHouTHIRTY_SIX_MONTH.COMMITMENT_TYPE: type d'engagement. Les types d'engagements suivants fournissent des options pour les GPU, les disques SSD locaux ou les deux :- Pour les types de machines A2, utilisez
ACCELERATOR_OPTIMIZED - Pour les types de machines A3 Edge et A3 High, utilisez
ACCELERATOR_OPTIMIZED_A3. - Pour les types de machines A3 Mega, utilisez
ACCELERATOR_OPTIMIZED_A3_MEGA - Pour les types de machines G2, utilisez
GRAPHICS_OPTIMIZED. - Pour les types de machines G4, utilisez
GRAPHICS_OPTIMIZED_G4. - Pour les types de machines C2, utilisez
COMPUTE_OPTIMIZED - Pour les types de machines C2D, utilisez
COMPUTE_OPTIMIZED_C2D - Pour les types de machines C3, utilisez
COMPUTE_OPTIMIZED_C3 - Pour les types de machines C3D, utilisez
COMPUTE_OPTIMIZED_C3D - Pour les types de machines N1, utilisez
GENERAL_PURPOSE - Pour les types de machines C4, utilisez
GENERAL_PURPOSE_C4 - Pour les types de machines C4A, utilisez
GENERAL_PURPOSE_C4A - Pour les types de machines C4D, utilisez
GENERAL_PURPOSE_C4D - Pour les types de machines C4N, utilisez
NETWORK_OPTIMIZED_C4N - Pour les types de machines N2, utilisez
GENERAL_PURPOSE_N2 - Pour les types de machines N2D, utilisez
GENERAL_PURPOSE_N2D. - Pour les types de machines M1, utilisez
MEMORY_OPTIMIZED - Pour les types de machines M3, utilisez
MEMORY_OPTIMIZED_M3 - Pour les types de machines Z3, utilisez
STORAGE_OPTIMIZED_Z3
- Pour les types de machines A2, utilisez
COMMITTED_VCPUS: nombre de processeurs virtuels souhaités dans votre engagement. Il doit s'agit d'un nombre entier positif.COMMITTED_MEMORY: quantité de mémoire souhaitée dans votre engagement. Pour REST, Compute Engine utilise le mégaoctet comme unité par défaut. Toutefois, notez que lorsque vous utilisez gcloud CLI, Compute Engine utilise le gigaoctet comme unité par défaut.COMMITTED_LOCAL_SSD: quantité, en Go, d'espace de stockage SSD local que vous souhaitez dans votre engagement.COMMITTED_ACCELERATOR_COUNT: nombre de GPU souhaité dans votre engagement.COMMITTED_ACCELERATOR_TYPE: type de GPU que vous souhaitez inclure dans votre engagement.CUSTOM_END_DATE: facultatif. Date de fin personnalisée pour votre période, qui doit être au formatYYYY-MM-DD. Par exemple, pour spécifier une date de fin personnalisée au 20 avril 2024, utilisez le format2024-04-20.END_TIME: minuit, heure du Pacifique des États-Unis et du Canada (UTC-8 ou UTC-7), en tant que décalage par rapport au temps universel coordonné (UTC). Spécifiez cette valeur uniquement si vous avez défini une date de fin personnalisée pour votre engagement. Spécifiez une des valeurs suivantes :- Pendant l'heure d'été :
07:00:00 - À d'autres moments :
08:00:00
- Pendant l'heure d'été :
RESERVATION_URLs: liste des URL des réservations existantes que vous souhaitez associer à l'engagement, séparées par une virgule. Par exemple, pour associer deux réservations,res-1etres-2, spécifiez les éléments suivants:"https://www.googleapis.com/compute/v1/projects/my-project/zones/us-central1-a/reservations/example-res-1", "https://www.googleapis.com/compute/v1/projects/my-project/zones/us-central1-c/reservations/example-res-2"
Exemple : Souscrire un engagement en associant des réservations existantes
Supposons que vous ayez deux réservations res-01 et res-02 dans les zones us-central1-a et us-central1-b du projet myproject.
Supposons que ces réservations contiennent une capacité combinée pour quatre GPU NVIDIA P100 et quatre disques SSD locaux. Pour souscrire un nouvel engagement dans la région us-central1 de ce projet pour ces GPU et disques SSD locaux, et pour utiliser ces réservations existantes en tant que réservations associées, effectuez la requête POST suivante. L'engagement spécifie 96 vCPU, 624 Go de mémoire, 4 GPU NVIDIA P100 et 1 500 Go de stockage SSD local.
Notez que la valeur de stockage SSD local doit être spécifiée en Go. Pour la mémoire, vous devez spécifier la valeur en Mo. Toutefois, notez que lorsque vous utilisez gcloud CLI, Compute Engine utilise le gigaoctet comme unité de mémoire par défaut.
POST https://compute.googleapis.com/compute/v1/projects/my-project/regions/us-central1/commitments
{
"name": "commitment-01",
"plan": "TWELVE_MONTH",
"type": "GENERAL_PURPOSE",
"resources":
[
{
"amount": "96",
"type": "VCPU"
},
{
"amount": "638976",
"type": "MEMORY"
},
{
"acceleratorType": "nvidia-tesla-p100",
"amount": "4",
"type": "ACCELERATOR"
},
{
"amount": "1500",
"type": "LOCAL_SSD"
}
],
"existingReservations":
[
"https://www.googleapis.com/compute/v1/projects/my-project/zones/us-central1-a/reservations/res-01",
"https://www.googleapis.com/compute/v1/projects/my-project/zones/us-central1-b/reservations/res-02"
]
}
Créer des réservations à associer
Vous pouvez créer vos réservations associées lors de la souscription de votre engagement à l'aide de la console Google Cloud , de la Google Cloud CLI ou de REST.
Console
Avant de souscrire un engagement à l'aide de la console Google Cloud , sélectionnez le projet que vous souhaitez utiliser pour souscrire l'engagement. Si le partage de remises sur engagement d'utilisation est activé sur un compte de facturation Cloud, vous pouvez utiliser n'importe quel projet associé à ce compte de facturation Cloud pour souscrire l'engagement. Après avoir sélectionné le projet, procédez comme suit:
Dans la console Google Cloud , accédez à la page Remises sur les engagements d'utilisation. Accéder aux remises sur engagement d'utilisation
Cliquez sur Souscrire un engagement. La page Acheter un engagement s'affiche.
Dans le champ Nom, saisissez le nom de votre engagement.
Dans le champ Région, sélectionnez la région dans laquelle vous souhaitez souscrire l'engagement.
Dans le champ Type d'engagement, sélectionnez la série de familles de machines de votre engagement. Les types d'engagement suivants fournissent des options pour les GPU, les disques SSD locaux ou les deux :
- Pour les types de machines A2, sélectionnez Optimisé pour l'accélérateur (A2).
- Pour les types de machines A3 Edge et A3 High, sélectionnez Optimisé pour l'accélérateur (A3).
- Pour les types de machines A3 Mega, sélectionnez A3 Mega optimisé pour les accélérateurs.
- Pour les types de machines G2, sélectionnez Optimisé pour les graphiques (G2).
- Pour les types de machines G4, sélectionnez Optimisé pour les graphiques (G4).
- Pour les types de machines C2, sélectionnez Optimisé pour le calcul (C2).
- Pour les types de machines C2D, sélectionnez Optimisé pour le calcul (C2D).
- Pour les types de machines C3, sélectionnez Usage général (C3).
- Pour les types de machines C3D, sélectionnez C3D à usage général.
- Pour les types de machines C4, sélectionnez Usage général (C4).
- Pour les types de machines C4A, sélectionnez Usage général C4A.
- Pour les types de machines C4D, sélectionnez Usage général (C4D).
- Pour les types de machines C4N, sélectionnez C4N optimisé pour le réseau.
- Pour les types de machines N1, sélectionnez Usage général (N1).
- Pour les types de machines N2, sélectionnez Usage général (N2).
- Pour les types de machines N2D, sélectionnez Usage général (N2D).
- Pour les types de machines M1, sélectionnez M1/M2 à mémoire optimisée.
- Pour les types de machines M3, sélectionnez M3 à mémoire optimisée.
- Pour les types de machines Z3, sélectionnez Optimisé pour le stockage Z3.
Pour créer une réservation et l'associer à l'engagement, procédez comme suit :
Cochez la case Joindre une réservation nouvelle ou existante.
Cliquez sur Créer une réservation. Le volet Créer une réservation s'affiche.
Dans le champ Nom, saisissez un nom pour la réservation.
Facultatif : Dans le champ Description, saisissez une description.
Dans le champ Zone, sélectionnez la zone dans laquelle vous souhaitez que les ressources réservées soient disponibles.
Dans la section Type de partage, spécifiez le mode de partage de cette réservation :
- Pour créer une réservation à un seul projet, sélectionnez Local.
- Pour créer une réservation partagée avec plusieurs projets, sélectionnez Partagé. Cliquez ensuite sur Ajouter des projets, puis sélectionnez les projets de votre choix.
Dans la section Services Google Cloud, indiquez si vous souhaitez partager cette réservation avec d'autres services tels que Google Kubernetes Engine ou Vertex AI.
Dans la section Utiliser avec une instance de VM, sélectionnez la manière dont vous souhaitez que les VM utilisent votre réservation :
- Pour autoriser les VM ayant des propriétés correspondantes à utiliser automatiquement cette réservation, sélectionnez Utiliser automatiquement une réservation.
- Pour n'utiliser les ressources de cette réservation que lorsqu'elle est spécifiquement ciblée par son nom, sélectionnez Sélectionner une réservation spécifique.
Dans la section Détails de la ressource, procédez comme suit :
Dans le champ Nombre d'instances de VM, saisissez le nombre de VM.
Dans la section Configuration de la machine, spécifiez les propriétés en sélectionnant Type de machine. Sélectionnez un type de machine dans la liste ou Personnalisé pour spécifier le nombre de cœurs et la quantité de mémoire.
Facultatif : Si vous souhaitez réserver des GPU, cliquez sur Ajouter un GPU, puis spécifiez le type de GPU et le nombre de GPU pour chaque VM.
Facultatif : Si vous souhaitez réserver des disques SSD locaux, spécifiez le nombre de disques et le type d'interface.
Facultatif : Si vous souhaitez spécifier une règle d'emplacement de groupe, sélectionnez ou créez-en une dans la liste Règle d'emplacement de groupe.
Pour terminer la spécification des propriétés de cette réservation, cliquez sur Créer et associer.
Facultatif : Si vous souhaitez créer et associer d'autres réservations, cliquez à nouveau sur Créer une réservation et répétez ces étapes.
Une fois vos réservations associées, Compute Engine remplit automatiquement les champs de la section Détails de l'engagement pour qu'ils correspondent au nombre et aux types de ressources de vos réservations associées. Si vous avez saisi manuellement des valeurs pour des ressources dans la section Détails de l'engagement avant d'associer des réservations, vos valeurs seront remplacées par celles des réservations.
Dans la section Détails de l'engagement, procédez comme suit :
Dans le champ Cœurs, vérifiez la valeur préremplie. Vous pouvez éventuellement spécifier un autre nombre de processeurs virtuels.
Dans le champ Mémoire, vérifiez la quantité de mémoire préremplie en Go. Vous pouvez également spécifier un montant différent. Vous ne pouvez spécifier la mémoire que par incréments de 0,25 Go. Pour spécifier une valeur de mémoire personnalisée pour votre engagement, utilisez plutôt gcloud CLI ou REST.
Développez la section GPU et SSD locaux, puis vérifiez que les types et les nombres correspondent entre l'engagement et les réservations associées, comme suit :
Dans le champ Type de GPU, vérifiez le type de GPU prérempli.
Dans le champ Nombre de GPU, vérifiez le nombre de GPU prérempli.
Dans le champ Disques SSD locaux, vérifiez le nombre de disques prérempli.
Si vous spécifiez manuellement des valeurs différentes de celles des réservations associées pour l'un de ces champs, votre achat d'engagement n'est pas effectué. Pour tous les GPU et la plupart des disques SSD locaux, le nombre total et les types doivent correspondre entre votre engagement et les réservations associées.
Dans la section Terme, procédez comme suit :
Pour spécifier le forfait de votre engagement, sélectionnez 1 an ou 3 ans. Le forfait détermine le taux de remise sur engagement d'utilisation et la durée prédéfinie de votre engagement.
Consultez le champ Date de début, qui indique la date et l'heure d'activation de votre engagement. Ce champ est automatiquement défini sur minuit (heure du Pacifique aux États-Unis et au Canada) le lendemain de la date actuelle.
Facultatif. Pour étendre la durée de votre engagement au-delà de la durée prédéfinie par votre forfait d'engagement, spécifiez une date de fin personnalisée dans le champ Date de fin. Pour en savoir plus, consultez Prolonger les conditions d'engagement.
Facultatif. Si vous souhaitez que votre engagement soit automatiquement renouvelé à la fin de sa durée, cochez la case Renouveler automatiquement l'engagement.
Dans le volet Résumé, vérifiez les détails de votre engagement et les éventuelles limites de quota.
Pour terminer la souscription de votre engagement, procédez comme suit :
Accédez au bas de la page.
Consultez la section Informations, qui contient des informations sur les frais, l'éligibilité aux remises, ainsi que les conditions d'utilisation.
Pour confirmer que vous acceptez le prix avec engagement et les conditions spécifiques au service, cochez la case.
Cliquez sur Souscrire.
gcloud
Pour créer vos réservations associées lors de la souscription de votre engagement, exécutez la commande gcloud compute commitments create.
Selon que vous souhaitez associer une ou plusieurs réservations, exécutez la commande de l'une des manières suivantes:
Pour créer et associer une réservation unique à votre engagement, définissez les propriétés de la réservation associée en exécutant la commande suivante:
gcloud compute commitments create COMMITMENT_NAME \ --region=REGION \ --project=PROJECT_ID \ --plan PLAN \ --type COMMITMENT_TYPE --resources=vcpu=COMMITTED_VCPUS,memory=COMMITTED_MEMORY,local-ssd=COMMITTED_LOCAL_SSD \ --resources-accelerator=count=COMMITTED_ACCELERATOR_COUNT,type=COMMITTED_ACCELERATOR_TYPE \ --custom-end-time=CUSTOM_END_DATE \ --reservation=RESERVATION_NAME \ --reservation-zone=RESERVATION_ZONE \ --machine-type=RESERVED_MACHINE_TYPE \ --require-specific-reservation=REQUIRE_SPECIFIC_RESERVATION_VALUE \ --vm-count=NUMBER_OF_RESERVED_VMs \ --accelerator=type=RESERVED_ACCELERATOR_TYPE,count=RESERVED_ACCELERATOR_COUNT \ --local-ssd=interface=INTERFACE_1,size=375 \ --local-ssd=interface=INTERFACE_2,size=375 \ --minimum-cpu-platform=MINIMUM_CPU_PLATFORM \ --share-setting=SHARE_SETTING \ --share-with=CONSUMER_PROJECT_ID_1,CONSUMER_PROJECT_ID_2Pour créer et associer plusieurs réservations à votre engagement, définissez les propriétés de la réservation à l'aide d'un fichier YAML, puis spécifiez ce fichier YAML dans la commande que vous utilisez pour souscrire votre engagement. Vous pouvez également utiliser cette approche de fichier YAML pour créer et associer une réservation unique à votre engagement. Pour créer vos réservations associées à l'aide de cette approche, procédez comme suit:
Créez le fichier YAML dans le répertoire actuel et spécifiez la configuration souhaitée pour chaque réservation associée. Par exemple, pour spécifier la configuration d'une réservation partagée avec deux projets qui spécifient les GPU, deux disques SSD locaux et une configuration minimale de la plate-forme du processeur, incluez le texte suivant dans votre fichier YAML :
- reservation: RESERVATION_NAME reservation_zone: RESERVATION_ZONE require_specific_reservation: REQUIRE_SPECIFIC_RESERVATION_VALUE vm_count: NUMBER_OF_RESERVED_VMs machine_type: RESERVED_MACHINE_TYPE accelerator: - count: RESERVED_ACCELERATOR_COUNT type: RESERVED_ACCELERATOR_TYPE localssd: - interface: INTERFACE_1 size: 375 - interface: INTERFACE_2 size: 375 project: OWNER_PROJECT_ID minimum-cpu-platform: MINIMUM_CPU_PLATFORM share-setting: SHARE_SETTING share-with: - CONSUMER_PROJECT_ID_1 - CONSUMER_PROJECT_ID_2Pour spécifier la configuration de plusieurs réservations, répétez ces propriétés pour chaque réservation que vous souhaitez créer. Vous pouvez associer le nombre de réservations existantes que vous souhaitez à votre engagement.
Exécutez la commande
gcloud compute commitments createen incluant l'option--reservation-from-file.gcloud compute commitments create COMMITMENT_NAME \ --region REGION \ --project PROJECT_ID \ --plan PLAN \ --type COMMITMENT_TYPE \ --resources=vcpu=COMMITTED_VCPUS,memory=COMMITTED_MEMORY,local-ssd=COMMITTED_LOCAL_SSD \ --resources-accelerator=count=COMMITTED_ACCELERATOR_COUNT,type=COMMITTED_ACCELERATOR_TYPE \ --reservations-from-file=YAML_FILE
Remplacez les éléments suivants par les propriétés correspondantes de l'engagement et des réservations associées:
Engagement
COMMITMENT_NAME: nom de l'engagement.REGION: région où se trouve l'engagement.PROJECT_ID: ID du projet dans lequel vous souhaitez souscrire l'engagement avec les réservations associées.PLAN: forfait d'engagement qui détermine votre taux de remise sur engagement d'utilisation et la durée prédéfinie. Indiquez12-monthou36-month.CUSTOM_END_DATE: facultatif. Une date de fin personnalisée pour votre période, qui doit être au formatYYYY-MM-DD. Par exemple, pour spécifier une date de fin personnalisée au 20 avril 2024, formatez-la comme suit :2024-04-20.COMMITMENT_TYPE: type d'engagement. Les types d'engagements suivants fournissent des options pour les GPU, les disques SSD locaux ou les deux :- Pour les types de machines A2, utilisez
accelerator-optimized - Pour les types de machines A3 Edge et A3 High, utilisez
accelerator-optimized-a3. - Pour les types de machines A3 Mega, utilisez
accelerator-optimized-a3-mega - Pour les types de machines G2, utilisez
graphics-optimized. - Pour les types de machines G4, utilisez
graphics-optimized-g4. - Pour les types de machines C2, utilisez
compute-optimized - Pour les types de machines C2D, utilisez
compute-optimized-c2d - Pour les types de machines C3, utilisez
compute-optimized-c3 - Pour les types de machines C3D, utilisez
compute-optimized-c3d - Pour les types de machines N1, utilisez
general-purpose - Pour les types de machines C4, utilisez
general-purpose-c4 - Pour les types de machines C4A, utilisez
general-purpose-c4a - Pour les types de machines C4D, utilisez
general-purpose-c4d - Pour les types de machines C4N, utilisez
network-optimized-c4n - Pour les types de machines N2, utilisez
general-purpose-n2 - Pour les types de machines N2D, utilisez
general-purpose-n2d. - Pour les types de machines M1, utilisez
memory-optimized - Pour les types de machines M3, utilisez
memory-optimized-m3 - Pour les types de machines Z3, utilisez
storage-optimized-z3
- Pour les types de machines A2, utilisez
COMMITTED_VCPUS: nombre de processeurs virtuels souhaité dans votre engagement. Il doit s'agit d'un nombre entier positif.COMMITTED_MEMORY: quantité de mémoire en Mo ou en Go que vous souhaitez dans votre engagement. Par exemple,10GBou10240MB. Pour la gcloud CLI, vous pouvez spécifier la mémoire en Mo ou en Go. Si vous ne spécifiez pas d'unité, Compute Engine utilise le gigaoctet comme unité par défaut. Toutefois, notez que lorsque vous utilisez REST, Compute Engine utilise le mégaoctet comme unité par défaut.COMMITTED_LOCAL_SSD: quantité de stockage SSD local, qui doit être spécifiée en Go (par exemple,375GB).COMMITTED_ACCELERATOR_COUNT: nombre de GPU souhaité dans votre engagement.COMMITTED_ACCELERATOR_TYPE: type de GPU que vous souhaitez inclure dans votre engagement.YAML_FILE: chemin d'accès au fichier YAML contenant la configuration des réservations associées.
Réservations jointes
RESERVATION_NAME: nom de la réservation associée.RESERVATION_ZONE: zone de la réservation associée.REQUIRE_SPECIFIC_RESERVATION_VALUE: indique si la réservation associée est une réservation spécifiquement ciblée.trueoufalse. Pour en savoir plus sur les réservations spécifiquement ciblées, consultez la section Fonctionnement des réservations.NUMBER_OF_RESERVED_VMS: nombre de VM que vous souhaitez réserver dans la réservation associée.RESERVED_MACHINE_TYPE: type de machine que vous souhaitez utiliser pour les VM de votre réservation associée.- Pour les types de machines prédéfinis, utilisez le format
MACHINE_FAMILY-standard-CPUS(par exemple,n2-standard-4). Pour les types de machines personnalisés, utilisez le format
MACHINE_FAMILY-custom-CPUS-MEMORY(par exemple,n2-custom-4-5120). Pour afficher la liste complète des restrictions, lisez les spécifications qui s'appliquent aux types de machines personnalisés.Remplacez les éléments suivants :
MACHINE_FAMILY: la famille de types de machines. Par exemple, spécifiezn2pour les VM N2.CPUS: le nombre de processeurs virtuels.MEMORY: la mémoire totale d'une VM réservée. La mémoire doit être un multiple de 256 Mo et doit être exprimée en Mo. Par exemple, pour créer une VM N2 avec 4 vCPU et 5 Go de mémoire (soit 5120 Mo), utilisezn2-custom-4-5120.
- Pour les types de machines prédéfinis, utilisez le format
RESERVED_ACCELERATOR_COUNT: nombre de GPU que vous souhaitez ajouter, par VM, dans la réservation associée.RESERVED_ACCELERATOR_TYPE: le type d'accélérateur que vous souhaitez ajouter dans la réservation associée.INTERFACE_1etINTERFACE_2: le type d'interface que les disques SSD locaux doivent utiliser pour chaque VM réservée. Les options valides sont :scsietnvme. Répétez le paramètrelocal_ssdpour chaque disque SSD local que vous souhaitez ajouter. Vous pouvez spécifier jusqu'à 24 disques SSD locaux.OWNER_PROJECT_ID: ID du projet dans lequel vous souhaitez souscrire l'engagement avec la réservation associée. Spécifiez ce champ si vous souhaitez partager votre réservation associée entre plusieurs projets clients.MINIMUM_CPU_PLATFORM: configuration minimale de la plate-forme de processeur que vous souhaitez spécifier pour la réservation associée.SHARE_SETTING: type de partage pour la réservation associée. Spécifiez ce champ avec la valeurprojectssi vous souhaitez partager votre réservation associée entre plusieurs projets clients. Excluez ce champ si vous souhaitez créer une réservation à projet unique.CONSUMER_PROJECT_ID_1etCONSUMER_PROJECT_ID_2: ID des projets pouvant partager cette réservation, par exempleproject-1etproject-2. Vous pouvez inclure jusqu'à 100 projets clients. Ces projets doivent appartenir à la même organisation que le projet propriétaire. N'incluez pas l'ID du projet dans lequel vous créez cette réservation, car ce projet est autorisé à utiliser cette réservation par défaut. Excluez ces champs si vous souhaitez créer une réservation à projet unique.
Compute Engine crée l'engagement avec les réservations associées uniquement s'il y a suffisamment de ressources du type de machine spécifié dans la zone cible et des quotas suffisants au moment de la requête. Si votre achat a bien été effectué, un message de réussite semblable à celui-ci s'affiche:
Created[https://www.googleapis.com/compute/v1/projects/your-project/regions/your-region/commitments/your-commitment-name]
Exemples
Les exemples de scénarios et de commandes suivants montrent comment souscrire un engagement pour des GPU, des disques SSD locaux ou les deux en créant des réservations à associer à cet engagement.
Exemple 1 : Souscrire un engagement pour des GPU en associant une seule nouvelle réservation
Supposons que vous souhaitiez souscrire un engagement d'un an pour des ressources à usage général (ou des ressources GPU) dans la région us-central1 avec 96 processeurs virtuels, 624 Go de mémoire et 4 GPU NVIDIA V100. Vous souhaitez créer une réservation reservation-01 dans la zone us-central1-a qui réserve deux VM n1-standard-32 (chacune avec 32 processeurs virtuels, 120 Go de mémoire et deux GPU NVIDIA V100) pour consommer ces ressources engagées. Pour souscrire cet exemple d'engagement avec la réservation associée, exécutez la commande suivante. Pour gcloud CLI, vous pouvez spécifier la mémoire en Mo ou en Go.
Si vous ne spécifiez pas d'unité, Compute Engine utilise le gigaoctet comme unité par défaut. Toutefois, notez que lorsque vous utilisez REST, Compute Engine utilise le mégaoctet comme unité par défaut.
gcloud compute commitments create commitment-01 \
--region=us-central1 \
--project=myproject \
--resources=vcpu=96,memory=624GB \
--resources-accelerator=type=nvidia-tesla-v100,count=4 \
--plan 12-month \
--reservation=reservation-01 \
--reservation-zone=us-central1-a \
--machine-type=n1-standard-32 \
--accelerator=type=nvidia-tesla-v100,count=2 \
--vm-count=2
Exemple 2 : Souscrire un engagement pour des GPU sans spécifier de processeurs virtuels ni de mémoire
Pour souscrire un engagement et effectuer une réservation pour des GPU et des disques SSD locaux sans acheter de processeurs virtuels ni de mémoire, spécifiez 0 comme valeur pour les quantités de processeurs virtuels et de mémoire.
Par exemple, supposons que vous souhaitiez souscrire un engagement d'un an pour des ressources de GPU dans la région us-west2 avec 0 processeur virtuel, 0 Go de mémoire et 1 GPU NVIDIA P4. Vous souhaitez également créer une réservation reservation-01 dans la zone us-west2-b qui réserve une VM n1-standard-2 (avec deux processeurs virtuels, 7, 5 Go de mémoire et un GPU NVIDIA P4) à associer à l'engagement. Pour souscrire cet exemple d'engagement avec la réservation associée, exécutez la commande suivante. Pour gcloud CLI, vous pouvez spécifier la mémoire en Mo ou en Go. Si vous ne spécifiez pas d'unité, Compute Engine utilise le gigaoctet comme unité par défaut. Toutefois, notez que lorsque vous utilisez REST, Compute Engine utilise le mégaoctet comme unité par défaut.
gcloud compute commitments create commitment-02 \
--region=us-west2 \
--project=myproject \
--resources=vcpu=0,memory=0 \
--resources-accelerator=type=nvidia-tesla-p4,count=1 \
--plan 12-month \
--reservation=reservation-01 \
--reservation-zone=us-west2-b \
--machine-type=n1-standard-2 \
--accelerator=type=nvidia-tesla-p4,count=1 \
--vm-count=1
Exemple 3 : Souscrire un engagement pour des GPU et des disques SSD locaux en associant plusieurs nouvelles réservations
Supposons que vous souhaitiez souscrire un engagement d'un an pour des ressources à usage général (ou des ressources GPU et SSD local) dans la région us-central1. Vous souhaitez souscrire un engagement pour 96 vCPU, 624 Go de mémoire, un GPU NVIDIA V100 et 750 Go de stockage SSD local (correspondant à deux disques SSD locaux).
Vous souhaitez également créer et associer deux réservations dans la zone us-central1-a. Dans la première réservation, res-01, vous souhaitez réserver une VM n1-standard-2 (avec deux vCPU, 7, 5 Go de mémoire et un GPU NVIDIA V100). Il s'agit d'une réservation ciblée. Dans la deuxième réservation, res-02, vous souhaitez réserver une VM n1-standard-8 (avec 8 processeurs virtuels et 30 Go de mémoire) et associer deux disques SSD locaux (une interface SCSI et une interface NVMe).
Pour souscrire cet exemple d'engagement avec les réservations associées, commencez par créer le fichier YAML avec les propriétés des deux réservations comme suit :
- reservation: res-01
reservation_zone: us-central1-a
require_specific_reservation: true
vm_count: 1
machine_type: n1-standard-2
accelerator:
- count: 1
type: nvidia-tesla-v100
- reservation: res-02
reservation_zone: us-central1-a
vm_count: 1
machine_type: n1-standard-8
local_ssd:
- interface: scsi
size: 375
- interface: nvme
size: 375
Après avoir créé le fichier YAML, pour terminer la souscription de l'engagement avec les réservations associées, exécutez la commande suivante. La valeur de stockage du SSD local doit être spécifiée en Go (par exemple, 375GB). Pour gcloud CLI, vous pouvez spécifier la mémoire en Mo ou en Go. Si vous ne spécifiez pas d'unité, Compute Engine utilise le gigaoctet comme unité par défaut. Toutefois, notez que lorsque vous utilisez REST, Compute Engine utilise le mégaoctet comme unité de mémoire par défaut.
gcloud compute commitments create commitment-03 \
--region=us-central1 \
--project=myproject \
--resources=vcpu=96,memory=624,local-ssd=750 \
--resources-accelerator=type=nvidia-tesla-v100,count=1 \
--plan 12-month \
--reservations-from-file=YAML_FILE
REST
Pour créer vos réservations associées lors de la souscription de votre engagement, envoyez une requête POST à la méthode regionCommitments.insert.
Dans votre requête, incluez le champ reservations pour définir la liste de toutes les nouvelles réservations que vous souhaitez créer et associer. Vous pouvez associer le nombre de réservations existantes que vous souhaitez à votre engagement.
Pour créer votre réservation en spécifiant manuellement toutes les propriétés de la VM, incluez le champ
instancePropertieset excluez le champsourceInstanceTemplate.Par exemple, pour spécifier manuellement la configuration d'une réservation partagée avec deux projets qui spécifient des GPU, deux disques SSD locaux et une configuration minimale de plate-forme de processeur, envoyez la requête suivante:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/commitments { "name": "COMMITMENT_NAME", "plan": "PLAN", "type": "COMMITMENT_TYPE", "resources": [ { "amount": "COMMITTED_VCPUS", "type": "VCPU" }, { "amount": "COMMITTED_MEMORY", "type": "MEMORY" }, { "acceleratorType": "COMMITTED_ACCELERATOR_TYPE", "amount": "COMMITTED_ACCELERATOR_COUNT", "type": "ACCELERATOR" }, { "amount": "COMMITTED_LOCAL_SSD", "type": "LOCAL_SSD" } ], "customEndTimestamp": "CUSTOM_END_DATETEND_TIMEZ", "reservations": [ { "name": "RESERVATION_NAME", "specificReservation": { "count": "NUMBER_OF_RESERVED_VMS", "instanceProperties": { "guestAccelerators": [ { "acceleratorCount": "RESERVED_ACCELERATOR_COUNT", "acceleratorType": "RESERVED_ACCELERATOR_TYPE" } ], "localSsds": [ { "diskSizeGb": "375", "interface": "RESERVED_INTERFACE_1" }, { "diskSizeGb": "375", "interface": "RESERVED_INTERFACE_2" } ], "machineType": "RESERVED_MACHINE_TYPE", "minCpuPlatform": "MINIMUM_CPU_PLATFORM" } }, "specificReservationRequired": "REQUIRE_SPECIFIC_RESERVATION_VALUE", "zone": "RESERVED_ZONE", "shareSettings": { "shareType": "SPECIFIC_PROJECTS", "projectMap": { "CONSUMER_PROJECT_ID_1": { "projectId": "CONSUMER_PROJECT_ID_1" }, "CONSUMER_PROJECT_ID_2": { "projectId": "CONSUMER_PROJECT_ID_2" } } } } ] }Pour créer votre réservation en spécifiant un modèle d'instance, incluez le champ
sourceInstanceTemplateet excluez le champinstanceProperties.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/commitments { "name": "COMMITMENT_NAME", "plan": "PLAN", "type": "COMMITMENT_TYPE", "resources": [ { "amount": "COMMITTED_VCPUS", "type": "VCPU" }, { "amount": "COMMITTED_MEMORY", "type": "MEMORY" }, { "acceleratorType": "COMMITTED_ACCELERATOR_TYPE", "amount": "COMMITTED_ACCELERATOR_COUNT", "type": "ACCELERATOR" }, { "amount": "COMMITTED_LOCAL_SSD", "type": "LOCAL_SSD" } ], "customEndTimestamp": "CUSTOM_END_DATETEND_TIMEZ", "reservations": [ { "name": "RESERVATION_NAME", "specificReservation": { "count": "NUMBER_OF_RESERVED_VMS", "sourceInstanceTemplate": "projects/PROJECT_ID/LOCATION/instanceTemplates/INSTANCE_TEMPLATE_NAME" }, "specificReservationRequired": "REQUIRE_SPECIFIC_RESERVATION_VALUE", "zone": "RESERVED_ZONE", "shareSettings": { "shareType": "SPECIFIC_PROJECTS", "projectMap": { "CONSUMER_PROJECT_ID_1": { "projectId": "CONSUMER_PROJECT_ID_1" }, "CONSUMER_PROJECT_ID_2": { "projectId": "CONSUMER_PROJECT_ID_2" } } } } ] }
Remplacez les éléments suivants par les propriétés correspondantes de l'engagement et des réservations associées:
Engagement
COMMITMENT_NAME: nom de l'engagement.REGION: région où se trouve l'engagement.PROJECT_ID: ID du projet dans lequel vous souhaitez souscrire l'engagement avec les réservations associées.PLAN: forfait d'engagement qui détermine votre taux de remise sur engagement d'utilisation et la durée prédéfinie. IndiquezTWELVE_MONTHouTHIRTY_SIX_MONTH.COMMITMENT_TYPE: type d'engagement. Les types d'engagements suivants fournissent des options pour les GPU, les disques SSD locaux ou les deux :- Pour les types de machines A2, utilisez
ACCELERATOR_OPTIMIZED - Pour les types de machines A3 Edge et A3 High, utilisez
ACCELERATOR_OPTIMIZED_A3. - Pour les types de machines A3 Mega, utilisez
ACCELERATOR_OPTIMIZED_A3_MEGA - Pour les types de machines G2, utilisez
GRAPHICS_OPTIMIZED. - Pour les types de machines G4, utilisez
GRAPHICS_OPTIMIZED_G4. - Pour les types de machines C2, utilisez
COMPUTE_OPTIMIZED - Pour les types de machines C2D, utilisez
COMPUTE_OPTIMIZED_C2D - Pour les types de machines C3, utilisez
COMPUTE_OPTIMIZED_C3 - Pour les types de machines C3D, utilisez
COMPUTE_OPTIMIZED_C3D - Pour les types de machines N1, utilisez
GENERAL_PURPOSE - Pour les types de machines C4, utilisez
GENERAL_PURPOSE_C4 - Pour les types de machines C4A, utilisez
GENERAL_PURPOSE_C4A - Pour les types de machines C4D, utilisez
GENERAL_PURPOSE_C4D - Pour les types de machines C4N, utilisez
NETWORK_OPTIMIZED_C4N - Pour les types de machines N2, utilisez
GENERAL_PURPOSE_N2 - Pour les types de machines N2D, utilisez
GENERAL_PURPOSE_N2D. - Pour les types de machines M1, utilisez
MEMORY_OPTIMIZED - Pour les types de machines M3, utilisez
MEMORY_OPTIMIZED_M3 - Pour les types de machines Z3, utilisez
STORAGE_OPTIMIZED_Z3
- Pour les types de machines A2, utilisez
COMMITTED_VCPUS: nombre de processeurs virtuels souhaité dans votre engagement. Il doit s'agit d'un nombre entier positif.COMMITTED_MEMORY: quantité de mémoire souhaitée dans votre engagement. Pour REST, Compute Engine utilise le mégaoctet comme unité par défaut. Toutefois, notez que lorsque vous utilisez gcloud CLI, Compute Engine utilise le gigaoctet comme unité par défaut.COMMITTED_LOCAL_SSD: quantité, en Go, d'espace de stockage SSD local que vous souhaitez dans votre engagement.COMMITTED_ACCELERATOR_COUNT: nombre de GPU souhaité dans votre engagement.COMMITTED_ACCELERATOR_TYPE: type de GPU que vous souhaitez inclure dans votre engagement.CUSTOM_END_DATE: facultatif. Une date de fin personnalisée pour votre période, qui doit être au formatYYYY-MM-DD. Par exemple, pour spécifier une date de fin personnalisée au 20 avril 2024, formatez-la comme suit :2024-04-20.END_TIME: minuit, heure du Pacifique des États-Unis et du Canada (UTC-8 ou UTC-7), en tant que décalage par rapport au temps universel coordonné (UTC). Spécifiez cette valeur uniquement si vous avez défini une date de fin personnalisée pour votre engagement. Spécifiez une des valeurs suivantes :- Pendant l'heure d'été :
07:00:00 - À d'autres moments :
08:00:00
- Pendant l'heure d'été :
Réservations jointes
RESERVATION_NAME: nom de la réservation associée.RESERVATION_ZONE: zone de la réservation associée.REQUIRE_SPECIFIC_RESERVATION_VALUE: indique si la réservation associée est une réservation spécifiquement ciblée.trueoufalse. Pour en savoir plus sur les réservations spécifiquement ciblées, consultez la section Fonctionnement des réservations.NUMBER_OF_RESERVED_VMS: nombre de VM que vous souhaitez réserver dans la réservation associée.RESERVED_MACHINE_TYPE: type de machine que vous souhaitez utiliser pour les VM de votre réservation associée.- Pour les types de machines prédéfinis, utilisez le format
MACHINE_FAMILY-standard-CPUS(par exemple,n2-standard-4). Pour les types de machines personnalisés, utilisez le format
MACHINE_FAMILY-custom-CPUS-MEMORY(par exemple,n2-custom-4-5120). Pour afficher la liste complète des restrictions, lisez les spécifications qui s'appliquent aux types de machines personnalisés.Remplacez les éléments suivants :
MACHINE_FAMILY: la famille de types de machines. Par exemple, spécifiezn2pour les VM N2.CPUS: le nombre de processeurs virtuels.MEMORY: la mémoire totale d'une VM réservée. La mémoire doit être un multiple de 256 Mo et doit être exprimée en Mo. Par exemple, pour créer une VM N2 avec 4 processeurs virtuels et 5 Go de mémoire (soit 5120 Mo), utilisezn2-custom-4-5120.
- Pour les types de machines prédéfinis, utilisez le format
RESERVED_ACCELERATOR_COUNT: nombre de GPU que vous souhaitez ajouter, par VM, dans la réservation associée.RESERVED_ACCELERATOR_TYPE: le type d'accélérateur que vous souhaitez ajouter dans la réservation associée.INTERFACE_1etINTERFACE_2: le type d'interface que les disques SSD locaux doivent utiliser pour chaque VM réservée. Les options valides sont :scsietnvme. Répétez le paramètrelocalSsdspour chaque disque SSD local que vous souhaitez ajouter. Vous pouvez spécifier jusqu'à 24 disques SSD locaux.MINIMUM_CPU_PLATFORM: configuration minimale de la plate-forme de processeur que vous souhaitez spécifier pour la réservation associée.INSTANCE_TEMPLATE_NAME: nom du modèle d'instance que vous souhaitez utiliser pour créer votre réservation associéeSHARE_SETTING: type de partage pour la réservation associée. Spécifiez ce champ avec la valeurSPECIFIC_PROJECTSsi vous souhaitez partager votre réservation associée entre plusieurs projets clients. Excluez ce champ si vous souhaitez créer une réservation à projet unique.CONSUMER_PROJECT_ID_1etCONSUMER_PROJECT_ID_2: ID des projets pouvant partager cette réservation, par exempleproject-1etproject-2. Vous pouvez inclure jusqu'à 100 projets clients. Ces projets doivent appartenir à la même organisation que le projet propriétaire. N'incluez pas l'ID du projet dans lequel vous créez cette réservation, car ce projet est autorisé à utiliser cette réservation par défaut. Excluez ces champs si vous souhaitez créer une réservation à projet unique.
Compute Engine crée l'engagement avec les réservations associées créées uniquement s'il y a suffisamment de ressources du type de machine spécifié dans la zone cible et des quotas suffisants au moment de la requête. Si votre achat a réussi, Compute Engine renvoie un état 200 pour votre requête API REST.
Exemples
Les exemples de scénarios et de commandes suivants montrent comment souscrire un engagement pour des GPU, des disques SSD locaux ou les deux en créant des réservations à associer à cet engagement.
Exemple 1 : Souscrire un engagement pour des GPU en associant une seule nouvelle réservation
Supposons que vous souhaitiez souscrire un engagement d'un an pour des ressources à usage général dans la région us-central1, qui inclut 96 processeurs virtuels, 624 Go de mémoire (soit 638 976 Mo) et quatre GPU NVIDIA V100.
Vous souhaitez créer une réservation reservation-01 dans la zone us-central1-a qui réserve deux VM n1-standard-8 (chacune avec huit processeurs virtuels, 30 Go de mémoire et deux GPU NVIDIA V100) à associer à cet engagement. Pour souscrire cet exemple d'engagement avec la réservation associée, envoyez la requête POST suivante. Pour REST, vous devez spécifier la mémoire en Mo. Toutefois, notez que lorsque vous utilisez gcloud CLI, Compute Engine utilise le gigaoctet comme unité par défaut.
POST https://compute.googleapis.com/compute/v1/projects/my-project/regions/us-central1/commitments
{
"name": "commitment-01",
"plan": "TWELVE_MONTH",
"type": "GENERAL_PURPOSE",
"resources":
[
{
"amount": "96",
"type": "VCPU"
},
{
"amount": "638976",
"type": "MEMORY"
},
{
"acceleratorType": "nvidia-tesla-v100",
"amount": "4",
"type": "ACCELERATOR"
}
],
"reservations":
[
{
"name": "reservation-01",
"specificReservation":
{
"count": "2",
"instanceProperties":
{
"guestAccelerators":
[
{
"acceleratorCount": 2,
"acceleratorType": "nvidia-tesla-v100"
}
],
"machineType": "n1-standard-8"
}
},
"specificReservationRequired": false,
"zone": "us-central1-a"
}
]
}
Exemple 2 : Souscrire un engagement pour des GPU sans spécifier de processeurs virtuels ni de mémoire
Pour souscrire un engagement et effectuer une réservation pour des GPU et des disques SSD locaux sans acheter de processeurs virtuels ni de mémoire, spécifiez 0 comme valeur pour les quantités de processeurs virtuels et de mémoire.
Par exemple, supposons que vous souhaitiez souscrire un engagement d'un an uniquement pour les ressources GPU dans la région us-west2, avec 0 processeur virtuel, 0 Mo de mémoire et 4 GPU NVIDIA P4. Vous souhaitez également créer une réservation reservation-01 dans la zone us-west2-b qui réserve une VM n1-standard-2 (avec deux processeurs virtuels, 7, 5 Go de mémoire et quatre GPU NVIDIA P4) à associer à l'engagement. Pour souscrire cet exemple d'engagement avec la réservation associée, envoyez la requête POST suivante. Pour REST, vous devez spécifier la mémoire en Mo.
Toutefois, notez que lorsque vous utilisez gcloud CLI, Compute Engine utilise le gigaoctet comme unité par défaut.
POST https://compute.googleapis.com/compute/v1/projects/my-project/regions/us-west2/commitments
{
"name": "commitment-02",
"plan": "TWELVE_MONTH",
"type": "GENERAL_PURPOSE",
"resources":
[
{
"amount": "0",
"type": "VCPU"
},
{
"amount": "0",
"type": "MEMORY"
},
{
"acceleratorType": "nvidia-tesla-p4",
"amount": "4",
"type": "ACCELERATOR"
}
],
"reservations":
[
{
"name": "reservation-01",
"specificReservation":
{
"count": "1",
"instanceProperties":
{
"guestAccelerators":
[
{
"acceleratorCount": 4,
"acceleratorType": "nvidia-tesla-p4"
}
],
"machineType": "n1-standard-2"
}
},
"specificReservationRequired": false,
"zone": "us-west2-b"
}
]
}
Exemple 3 : Souscrire un engagement pour des GPU et des disques SSD locaux en associant plusieurs nouvelles réservations
Supposons que vous souhaitiez souscrire un engagement d'un an pour des ressources à usage général dans la région us-central1, avec 96 processeurs virtuels, 624 Go de mémoire (soit 638 976 Mo), un GPU NVIDIA V100 et 750 Go de stockage SSD local. Vous souhaitez également créer et associer deux réservations dans la zone us-central1-a. Dans la première réservation, res-01, vous souhaitez réserver une VM n1-standard-2 (avec deux vCPU, 7, 5 Go de mémoire et un GPU NVIDIA V100). Il s'agit d'une réservation ciblée. Dans la deuxième réservation, res-02, vous souhaitez réserver une VM n1-standard-8 (avec 8 vCPU et 30 Go de mémoire) et associer deux disques SSD locaux (une interface SCSI et une interface NVMe). Pour souscrire cet exemple d'engagement avec les réservations associées, envoyez la requête POST suivante. Notez que la valeur de stockage SSD local doit être spécifiée en Go.
Pour la mémoire, vous devez spécifier la valeur en Mo. Toutefois, notez que lorsque vous utilisez gcloud CLI, Compute Engine utilise le gigaoctet comme unité de mémoire par défaut.
POST https://compute.googleapis.com/compute/v1/projects/my-project/regions/us-central1/commitments
{
"name": "commitment-03",
"plan": "TWELVE_MONTH",
"type": "GENERAL_PURPOSE",
"resources":
[
{
"amount": "96",
"type": "VCPU"
},
{
"amount": "638976",
"type": "MEMORY"
},
{
"acceleratorType": "nvidia-tesla-v100",
"amount": "1",
"type": "ACCELERATOR"
},
{
"amount": "750",
"type": "LOCAL_SSD"
}
],
"reservations":
[
{
"name": "res-01",
"specificReservation":
{
"count": "1",
"instanceProperties":
{
"guestAccelerators":
[
{
"acceleratorCount": 1,
"acceleratorType": "nvidia-tesla-v100"
}
],
"machineType": "n1-standard-2"
}
},
"specificReservationRequired": true,
"zone": "us-central1-a"
},
{
"name": "res-02",
"specificReservation":
{
"count": "1",
"instanceProperties":
{
"localSsds":
[
{
"diskSizeGb": "375",
"interface": "SCSI"
},
{
"diskSizeGb": "375",
"interface": "NVME"
}
],
"machineType": "n1-standard-8"
}
},
"specificReservationRequired": false,
"zone": "us-central1-a"
}
]
}