Créer des demandes de réservations futures partagées


Ce document explique comment créer des demandes de réservation futures partagées.

Si Google Cloud approuve votre requête de réservation future partagée, à l'heure de début spécifiée dans votre requête, Compute Engine crée automatiquement des réservations qui sont partagées sur plusieurs projets. Ces réservations partagées créées automatiquement sont utilisées par les VM correspondantes et les réservations existantes dans le projet qui héberge la réservation future (projet propriétaire) et les projets avec lesquels la réservation future est partagée (projets clients). Pour en savoir plus sur le fonctionnement et l'utilisation des réservations partagées créées automatiquement, consultez la section Créer des réservations partagées.

Avant de commencer

  • Si ce n'est pas déjà fait :
  • 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

    1. Install the Google Cloud CLI, then initialize it by running the following command:

      gcloud init
    2. Set a default region and zone.
    3. 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 requêtes de réservation futures partagées, demandez à votre administrateur de vous accorder le rôle IAM d'utilisateur des réservations Compute futures (roles/compute.futureReservationUser) 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 réservation futures partagées. 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 réservation futures partagées :

  • Pour créer une requête de réservation future : compute.futureReservations.create sur le projet
  • Pour permettre à Compute Engine de créer automatiquement des réservations : compute.reservations.create sur le projet
  • Pour spécifier un modèle d'instance : compute.instanceTemplates.useReadOnly sur le modèle d'instance

Vous pouvez également obtenir ces autorisations avec des rôles personnalisés ou d'autres rôles prédéfinis.

Restrictions

Outre les restrictions générales relatives aux réservations futures, la création de demandes de réservation futures partagées présente les restrictions suivantes :

  • Le projet que vous utilisez pour créer des requêtes de réservation futures partagées (le projet propriétaire) doit être ajouté à la liste d'autorisation pour la contrainte de règle d'administration Projets propriétaires de réservations partagées (compute.sharedReservationsOwnerProjects) par un administrateur des règles d'administration. Pour en savoir plus, consultez la section Autoriser et restreindre la création et la modification de réservations partagées pour des projets dans la documentation concernant les réservations Compute Engine.

  • Si vous déplacez un projet qui a créé une requête de réservation future partagée vers une autre organisation, la réservation future partagée est supprimée. Le projet n'est pas automatiquement supprimé de la contrainte de règle d'administration Projets de propriétaires de réservations partagées (compute.sharedReservationsOwnerProjects), mais vous pouvez supprimer le projet de cette contrainte si vous le souhaitez.

  • Chaque demande de réservation future peut être partagée avec un maximum de 100 projets clients.

  • Pour chaque organisation, vous pouvez créer jusqu'à 100 requêtes de réservation futures partagées pour chaque combinaison unique de propriétés de VM.

Créer un brouillon de requête

Lorsque vous créez une requête de réservation future, vous pouvez l'enregistrer en tant que brouillon et l'envoyer ultérieurement à Google Cloud pour examen, ou bien l'envoyer directement pour examen. Google vous recommande de créer d'abord un brouillon de requête, car cela vous permet de déterminer le nombre de VM que Compute Engine va provisionner pour votre requête, au lieu d'estimer manuellement ce nombre, et éventuellement de modifier le nombre de VM réservées dans la requête avant de l'envoyer pour examen.

Pour utiliser une réservation créée automatiquement pour une réservation future, une VM doit avoir des propriétés qui correspondent exactement à cette réservation. Pour spécifier les propriétés des VM que vous souhaitez demander à réserver en créant une requête de réservation future brouillon, utilisez l'une des méthodes suivantes :

  • Option recommandée : spécifier un modèle d'instance

    Vous pouvez utiliser un modèle d'instance existant pour définir les propriétés d'une requête de réservation future brouillon. En utilisant un modèle d'instance, vous pouvez définir les propriétés d'une requête de réservation future et les VM pouvant consommer les réservations créées automatiquement au même endroit. Toutefois, comme les modèles sont spécifiques à un projet, vous ne pouvez pas utiliser le même modèle pour créer des VM pouvant consommer les réservations créées automatiquement en dehors du projet ayant créé la requête de réservation future. Pour les projets avec lesquels la réservation future est partagée, vous devez créer des modèles similaires dans ces projets ou créer des VM en spécifiant directement les propriétés.

  • Spécifier une VM existante

    Vous pouvez utiliser une VM existante pour définir les propriétés d'une requête de réservation future. En utilisant les propriétés d'une VM existante, vous pouvez utiliser les réservations créées automatiquement qui ont été provisionnées pour la réservation future, en créant des VM dont les propriétés correspondent à la VM de référence.

  • Spécifier les propriétés directement

    Vous pouvez définir directement les propriétés d'une requête de réservation future brouillon. Cette méthode nécessite de vous assurer manuellement que les propriétés de vos VM et des réservations créées automatiquement correspondent exactement. Toute propriété non concordante empêche l'utilisation.

Une réservation créée automatiquement pour une réservation future peut être automatiquement utilisée par toutes les VM ayant des propriétés correspondantes. Si vous souhaitez éviter qu'une VM utilise l'une de ces réservations créées automatiquement, découvrez comment créer des VM sans consommer de réservations.

Spécifier un modèle d'instance

Lorsque vous créez une requête de réservation future partagée en spécifiant un modèle d'instance, tenez compte des points suivants :

  • Un modèle d'instance contient des paramètres spécifiques au projet. Vous ne pouvez donc accéder à un modèle d'instance et ne l'utiliser que dans le cadre du même projet. Si vous créez une requête de réservation future partagée en spécifiant un modèle d'instance, vous devez créer des modèles similaires pour créer des VM ou créer des VM en spécifiant directement les propriétés correspondantes, afin de consommer les réservations créées automatiquement dans chaque projet client.

  • Vous devez créer votre requête de réservation future dans la même région et la même zone que les ressources du modèle d'instance. Toutes les ressources régionales ou zonales spécifiées dans un modèle d'instance (telles qu'un type de machine ou un Persistent Disk) limitent l'utilisation du modèle aux emplacements où ces ressources se trouvent. Par exemple, si votre modèle d'instance spécifie un disque Persistent Disk existant dans la zone us-central1-a, vous devez créer votre réservation future dans la même zone. Sinon, la création de la requête de réservation future échoue.

    Pour vérifier si un modèle existant spécifie des ressources qui l'associent à une région ou à une zone spécifique, affichez les détails du modèle et recherchez des références à des ressources régionales ou zonales qu'il contient.

  • Si vous souhaitez associer les réservations créées automatiquement et provisionnées pour une réservation future à un engagement, vous devez désactiver l'option de suppression automatique. Pour en savoir plus, consultez la section Restrictions après la création.

Une fois que vous avez créé une requête de réservation future, vous ne pouvez plus la modifier pour remplacer les propriétés de la VM du modèle ni spécifier un autre modèle. À la place, si vous devez modifier les propriétés de la VM spécifiées dans la requête, vous devez créer une requête de réservation future.

Pour créer une réservation future partagée en spécifiant un modèle d'instance existant, sélectionnez l'une des options suivantes:

Console

  1. Dans la console Google Cloud, accédez à la page Réservations.

    Accéder à la page "Réservations"

  2. Cliquez sur l'onglet Réservations futures.

  3. Cliquez sur Créer une réservation future.

    La page Créer une réservation future s'ouvre.

  4. Dans le champ Nom, saisissez le nom de la requête de réservation future.

  5. Dans le champ Préfixe, saisissez un préfixe de nom. Le nom de chaque réservation créée automatiquement à partir de cette requête de réservation commence par ce préfixe.

  6. Pour les champs Région et Zone, sélectionnez la région et la zone dans lesquelles vous souhaitez réserver des ressources.

  7. Dans Heure de début, saisissez une heure de début pour la période de réservation. L'heure de début ne peut pas être ultérieure d'un an à la date et heure à laquelle vous envoyez une requête de réservation future pour examen. Pour disposer d'un temps suffisant pour potentiellement modifier, annuler ou supprimer la réservation future avant qu'elle ne bascule dans le délai de verrouillage, spécifiez une valeur recommandée pour l'heure de début.

  8. Dans le champ Heure de fin, saisissez une heure de fin pour la période de réservation. La période de réservation doit durer au moins 24 heures.

    Dans la section Résumé de la durée, vous pouvez voir la durée de la période de réservation. Pour augmenter la probabilité que Google Cloud approuve votre demande de réservation future après l'avoir envoyée pour examen, veillez à spécifier une valeur recommandée pour la période de réservation.

  9. Dans la section Type de partage, procédez comme suit :

    1. Pour spécifier une requête de réservation future partagée, cliquez sur Partagé.

    2. Cliquez sur Ajouter des projets, puis sélectionnez les projets de l'organisation du projet actuel avec lesquels vous souhaitez partager la requête de réservation future. Vous pouvez sélectionner jusqu'à 100 projets.

  10. Pour Nombre d'instances de VM, saisissez le nombre total de VM que vous souhaitez réserver pour la période, la configuration de VM et les projets spécifiés dans cette requête de réservation future.

  11. Dans la section Configuration de la machine, procédez comme suit :

    1. Sélectionnez Utiliser un modèle d'instance.

    2. Dans Modèle d'instance, sélectionnez le modèle d'instance de votre choix. Si vous sélectionnez un modèle d'instance régional, vous ne pouvez réserver que des ressources situées dans la même région que celle du modèle.

  12. Dans la section Heure de suppression automatique des réservations générées automatiquement, effectuez l'une des opérations suivantes :

    • Pour permettre à Compute Engine de supprimer automatiquement les réservations créées automatiquement pour votre requête de réservation future, procédez comme suit :

      1. Cliquez sur le bouton Activer la suppression automatique pour définir l'activation, si ce n'est pas déjà fait.

      2. Facultatif : Pour l'Heure de suppression automatique, saisissez une date et une heure à laquelle supprimer les réservations créées automatiquement. La date et l'heure doivent être postérieures à l'heure de fin de la période de réservation. Si vous laissez ce champ vide, les réservations créées automatiquement sont supprimées dans les deux heures suivant l'heure de fin de la période de réservation.

    • Sinon, cliquez sur le bouton Activer la suppression automatique pour le désactiver.

  13. Pour terminer la création du brouillon de requête de réservation future, cliquez sur Enregistrer le brouillon.

La page Réservations s'affiche. La création de la requête de réservation future peut prendre jusqu'à une minute.

gcloud

Pour créer une demande de réservation future partagée en spécifiant un modèle d'instance, utilisez la commande gcloud beta compute future-reservations create avec les options --share-setting=projects et --share-with.

Pour créer un brouillon de requête de réservation future en spécifiant un modèle d'instance sans option facultative et supprimer automatiquement la réservation créée automatiquement à la fin de la période de réservation, exécutez la commande suivante :

gcloud beta compute future-reservations create FUTURE_RESERVATION_NAME \
    --auto-delete-auto-created-reservations \
    --share-setting=projects \
    --share-with=CONSUMER_PROJECT_IDS \
    --source-instance-template=projects/PROJECT_ID/LOCATION/instanceTemplates/INSTANCE_TEMPLATE_NAME \
    --start-time=START_TIME \
    --end-time=END_TIME \
    --total-count=TOTAL_COUNT \
    --zone=ZONE

Remplacez les éléments suivants :

  • FUTURE_RESERVATION_NAME : nom de la requête de réservation future.

  • MACHINE_TYPE : type de machine à utiliser pour chaque VM réservée.

  • CONSUMER_PROJECT_IDS: liste des ID des projets que vous souhaitez autoriser à utiliser les réservations créées automatiquement pour cette future demande de réservation, séparés par une virgule (par exemple, project-1,project-2). Vous pouvez spécifier jusqu'à 100 projets. Ces projets doivent appartenir à la même organisation que le projet dans lequel la requête de réservation future est créée (le projet propriétaire). N'incluez pas le projet propriétaire. Par défaut, il est déjà autorisé à utiliser les réservations créées automatiquement pour cette requête de réservation future.
  • PROJECT_ID : ID du projet dans lequel vous souhaitez réserver des ressources et où se trouve le modèle d'instance.

  • LOCATION : emplacement du modèle d'instance. Spécifiez l'une des valeurs suivantes :

    • Pour un modèle d'instance régional : regions/REGION. Remplacez REGION par la région dans laquelle se trouve le modèle d'instance. Si vous spécifiez un modèle d'instance régional, vous ne pouvez créer la requête de réservation future que dans la même région que celle du modèle.

    • Pour un modèle d'instance global : global

  • INSTANCE_TEMPLATE_NAME : nom d'un modèle d'instance existant.

  • START_TIME : heure de début de la période de réservation au format de code temporel RFC 3339, qui doit être au format suivant :

    YYYY-MM-DDTHH:MM:SSOFFSET
    

    Remplacez les éléments suivants :

    • YYYY-MM-DD : date respectant la syntaxe année à 4 chiffres, mois à 2 chiffres et jour du mois à 2 chiffres, séparés par des traits d'union (-).

    • HH:MM:SS : heure respectant la syntaxe heures à 2 chiffres sur 24 heures, minutes à 2 chiffres et secondes à 2 chiffres, séparés par des signes deux-points (:).

    • OFFSET : fuseau horaire mis en forme en tant que décalage par rapport au temps universel coordonné (UTC). Par exemple, pour utiliser l'heure normale du Pacifique (PST), spécifiez -08:00. Sinon, pour n'utiliser aucun décalage, spécifiez Z.

    L'heure de début ne peut pas être ultérieure d'un an à la date et heure à laquelle vous envoyez une requête de réservation future pour examen. Pour disposer d'un temps suffisant pour annuler, supprimer ou modifier une requête de réservation future après son approbation et avant qu'elle ne soit arrivée, spécifiez une valeur recommandée pour l'heure de début.

  • END_TIME : heure de fin de la période de réservation au format de code temporel RFC 3339. La période de réservation doit durer au moins 24 heures. Vous pouvez également remplacer l'option --end-time par l'option --duration=END_DURATION. Remplacez END_DURATION par la durée de la période de réservation en secondes. Par exemple, spécifiez 1209600 pour 1 209 600 secondes (14 jours).

    Pour augmenter la probabilité que Google Cloud approuve une requête de réservation future après l'avoir envoyée pour examen, spécifiez une durée minimale recommandée.

  • TOTAL_COUNT : nombre total de VM que vous souhaitez réserver.

  • ZONE : la zone dans laquelle vous devez réserver des ressources.

Par exemple, supposons que vous souhaitiez créer un brouillon de requête de réservation future nommée fr-02 dans la zone us-central1-a avec les propriétés suivantes :

  • Une période de réservation qui commence à minuit le 10 novembre 2024 et se termine à minuit le 10 décembre 2024 UTC.

  • Nombre total de VM : 80.

  • Un modèle d'instance régional de la région us-central1
  • L'option de suppression automatique activée. Les réservations créées automatiquement sont supprimées à la fin de la période de réservation.
  • La requête de réservation future est partagée avec project-1 et project-2.

Pour créer fr-02, exécutez la commande suivante :

gcloud beta compute future-reservations create fr-02 \
    --auto-delete-auto-created-reservations \
    --share-setting=projects \
    --share-with=project-1,project-2 \
    --source-instance-template=projects/example-project/regions/us-central1/instanceTemplates/example-template \
    --start-time=2024-11-10T00:00:00Z \
    --end-time=2024-12-10T00:00:00Z \
    --total-count=80 \
    --zone=us-central1-a

Vous pouvez éventuellement effectuer une ou plusieurs des opérations suivantes :

  • Pour supprimer les réservations créées automatiquement après l'heure de fin de la période de réservation, sélectionnez l'une des méthodes suivantes :

    • Pour supprimer les réservations créées automatiquement à une date et une heure spécifiques après l'heure de fin de la période de réservation, incluez l'option --auto-created-reservations-delete-time.

      gcloud beta compute future-reservations create FUTURE_RESERVATION_NAME \
          --auto-created-reservations-delete-time=AUTO_CREATED_RESERVATIONS_DELETE_TIME \
          --auto-delete-auto-created-reservations \
          --share-setting=projects \
          --share-with=CONSUMER_PROJECT_IDS \
          --source-instance-template=projects/PROJECT_ID/LOCATION/instanceTemplates/INSTANCE_TEMPLATE_NAME \
          --start-time=START_TIME \
          --end-time=END_TIME \
          --total-count=TOTAL_COUNT \
          --zone=ZONE
      

      Remplacez AUTO_CREATED_RESERVATIONS_DELETE_TIME par une date et une heure au format de code temporel RFC 3339.

    • Pour supprimer les réservations créées automatiquement après une durée spécifique après l'heure de fin de la période de réservation, incluez l'indicateur --auto-created-reservations-duration.

      gcloud beta compute future-reservations create FUTURE_RESERVATION_NAME \
          --auto-created-reservations-duration=DURATION_BEFORE_DELETE \
          --auto-delete-auto-created-reservations \
          --share-setting=projects \
          --share-with=CONSUMER_PROJECT_IDS \
          --source-instance-template=projects/PROJECT_ID/LOCATION/instanceTemplates/INSTANCE_TEMPLATE_NAME \
          --start-time=START_TIME \
          --end-time=END_TIME \
          --total-count=TOTAL_COUNT \
          --zone=ZONE
      

      Remplacez DURATION_BEFORE_DELETE par une durée en jours, heures, minutes ou secondes. Par exemple, spécifiez 30m pour 30 minutes ou 1d2h3m4s pour un jour, deux heures, trois minutes et quatre secondes.

  • Pour désactiver l'option de suppression automatique pour les réservations créées automatiquement, remplacez l'option --auto-delete-auto-created-reservations par l'option --no-auto-delete-auto-created-reservations.

    gcloud beta compute future-reservations create FUTURE_RESERVATION_NAME \
        --no-auto-delete-auto-created-reservations \
        --share-setting=projects \
        --share-with=CONSUMER_PROJECT_IDS \
        --source-instance-template=projects/PROJECT_ID/LOCATION/instanceTemplates/INSTANCE_TEMPLATE_NAME \
        --start-time=START_TIME \
        --end-time=END_TIME \
        --total-count=TOTAL_COUNT \
        --zone=ZONE
    
  • Pour spécifier un préfixe de nom pour les réservations créées automatiquement, incluez l'indicateur --name-prefix.

    gcloud beta compute future-reservations create FUTURE_RESERVATION_NAME \
        --auto-delete-auto-created-reservations \
        --name-prefix=NAME_PREFIX \
        --share-setting=projects \
        --share-with=CONSUMER_PROJECT_IDS \
        --source-instance-template=projects/PROJECT_ID/LOCATION/instanceTemplates/INSTANCE_TEMPLATE_NAME \
        --start-time=START_TIME \
        --end-time=END_TIME \
        --total-count=TOTAL_COUNT \
        --zone=ZONE
    

    Remplacez NAME_PREFIX par le préfixe du nom de chaque réservation créée automatiquement. Pour vous aider à identifier les réservations créées automatiquement pour cette requête de réservation future, Google Cloud vous recommande de spécifier un préfixe de nom unique.

REST

Pour créer une demande de réservation future partagée en spécifiant un modèle d'instance, effectuez une requête POST à la méthode beta.futureReservations.insert.

Pour créer un brouillon de requête de réservation future en spécifiant un modèle d'instance sans champs facultatifs, envoyez une requête POST comme suit :

POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/futureReservations

{
  "autoDeleteAutoCreatedReservations": AUTO_DELETE_AUTO_CREATED_RESERVATIONS,
  "name": "FUTURE_RESERVATION_NAME",
  "shareSettings": {
    "projects": [
      "CONSUMER_PROJECT_ID_1",
      "CONSUMER_PROJECT_ID_2"
    ],
    "shareType": "SPECIFIC_PROJECTS"
  },
  "specificSkuProperties": { 
    "sourceInstanceTemplate": "projects/PROJECT_ID/LOCATION/instanceTemplates/INSTANCE_TEMPLATE_NAME",
    "totalCount": TOTAL_COUNT
  },
  "timeWindow": {
    "startTime": "START_TIME",
    "endTime": "END_TIME"
  }
}

Remplacez les éléments suivants :

  • PROJECT_ID : l'ID du projet dans lequel vous souhaitez réserver des ressources et où se trouve le modèle d'instance.

  • ZONE : la zone dans laquelle vous devez réserver des ressources.

  • AUTO_DELETE_AUTO_CREATED_RESERVATIONS : si vous définissez ce champ sur true, Compute Engine supprime automatiquement les réservations créées automatiquement pour cette réservation future dans les deux heures suivant l'heure de fin de la période de réservation. Si vous souhaitez associer vos réservations créées automatiquement à un engagement, définissez ce champ sur false.

  • CONSUMER_PROJECT_ID_1 et CONSUMER_PROJECT_ID_2 : ID des projets avec lesquels cette requête de réservation future peut être partagée. Vous pouvez spécifier jusqu'à 100 projets. Ces projets doivent appartenir à la même organisation que le projet dans lequel la requête de réservation future est créée (le projet propriétaire). N'incluez pas le projet propriétaire. Par défaut, il est déjà autorisé à utiliser les réservations créées automatiquement pour cette requête de réservation future.
  • LOCATION : emplacement du modèle d'instance. Spécifiez l'une des valeurs suivantes :

    • Pour un modèle d'instance régional : regions/REGION. Remplacez REGION par la région dans laquelle se trouve le modèle d'instance. Si vous spécifiez un modèle d'instance régional, vous ne pouvez créer la requête de réservation future que dans la même région que celle du modèle.

    • Pour un modèle d'instance global : global

  • INSTANCE_TEMPLATE_NAME : nom d'un modèle d'instance existant.

  • TOTAL_COUNT : nombre total de VM que vous souhaitez réserver.

  • START_TIME : heure de début de la période de réservation au format de code temporel RFC 3339, qui doit être au format suivant :

    YYYY-MM-DDTHH:MM:SSOFFSET
    

    Remplacez les éléments suivants :

    • YYYY-MM-DD : date respectant la syntaxe année à 4 chiffres, mois à 2 chiffres et jour du mois à 2 chiffres, séparés par des traits d'union (-).

    • HH:MM:SS : heure respectant la syntaxe heures à 2 chiffres sur 24 heures, minutes à 2 chiffres et secondes à 2 chiffres, séparés par des signes deux-points (:).

    • OFFSET : fuseau horaire mis en forme en tant que décalage par rapport au temps universel coordonné (UTC). Par exemple, pour utiliser l'heure normale du Pacifique (PST), spécifiez -08:00. Sinon, pour n'utiliser aucun décalage, spécifiez Z.

    L'heure de début ne peut pas être ultérieure d'un an à la date et heure à laquelle vous envoyez une requête de réservation future pour examen. Pour disposer d'un temps suffisant pour annuler, supprimer ou modifier une requête de réservation future après son approbation et avant qu'elle ne soit arrivée, spécifiez une valeur recommandée pour l'heure de début.

  • END_TIME : heure de fin de la période de réservation au format de code temporel RFC 3339. La période de réservation doit durer au moins 24 heures. Vous pouvez également remplacer le champ endTime par le champ duration pour spécifier une durée spécifique à partir de l'heure de début de la période de réservation :

    "duration": {
      "seconds": END_DURATION
    }
    

    Remplacez END_DURATION par une durée en secondes. Par exemple, spécifiez 1209600 pour 1 209 600 secondes (14 jours).

    Pour augmenter la probabilité que Google Cloud approuve une demande de réservation future après l'avoir envoyée pour examen, spécifiez l'une des valeurs recommandées pour votre période de réservation.

Par exemple, supposons que vous souhaitiez créer un brouillon de requête de réservation future nommée fr-02 dans la zone us-central1-a avec les propriétés suivantes :

  • Une période de réservation qui commence à minuit le 10 novembre 2024 et se termine à minuit le 10 décembre 2024 UTC.

  • Nombre total de VM : 80.

  • Un modèle d'instance régional de la région us-central1
  • L'option de suppression automatique activée. Les réservations créées automatiquement sont supprimées à la fin de la période de réservation.
  • La requête de réservation future est partagée avec project-1 et project-2.

Pour créer fr-02, envoyez une requête POST comme suit :

POST https://compute.googleapis.com/compute/beta/projects/example-project/zones/us-central1-a/futureReservations

{
  "autoDeleteAutoCreatedReservations": true,
  "name": "fr-02",
  "specificSkuProperties": { 
    "sourceInstanceTemplate": "projects/example-project/regions/us-central1/instanceTemplates/example-template",
    "totalCount": 80
  },
  "shareSettings": {
    "projects": [
      "project-1",
      "project-2"
    ],
    "shareType": "SPECIFIC_PROJECTS"
  },
  "timeWindow": {
    "startTime": "2024-11-10T00:00:00Z",
    "endTime": "2024-12-10T00:00:00Z"
  }
}

Vous pouvez éventuellement effectuer une ou plusieurs des opérations suivantes :

  • Pour spécifier un préfixe de nom pour les réservations créées automatiquement, incluez le champ namePrefix.

    POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/futureReservations
    
    {
      "autoDeleteAutoCreatedReservations": AUTO_DELETE_AUTO_CREATED_RESERVATIONS,
      "name": "FUTURE_RESERVATION_NAME",
      "namePrefix": "NAME_PREFIX",
      "shareSettings": {
        "projects": [
          "CONSUMER_PROJECT_ID_1",
          "CONSUMER_PROJECT_ID_2"
        ],
        "shareType": "SPECIFIC_PROJECTS"
      },
      "specificSkuProperties": { 
        "sourceInstanceTemplate": "projects/PROJECT_ID/LOCATION/instanceTemplates/INSTANCE_TEMPLATE_NAME",
        "totalCount": TOTAL_COUNT
      },
      "timeWindow": {
        "startTime": "START_TIME",
        "endTime": "END_TIME"
      }
    }
    

    Remplacez NAME_PREFIX par le préfixe du nom de chaque réservation créée automatiquement. Pour vous aider à identifier les réservations créées automatiquement pour cette requête de réservation future, Google Cloud vous recommande de spécifier un préfixe de nom unique.

  • Pour supprimer les réservations créées automatiquement après l'heure de fin de la période de réservation, sélectionnez l'une des méthodes suivantes :

    • Pour supprimer les réservations créées automatiquement après une période spécifique après la fin de votre période de réservation, définissez autoDeleteAutoCreatedReservations sur true et incluez le champ autoCreatedReservationsDeleteTime.

      POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/futureReservations
      
      {
        "autoCreatedReservationsDeleteTime": "DELETE_TIME",
        "autoDeleteAutoCreatedReservations": true,
        "name": "FUTURE_RESERVATION_NAME",
        "shareSettings": {
          "projects": [
            "CONSUMER_PROJECT_ID_1",
            "CONSUMER_PROJECT_ID_2"
          ],
          "shareType": "SPECIFIC_PROJECTS"
        },
        "specificSkuProperties": { 
          "sourceInstanceTemplate": "projects/PROJECT_ID/LOCATION/instanceTemplates/INSTANCE_TEMPLATE_NAME",
          "totalCount": TOTAL_COUNT
        },
        "timeWindow": {
          "startTime": "START_TIME",
          "endTime": "END_TIME"
        }
      }
      

      Remplacez DELETE_TIME par une date et une heure auxquelles Compute Engine supprime les réservations créées automatiquement. La date et l'heure doivent être mises en forme en tant que code temporel RFC 3339.

    • Pour supprimer les réservations créées automatiquement après une durée spécifique à partir de l'heure de début de la période de réservation, définissez autoDeleteAutoCreatedReservations sur true et incluez le champ autoCreatedReservationsDuration.

      POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/futureReservations
      
      {
        "autoCreatedReservationsDuration": {
          "seconds": "DURATION_BEFORE_DELETE"
        },
        "autoDeleteAutoCreatedReservations": true,
        "name": "FUTURE_RESERVATION_NAME",
        "shareSettings": {
          "projects": [
            "CONSUMER_PROJECT_ID_1",
            "CONSUMER_PROJECT_ID_2"
          ],
          "shareType": "SPECIFIC_PROJECTS"
        },
        "specificSkuProperties": { 
          "sourceInstanceTemplate": "projects/PROJECT_ID/LOCATION/instanceTemplates/INSTANCE_TEMPLATE_NAME",
          "totalCount": TOTAL_COUNT
        },
        "timeWindow": {
          "startTime": "START_TIME",
          "endTime": "END_TIME"
        }
      }
      

      Remplacez DURATION_BEFORE_DELETE par une durée en secondes. Par exemple, spécifiez 604800 pour 604 800 secondes (7 jours).

Après avoir créé un brouillon de requête de réservation future, vous pouvez déterminer le nombre de VM que Compute Engine va provisionner pour la requête.

Spécifier une VM existante

Vous ne pouvez créer un brouillon de requête de réservation future que sur la base d'une VM existante, située dans la même zone et le même projet que la VM.

Une fois que la requête de réservation future est approuvée par Google Cloud et qu'elle entre dans sa période de réservation, vous pouvez utiliser ses réservations créées automatiquement en créant des VM dont les propriétés correspondent à la VM de référence. Pour ce faire :

  • Créez et utilisez un modèle d'instance en procédant comme suit :

    1. Créez un modèle d'instance basé sur la VM de référence, sans remplacer les propriétés de la VM de référence.

    2. Créez des VM à l'aide du modèle que vous venez de créer en effectuant l'une des opérations suivantes, ou les deux :

  • Créez une VM dont les propriétés correspondent exactement à la VM de référence comme suit:

    • Dans le projet propriétaire, créez une VM basée sur la VM de référence sans modifier les propriétés de la VM que vous créez.

    • Dans les projets client, créez une VM en vous assurant manuellement que ses propriétés et celles de la VM de référence correspondent.

Pour créer une demande de réservation future partagée qui utilise les propriétés d'une VM existante, procédez comme suit:

  1. Dans la console Google Cloud, accédez à la page Réservations.

    Accéder à la page "Réservations"

  2. Cliquez sur l'onglet Réservations futures.

  3. Cliquez sur Créer une réservation future.

    La page Créer une réservation future s'ouvre.

  4. Dans le champ Nom, saisissez le nom de la requête de réservation future.

  5. Dans le champ Préfixe, saisissez un préfixe de nom. Le nom de chaque réservation créée automatiquement à partir de cette requête de réservation commence par ce préfixe.

  6. Pour les champs Région et Zone, sélectionnez la région et la zone dans lesquelles vous souhaitez réserver des ressources.

  7. Dans Heure de début, saisissez une heure de début pour la période de réservation. L'heure de début ne peut pas être ultérieure d'un an à la date et heure à laquelle vous envoyez une requête de réservation future pour examen. Pour disposer d'un temps suffisant pour potentiellement modifier, annuler ou supprimer la réservation future avant qu'elle ne bascule dans le délai de verrouillage, spécifiez une valeur recommandée pour l'heure de début.

  8. Dans le champ Heure de fin, saisissez une heure de fin pour la période de réservation. La période de réservation doit durer au moins 24 heures.

    Dans la section Résumé de la durée, vous pouvez voir la durée de la période de réservation. Pour augmenter la probabilité que Google Cloud approuve votre demande de réservation future après l'avoir envoyée pour examen, veillez à spécifier une valeur recommandée pour la période de réservation.

  9. Dans la section Type de partage, procédez comme suit :

    1. Pour spécifier une requête de réservation future partagée, cliquez sur Partagé.

    2. Cliquez sur Ajouter des projets, puis sélectionnez les projets de l'organisation du projet actuel avec lesquels vous souhaitez partager la requête de réservation future. Vous pouvez sélectionner jusqu'à 100 projets.

  10. Pour Nombre d'instances de VM, saisissez le nombre total de VM que vous souhaitez réserver pour la période, la configuration de VM et les projets spécifiés dans cette requête de réservation future.

  11. Dans la section Configuration de la machine, procédez comme suit :

    1. Sélectionnez Utiliser une VM existante.

    2. Pour VM existante, sélectionnez la VM dont vous souhaitez utiliser les propriétés pour créer la réservation.

  12. Dans la section Heure de suppression automatique des réservations générées automatiquement, effectuez l'une des opérations suivantes :

    • Pour permettre à Compute Engine de supprimer automatiquement les réservations créées automatiquement pour votre requête de réservation future, procédez comme suit :

      1. Cliquez sur le bouton Activer la suppression automatique pour définir l'activation, si ce n'est pas déjà fait.

      2. Facultatif : Pour l'Heure de suppression automatique, saisissez une date et une heure à laquelle supprimer les réservations créées automatiquement. La date et l'heure doivent être postérieures à l'heure de fin de la période de réservation. Si vous laissez ce champ vide, les réservations créées automatiquement sont supprimées dans les deux heures suivant l'heure de fin de la période de réservation.

    • Sinon, cliquez sur le bouton Activer la suppression automatique pour le désactiver.

  13. Pour terminer la création du brouillon de requête de réservation future, cliquez sur Enregistrer le brouillon.

La page Réservations s'affiche. La création de la requête de réservation future peut prendre jusqu'à une minute.

Après avoir créé un brouillon de requête de réservation future, vous pouvez déterminer le nombre de VM que Compute Engine va provisionner pour la requête.

Spécifier les propriétés directement

Si vous souhaitez associer les réservations créées automatiquement et provisionnées pour une réservation future à un engagement, vous devez désactiver l'option de suppression automatique. Pour en savoir plus, consultez la section Restrictions après la création.

Pour créer une demande de réservation future partagée en spécifiant directement les propriétés, sélectionnez l'une des options suivantes:

Console

  1. Dans la console Google Cloud, accédez à la page Réservations.

    Accéder à la page "Réservations"

  2. Cliquez sur l'onglet Réservations futures.

  3. Cliquez sur Créer une réservation future.

    La page Créer une réservation future s'ouvre.

  4. Dans le champ Nom, saisissez le nom de la requête de réservation future.

  5. Dans le champ Préfixe, saisissez un préfixe de nom. Le nom de chaque réservation créée automatiquement à partir de cette requête de réservation commence par ce préfixe.

  6. Pour les champs Région et Zone, sélectionnez la région et la zone dans lesquelles vous souhaitez réserver des ressources.

  7. Dans Heure de début, saisissez une heure de début pour la période de réservation. L'heure de début ne peut pas être ultérieure d'un an à la date et heure à laquelle vous envoyez une requête de réservation future pour examen. Pour disposer d'un temps suffisant pour potentiellement modifier, annuler ou supprimer la réservation future avant qu'elle ne bascule dans le délai de verrouillage, spécifiez une valeur recommandée pour l'heure de début.

  8. Dans le champ Heure de fin, saisissez une heure de fin pour la période de réservation. La période de réservation doit durer au moins 24 heures.

    Dans la section Résumé de la durée, vous pouvez voir la durée de la période de réservation. Pour augmenter la probabilité que Google Cloud approuve votre demande de réservation future après l'avoir envoyée pour examen, veillez à spécifier une valeur recommandée pour la période de réservation.

  9. Dans la section Type de partage, procédez comme suit :

    1. Pour spécifier une requête de réservation future partagée, cliquez sur Partagé.

    2. Cliquez sur Ajouter des projets, puis sélectionnez les projets de l'organisation du projet actuel avec lesquels vous souhaitez partager la requête de réservation future. Vous pouvez sélectionner jusqu'à 100 projets.

  10. Pour Nombre d'instances de VM, saisissez le nombre total de VM que vous souhaitez réserver pour la période, la configuration de VM et les projets spécifiés dans cette requête de réservation future.

  11. Dans la section Configuration de la machine, procédez comme suit :

    1. Sélectionnez Spécifier un type de machine, si ce n'est pas déjà fait.

    2. Spécifiez le type de machine à utiliser pour les VM réservées.

  12. Dans la section Heure de suppression automatique des réservations générées automatiquement, effectuez l'une des opérations suivantes :

    • Pour permettre à Compute Engine de supprimer automatiquement les réservations créées automatiquement pour votre requête de réservation future, procédez comme suit :

      1. Cliquez sur le bouton Activer la suppression automatique pour définir l'activation, si ce n'est pas déjà fait.

      2. Facultatif : Pour l'Heure de suppression automatique, saisissez une date et une heure à laquelle supprimer les réservations créées automatiquement. La date et l'heure doivent être postérieures à l'heure de fin de la période de réservation. Si vous laissez ce champ vide, les réservations créées automatiquement sont supprimées dans les deux heures suivant l'heure de fin de la période de réservation.

    • Sinon, cliquez sur le bouton Activer la suppression automatique pour le désactiver.

  13. Pour terminer la création du brouillon de requête de réservation future, cliquez sur Enregistrer le brouillon.

La page Réservations s'affiche. La création de la requête de réservation future peut prendre jusqu'à une minute.

gcloud

Pour créer une requête de réservation future partagée en spécifiant directement les propriétés, utilisez la commande gcloud beta compute future-reservations create avec les options --share-setting=projects et --share-with.

Pour créer un brouillon de requête de réservation future en spécifiant directement les propriétés, sans inclure d'options facultatives, et supprimer automatiquement la réservation créée automatiquement à la fin de la période de réservation, exécutez la commande suivante :

gcloud beta compute future-reservations create FUTURE_RESERVATION_NAME \
    --auto-delete-auto-created-reservations \
    --machine-type=MACHINE_TYPE \
    --share-setting=projects \
    --share-with=CONSUMER_PROJECT_IDS \
    --start-time=START_TIME \
    --end-time=END_TIME \
    --total-count=TOTAL_COUNT \
    --zone=ZONE

Remplacez les éléments suivants :

  • FUTURE_RESERVATION_NAME : nom de la requête de réservation future.

  • MACHINE_TYPE : type de machine à utiliser pour chaque VM réservée.

  • CONSUMER_PROJECT_IDS: liste des ID des projets que vous souhaitez autoriser à utiliser les réservations créées automatiquement pour cette future demande de réservation, séparés par une virgule (par exemple, project-1,project-2). Vous pouvez spécifier jusqu'à 100 projets. Ces projets doivent appartenir à la même organisation que le projet dans lequel la requête de réservation future est créée (le projet propriétaire). N'incluez pas le projet propriétaire. Par défaut, il est déjà autorisé à utiliser les réservations créées automatiquement pour cette requête de réservation future.
  • START_TIME : heure de début de la période de réservation au format de code temporel RFC 3339, qui doit être au format suivant :

    YYYY-MM-DDTHH:MM:SSOFFSET
    

    Remplacez les éléments suivants :

    • YYYY-MM-DD : date respectant la syntaxe année à 4 chiffres, mois à 2 chiffres et jour du mois à 2 chiffres, séparés par des traits d'union (-).

    • HH:MM:SS : heure respectant la syntaxe heures à 2 chiffres sur 24 heures, minutes à 2 chiffres et secondes à 2 chiffres, séparés par des signes deux-points (:).

    • OFFSET : fuseau horaire mis en forme en tant que décalage par rapport au temps universel coordonné (UTC). Par exemple, pour utiliser l'heure normale du Pacifique (PST), spécifiez -08:00. Sinon, pour n'utiliser aucun décalage, spécifiez Z.

    L'heure de début ne peut pas être ultérieure d'un an à la date et heure à laquelle vous envoyez une requête de réservation future pour examen. Pour disposer d'un temps suffisant pour annuler, supprimer ou modifier une requête de réservation future après son approbation et avant qu'elle ne soit arrivée, spécifiez une valeur recommandée pour l'heure de début.

  • END_TIME : heure de fin de la période de réservation au format de code temporel RFC 3339. La période de réservation doit durer au moins 24 heures. Vous pouvez également remplacer l'option --end-time par l'option --duration=END_DURATION. Remplacez END_DURATION par la durée de la période de réservation en secondes. Par exemple, spécifiez 1209600 pour 1 209 600 secondes (14 jours).

    Pour augmenter la probabilité que Google Cloud approuve une requête de réservation future après l'avoir envoyée pour examen, spécifiez une durée minimale recommandée.

  • TOTAL_COUNT : nombre total de VM que vous souhaitez réserver.

  • ZONE : la zone dans laquelle vous devez réserver des ressources.

Par exemple, supposons que vous souhaitiez créer un brouillon de requête de réservation future nommée fr-02 dans la zone us-central1-a avec les propriétés suivantes :

  • Une période de réservation qui commence à minuit le 10 novembre 2024 et se termine à minuit le 10 décembre 2024 UTC.

  • Nombre total de VM : 80.

  • Type de machine prédéfini N2 doté de quatre processeurs virtuels.
  • L'option de suppression automatique activée. Les réservations créées automatiquement sont supprimées à la fin de la période de réservation.
  • La requête de réservation future est partagée avec project-1 et project-2.

Pour créer fr-02, exécutez la commande suivante :

gcloud beta compute future-reservations create fr-02 \
    --auto-delete-auto-created-reservations \
    --machine-type=n2-standard-4 \
    --share-setting=projects \
    --share-with=project-1,project-2 \
    --start-time=2024-11-10T00:00:00Z \
    --end-time=2024-12-10T00:00:00Z \
    --total-count=80 \
    --zone=us-central1-a

Vous pouvez éventuellement effectuer une ou plusieurs des opérations suivantes :

  • Pour associer des GPU à vos VM N1 réservées, incluez l'option --accelerator.

    gcloud beta compute future-reservations create FUTURE_RESERVATION_NAME \
        --accelerator=NUMBER_OF_ACCELERATORS,type=ACCELERATOR_TYPE \
        --auto-delete-auto-created-reservations \
        --machine-type=MACHINE_TYPE \
        --share-setting=projects \
        --share-with=CONSUMER_PROJECT_IDS \
        --start-time=START_TIME \
        --end-time=END_TIME \
        --total-count=TOTAL_COUNT \
        --zone=ZONE
    

    Remplacez les éléments suivants :

    • NUMBER_OF_ACCELERATORS : nombre de GPU à ajouter par VM réservée.

    • ACCELERATOR_TYPE : modèle de GPU compatible avec les VM N1. Pour éviter les erreurs, assurez-vous que le modèle de GPU choisi est disponible dans la zone dans laquelle vous créez la requête de réservation future.

  • Pour supprimer les réservations créées automatiquement après l'heure de fin de la période de réservation, sélectionnez l'une des méthodes suivantes :

    • Pour supprimer les réservations créées automatiquement à une date et une heure spécifiques après l'heure de fin de la période de réservation, incluez l'option --auto-created-reservations-delete-time.

      gcloud beta compute future-reservations create FUTURE_RESERVATION_NAME \
          --auto-created-reservations-delete-time=AUTO_CREATED_RESERVATIONS_DELETE_TIME \
          --auto-delete-auto-created-reservations \
          --machine-type=MACHINE_TYPE \
          --share-setting=projects \
          --share-with=CONSUMER_PROJECT_IDS \
          --start-time=START_TIME \
          --end-time=END_TIME \
          --total-count=TOTAL_COUNT \
          --zone=ZONE
      

      Remplacez AUTO_CREATED_RESERVATIONS_DELETE_TIME par une date et une heure au format de code temporel RFC 3339.

    • Pour supprimer les réservations créées automatiquement après une durée spécifique après l'heure de fin de la période de réservation, incluez l'indicateur --auto-created-reservations-duration.

      gcloud beta compute future-reservations create FUTURE_RESERVATION_NAME \
          --auto-created-reservations-duration=DURATION_BEFORE_DELETE \
          --auto-delete-auto-created-reservations \
          --machine-type=MACHINE_TYPE \
          --share-setting=projects \
          --share-with=CONSUMER_PROJECT_IDS \
          --start-time=START_TIME \
          --end-time=END_TIME \
          --total-count=TOTAL_COUNT \
          --zone=ZONE
      

      Remplacez DURATION_BEFORE_DELETE par une durée en jours, heures, minutes ou secondes. Par exemple, spécifiez 30m pour 30 minutes ou 1d2h3m4s pour un jour, deux heures, trois minutes et quatre secondes.

  • Pour désactiver l'option de suppression automatique pour les réservations créées automatiquement, remplacez l'option --auto-delete-auto-created-reservations par l'option --no-auto-delete-auto-created-reservations.

    gcloud beta compute future-reservations create FUTURE_RESERVATION_NAME \
        --no-auto-delete-auto-created-reservations \
        --machine-type=MACHINE_TYPE \
        --share-setting=projects \
        --share-with=CONSUMER_PROJECT_IDS \
        --start-time=START_TIME \
        --end-time=END_TIME \
        --total-count=TOTAL_COUNT \
        --zone=ZONE
    
  • Pour ajouter un ou plusieurs disques SSD locaux à chaque VM réservée, incluez une ou plusieurs options --local-ssd. Vous pouvez spécifier jusqu'à 24 disques SSD locaux. La capacité de chaque disque SSD local est de 375 Go.

    Par exemple, pour spécifier deux disques SSD locaux lors de la création d'un brouillon de requête de réservation future, incluez deux options --local-ssd comme suit :

    gcloud beta compute future-reservations create FUTURE_RESERVATION_NAME \
        --auto-delete-auto-created-reservations \
        --local-ssd=size=375,interface=INTERFACE_1 \
        --local-ssd=size=375,interface=INTERFACE_2 \
        --machine-type=MACHINE_TYPE \
        --share-setting=projects \
        --share-with=CONSUMER_PROJECT_IDS \
        --start-time=START_TIME \
        --end-time=END_TIME \
        --total-count=TOTAL_COUNT \
        --zone=ZONE
    

    Remplacez INTERFACE_1 et INTERFACE_2 par le type d'interface que le disque SSD local doit utiliser comme suit :

    Assurez-vous que le type de machine que vous spécifiez pour les VM réservées est compatible avec les interfaces de disque choisies. Sinon, la création de la requête de réservation future échoue. Pour en savoir plus, découvrez comment choisir une interface de disque.

  • Pour que les VM réservées utilisent une plate-forme CPU minimale spécifique au lieu de la plate-forme CPU par défaut de la zone, incluez l'option --min-cpu-platform.

    gcloud beta compute future-reservations create FUTURE_RESERVATION_NAME \
        --auto-delete-auto-created-reservations \
        --machine-type=MACHINE_TYPE \
        --min-cpu-platform="MIN_CPU_PLATFORM" \
        --share-setting=projects \
        --share-with=CONSUMER_PROJECT_IDS \
        --start-time=START_TIME \
        --end-time=END_TIME \
        --total-count=TOTAL_COUNT \
        --zone=ZONE
    

    Remplacez MIN_CPU_PLATFORM par une plate-forme CPU minimale. Pour vous assurer qu'une plate-forme CPU est disponible dans la zone où vous réservez des ressources, affichez les plates-formes CPU disponibles par zone.

  • Pour spécifier un préfixe de nom pour les réservations créées automatiquement, incluez l'indicateur --name-prefix.

    gcloud beta compute future-reservations create FUTURE_RESERVATION_NAME \
        --auto-delete-auto-created-reservations \
        --machine-type=MACHINE_TYPE \
        --name-prefix=NAME_PREFIX \
        --share-setting=projects \
        --share-with=CONSUMER_PROJECT_IDS \
        --start-time=START_TIME \
        --end-time=END_TIME \
        --total-count=TOTAL_COUNT \
        --zone=ZONE
    

    Remplacez NAME_PREFIX par le préfixe du nom de chaque réservation créée automatiquement. Pour vous aider à identifier les réservations créées automatiquement pour cette requête de réservation future, Google Cloud vous recommande de spécifier un préfixe de nom unique.

REST

Pour créer une requête de réservation future partagée en spécifiant directement les propriétés, envoyez une requête POST à la méthode beta.futureReservations.insert.

Pour créer une requête de réservation future brouillon en spécifiant directement les propriétés sans inclure de champs facultatifs, effectuez une requête POST comme suit :

POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/futureReservations

{
  "autoDeleteAutoCreatedReservations": AUTO_DELETE_AUTO_CREATED_RESERVATIONS,
  "name": "FUTURE_RESERVATION_NAME",
  "shareSettings": {
    "projects": [
      "CONSUMER_PROJECT_ID_1",
      "CONSUMER_PROJECT_ID_2"
    ],
    "shareType": "SPECIFIC_PROJECTS"
  },
  "specificSkuProperties": { 
    "instanceProperties": {
      "machineType": "MACHINE_TYPE"
    },
    "totalCount": TOTAL_COUNT
  },
  "timeWindow": {
    "startTime": "START_TIME",
    "endTime": "END_TIME"
  }
}

Remplacez les éléments suivants :

  • PROJECT_ID : ID du projet dans lequel vous souhaitez réserver des ressources.

  • ZONE : la zone dans laquelle vous devez réserver des ressources.

  • AUTO_DELETE_AUTO_CREATED_RESERVATIONS : si vous définissez ce champ sur true, Compute Engine supprime automatiquement les réservations créées automatiquement pour cette réservation future dans les deux heures suivant l'heure de fin de la période de réservation. Si vous souhaitez associer vos réservations créées automatiquement à un engagement, définissez ce champ sur false.

  • CONSUMER_PROJECT_ID_1 et CONSUMER_PROJECT_ID_2 : ID des projets avec lesquels cette requête de réservation future peut être partagée. Vous pouvez spécifier jusqu'à 100 projets. Ces projets doivent appartenir à la même organisation que le projet dans lequel la requête de réservation future est créée (le projet propriétaire). N'incluez pas le projet propriétaire. Par défaut, il est déjà autorisé à utiliser les réservations créées automatiquement pour cette requête de réservation future.
  • TOTAL_COUNT : nombre total de VM que vous souhaitez réserver.

  • START_TIME : heure de début de la période de réservation au format de code temporel RFC 3339, qui doit être au format suivant :

    YYYY-MM-DDTHH:MM:SSOFFSET
    

    Remplacez les éléments suivants :

    • YYYY-MM-DD : date respectant la syntaxe année à 4 chiffres, mois à 2 chiffres et jour du mois à 2 chiffres, séparés par des traits d'union (-).

    • HH:MM:SS : heure respectant la syntaxe heures à 2 chiffres sur 24 heures, minutes à 2 chiffres et secondes à 2 chiffres, séparés par des signes deux-points (:).

    • OFFSET : fuseau horaire mis en forme en tant que décalage par rapport au temps universel coordonné (UTC). Par exemple, pour utiliser l'heure normale du Pacifique (PST), spécifiez -08:00. Sinon, pour n'utiliser aucun décalage, spécifiez Z.

    L'heure de début ne peut pas être ultérieure d'un an à la date et heure à laquelle vous envoyez une requête de réservation future pour examen. Pour disposer d'un temps suffisant pour annuler, supprimer ou modifier une requête de réservation future après son approbation et avant qu'elle ne soit arrivée, spécifiez une valeur recommandée pour l'heure de début.

  • END_TIME : heure de fin de la période de réservation au format de code temporel RFC 3339. La période de réservation doit durer au moins 24 heures. Vous pouvez également remplacer le champ endTime par le champ duration pour spécifier une durée spécifique à partir de l'heure de début de la période de réservation :

    "duration": {
      "seconds": END_DURATION
    }
    

    Remplacez END_DURATION par une durée en secondes. Par exemple, spécifiez 1209600 pour 1 209 600 secondes (14 jours).

    Pour augmenter la probabilité que Google Cloud approuve une demande de réservation future après l'avoir envoyée pour examen, spécifiez l'une des valeurs recommandées pour votre période de réservation.

Par exemple, supposons que vous souhaitiez créer un brouillon de requête de réservation future nommée fr-02 dans la zone us-central1-a avec les propriétés suivantes :

  • Une période de réservation qui commence à minuit le 10 novembre 2024 et se termine à minuit le 10 décembre 2024 UTC.

  • Nombre total de VM : 80.

  • Type de machine prédéfini N2 doté de quatre processeurs virtuels.
  • L'option de suppression automatique activée. Les réservations créées automatiquement sont supprimées à la fin de la période de réservation.
  • La requête de réservation future est partagée avec project-1 et project-2.

Pour créer fr-02, envoyez une requête POST comme suit :

POST https://compute.googleapis.com/compute/beta/projects/example-project/zones/us-central1-a/futureReservations

{
  "autoDeleteAutoCreatedReservations": true,
  "name": "fr-02",
  "specificSkuProperties": { 
    "instanceProperties": {
      "machineType": "n2-standard-4"
    },
    "totalCount": 80
  },
  "shareSettings": {
    "projects": [
      "project-1",
      "project-2"
    ],
    "shareType": "SPECIFIC_PROJECTS"
  },
  "timeWindow": {
    "startTime": "2024-11-10T00:00:00Z",
    "endTime": "2024-12-10T00:00:00Z"
  }
}

Vous pouvez éventuellement effectuer une ou plusieurs des opérations suivantes :

  • Pour spécifier un préfixe de nom pour les réservations créées automatiquement, incluez le champ namePrefix.

    POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/futureReservations
    
    {
      "autoDeleteAutoCreatedReservations": AUTO_DELETE_AUTO_CREATED_RESERVATIONS,
      "name": "FUTURE_RESERVATION_NAME",
      "namePrefix": "NAME_PREFIX",
      "shareSettings": {
        "projects": [
          "CONSUMER_PROJECT_ID_1",
          "CONSUMER_PROJECT_ID_2"
        ],
        "shareType": "SPECIFIC_PROJECTS"
      },
      "specificSkuProperties": { 
        "instanceProperties": {
          "machineType": "MACHINE_TYPE"
        },
        "totalCount": TOTAL_COUNT
      },
      "timeWindow": {
        "startTime": "START_TIME",
        "endTime": "END_TIME"
      }
    }
    

    Remplacez NAME_PREFIX par le préfixe du nom de chaque réservation créée automatiquement. Pour vous aider à identifier les réservations créées automatiquement pour cette requête de réservation future, Google Cloud vous recommande de spécifier un préfixe de nom unique.

  • Pour associer des GPU à vos VM N1 réservées, incluez le champ guestAccelerators.

    POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/futureReservations
    
    {
      "autoDeleteAutoCreatedReservations": AUTO_DELETE_AUTO_CREATED_RESERVATIONS,
      "name": "FUTURE_RESERVATION_NAME",
      "shareSettings": {
        "projects": [
          "CONSUMER_PROJECT_ID_1",
          "CONSUMER_PROJECT_ID_2"
        ],
        "shareType": "SPECIFIC_PROJECTS"
      },
      "specificSkuProperties": {
        "instanceProperties": {
          "guestAccelerators": [
            {
              "acceleratorCount": NUMBER_OF_ACCELERATORS,
              "acceleratorType": "ACCELERATOR_TYPE"
            }
          ],
          "machineType": "MACHINE_TYPE"
        },
        "totalCount": TOTAL_COUNT
      },
      "timeWindow": {
        "startTime": "START_TIME",
        "endTime": "END_TIME"
      }
    }
    

    Remplacez les éléments suivants :

    • NUMBER_OF_ACCELERATORS : nombre de GPU à ajouter par VM réservée.

    • ACCELERATOR_TYPE : modèle de GPU compatible avec les VM N1. Pour éviter les erreurs, assurez-vous que le modèle de GPU choisi est disponible dans la zone dans laquelle vous créez la requête de réservation future.

  • Pour ajouter un ou plusieurs disques SSD locaux à chaque VM réservée, incluez le champ localSsds. Vous pouvez spécifier jusqu'à 24 disques SSD locaux. La capacité de chaque disque SSD local est de 375 Go.

    Par exemple, pour spécifier deux disques SSD locaux lors de la création d'un brouillon de requête de réservation future, envoyez une requête POST comme suit :

    POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/futureReservations
    
    {
      "autoDeleteAutoCreatedReservations": AUTO_DELETE_AUTO_CREATED_RESERVATIONS,
      "name": "FUTURE_RESERVATION_NAME",
      "shareSettings": {
        "projects": [
          "CONSUMER_PROJECT_ID_1",
          "CONSUMER_PROJECT_ID_2"
        ],
        "shareType": "SPECIFIC_PROJECTS"
      },
      "specificSkuProperties": {
        "instanceProperties": {
          "localSsds": [
            {
              "diskSizeGb": "375",
              "interface": "INTERFACE_1"
            },
            {
              "diskSizeGb": "375",
              "interface": "INTERFACE_2"
            }
          ],
          "machineType": "MACHINE_TYPE"
        },
        "totalCount": TOTAL_COUNT
      },
      "timeWindow": {
        "startTime": "START_TIME",
        "endTime": "END_TIME"
      }
    }
    

    Remplacez INTERFACE_1 et INTERFACE_2 par le type d'interface que le disque SSD local doit utiliser :

    Assurez-vous que le type de machine que vous spécifiez pour les VM réservées est compatible avec les interfaces de disque choisies. Sinon, la création de la requête de réservation future échoue. Pour en savoir plus, découvrez comment choisir une interface de disque.

  • Pour que les VM réservées utilisent une plate-forme CPU minimale spécifique au lieu de la plate-forme CPU par défaut de la zone, incluez l'option minCpuPlatform.

    POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/futureReservations
    
    {
      "autoDeleteAutoCreatedReservations": AUTO_DELETE_AUTO_CREATED_RESERVATIONS,
      "name": "FUTURE_RESERVATION_NAME",
      "shareSettings": {
        "projects": [
          "CONSUMER_PROJECT_ID_1",
          "CONSUMER_PROJECT_ID_2"
        ],
        "shareType": "SPECIFIC_PROJECTS"
      },
      "specificSkuProperties": {
        "instanceProperties": {
          "machineType": "MACHINE_TYPE",
          "minCpuPlatform": "MINIMUM_CPU_PLATFORM"
        },
        "totalCount": TOTAL_COUNT
      },
      "timeWindow": {
        "startTime": "START_TIME",
        "endTime": "END_TIME"
      }
    }
    

    Remplacez MIN_CPU_PLATFORM par une plate-forme CPU minimale. Pour vous assurer qu'une plate-forme CPU est disponible dans la zone où vous réservez des ressources, affichez les plates-formes CPU disponibles par zone.

  • Pour supprimer les réservations créées automatiquement après l'heure de fin de la période de réservation, sélectionnez l'une des méthodes suivantes :

    • Pour supprimer les réservations créées automatiquement après une période spécifique après la fin de votre période de réservation, définissez autoDeleteAutoCreatedReservations sur true et incluez le champ autoCreatedReservationsDeleteTime.

      POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/futureReservations
      
      {
        "autoCreatedReservationsDeleteTime": "DELETE_TIME",
        "autoDeleteAutoCreatedReservations": true,
        "name": "FUTURE_RESERVATION_NAME",
        "shareSettings": {
          "projects": [
            "CONSUMER_PROJECT_ID_1",
            "CONSUMER_PROJECT_ID_2"
          ],
          "shareType": "SPECIFIC_PROJECTS"
        },
        "specificSkuProperties": { 
          "instanceProperties": {
            "machineType": "MACHINE_TYPE"
          },
          "totalCount": TOTAL_COUNT
        },
        "timeWindow": {
          "startTime": "START_TIME",
          "endTime": "END_TIME"
        }
      }
      

      Remplacez DELETE_TIME par une date et une heure auxquelles Compute Engine supprime les réservations créées automatiquement. La date et l'heure doivent être mises en forme en tant que code temporel RFC 3339.

    • Pour supprimer les réservations créées automatiquement après une durée spécifique à partir de l'heure de début de la période de réservation, définissez autoDeleteAutoCreatedReservations sur true et incluez le champ autoCreatedReservationsDuration.

      POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/futureReservations
      
      {
        "autoCreatedReservationsDuration": {
          "seconds": "DURATION_BEFORE_DELETE"
        },
        "autoDeleteAutoCreatedReservations": true,
        "name": "FUTURE_RESERVATION_NAME",
        "shareSettings": {
          "projects": [
            "CONSUMER_PROJECT_ID_1",
            "CONSUMER_PROJECT_ID_2"
          ],
          "shareType": "SPECIFIC_PROJECTS"
        },
        "specificSkuProperties": { 
          "instanceProperties": {
            "machineType": "MACHINE_TYPE"
          },
          "totalCount": TOTAL_COUNT
        },
        "timeWindow": {
          "startTime": "START_TIME",
          "endTime": "END_TIME"
        }
      }
      

      Remplacez DURATION_BEFORE_DELETE par une durée en secondes. Par exemple, spécifiez 604800 pour 604 800 secondes (7 jours).

Après avoir créé un brouillon de requête de réservation future, vous pouvez déterminer le nombre de VM que Compute Engine va provisionner pour la requête.

Envoyer un brouillon de requête

Une fois qu'une requête de réservation future a été envoyée, approuvée par Google Cloud et dont le délai de verrouillage est passé, vous ne pouvez supprimer la réservation future et ses réservations créées automatiquement qu'à l'issue de la période de réservation de la réservation future. Il est judicieux de supprimer une réservation future existante est utile si vous devez créer une autre réservation future avec les mêmes propriétés. Par conséquent, avant de créer une requête de réservation future, vérifiez les points suivants :

  • Toutes les réservations existantes ou futures d'un projet limitent les paramètres de partage des requêtes de réservation futures que vous pouvez créer. Pour vous assurer que vous pouvez créer une requête de réservation future et que celle-ci ne pose aucun problème dans les autres projets avec lesquels vous partagez des réservations ou des requêtes de réservations futures, consultez la section Restrictions.

  • Vous devez vous engager à payer pour les ressources réservées qui ont été provisionnées par Compute Engine pendant toute la période de réservation, que les réservations créées automatiquement aient été utilisées ou non. Pour en savoir plus, consultez Facturation.

Si vous souhaitez modifier une ou plusieurs propriétés lors de l'envoi du brouillon de requête de réservation future pour examen, consultez plutôt la section Modifier les requêtes de réservation future.

Pour envoyer un brouillon de requête de réservation future à Google Cloud pour examen, choisissez parmi l'une des méthodes suivantes :

Console

  1. Dans la console Google Cloud, accédez à la page Réservations.

    Accéder à la page "Réservations"

  2. Cliquez sur l'onglet Réservations futures.

  3. Dans la colonne Nom, cliquez sur le nom d'une requête de réservation future dont l'état d'achat est défini sur Brouillon.

    La page Réservations futures s'affiche, avec les détails de la demande de réservation future.

  4. Cliquez sur Modifier le brouillon.

    La page permettant de modifier le brouillon de la requête de réservation future s'affiche.

  5. Pour envoyer le brouillon de requête de réservation future pour examen, cliquez sur Envoyer.

La page Réservation s'affiche. Dans la colonne État de la requête de réservation future que vous venez d'envoyer, l'état d'achat est défini sur En attente d'approbation.

gcloud

Pour envoyer une requête de réservation future à des fins d'examen, utilisez la commande gcloud beta compute future-reservations update avec l'option --planning-status définie sur SUBMITTED.

gcloud beta compute future-reservations update FUTURE_RESERVATION_NAME \
    --planning-status=SUBMITTED \
    --zone=ZONE

Remplacez les éléments suivants :

  • FUTURE_RESERVATION_NAME : nom d'une requête de réservation future brouillon existante.

  • ZONE : zone dans laquelle se situe la demande de réservation future.

REST

Pour envoyer une requête de réservation future brouillon pour examen, envoyez une requête PATCH à la méthode beta.futureReservations.update. Dans le corps de la requête, incluez le champ planningStatus et définissez-le sur SUBMITTED.

PATCH https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/futureReservations/FUTURE_RESERVATION_NAME?updateMask=planningStatus

{
  "name": "FUTURE_RESERVATION_NAME",
  "planningStatus": "SUBMITTED"
}

Remplacez les éléments suivants :

  • PROJECT_ID : ID du projet dans lequel se trouve la demande de réservation future.

  • ZONE : zone dans laquelle se situe la demande de réservation future.

  • FUTURE_RESERVATION_NAME : nom d'une requête de réservation future brouillon existante.

Après avoir envoyé un brouillon de requête de réservation future pour examen, vous pouvez effectuer les opérations suivantes :

Résoudre les problèmes

Si vous rencontrez des erreurs lors de la création d'une requête de réservation future, découvrez comment résoudre les problèmes liés aux requêtes de réservation futures.

Si vous rencontrez toujours des problèmes après le dépannage, contactez votre responsable de compte technique ou l'équipe commerciale.

Étape suivante