Créer une réservation pour un seul projet


Ce document explique comment créer une réservation à projet unique qui ne peut être utilisée que par des instances de machine virtuelle (VM) dans le même projet. Pour en savoir plus, consultez la section Réservations de ressources zonales Compute Engine.

Pour découvrir d'autres méthodes de création de réservations, consultez les pages suivantes :

  • Si vous avez des engagements d'un ou de trois ans dans le projet en cours, vos ressources réservées reçoivent automatiquement les remises sur engagement d'utilisation applicables. Vous pouvez également créer et associer une réservation à un engagement lorsque vous souscrivez cet engagement. Pour en savoir plus, consultez la section Associer des réservations à des engagements.

  • Pour créer une réservation pouvant être utilisée par plusieurs projets, consultez la section Créer une réservation partagée.

Avant de commencer

  • Consultez les exigences et restrictions applicables aux réservations.
  • 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 comme suit :

    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. Terraform

      Pour utiliser les exemples Terraform de cette page dans un environnement de développement local, installez et initialisez gcloud CLI, puis configurez le service Identifiants par défaut de l'application à l'aide de vos identifiants utilisateur.

      1. Install the Google Cloud CLI.
      2. To initialize the gcloud CLI, run the following command:

        gcloud init
      3. If you're using a local shell, then create local authentication credentials for your user account:

        gcloud auth application-default login

        You don't need to do this if you're using Cloud Shell.

      Pour en savoir plus, consultez Set up authentication for a local development environment.

      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 réservations à projet unique, demandez à votre administrateur de vous accorder le rôle IAM Administrateur Compute (roles/compute.admin) sur le projet. Pour en savoir plus sur l'attribution de rôles, consultez la section Gérer les accès.

Ce rôle prédéfini contient les autorisations requises pour créer des réservations à projet unique. Pour afficher les autorisations exactes requises, développez la section Autorisations requises :

Autorisations requises

Les autorisations suivantes sont requises pour créer des réservations à projet unique :

  • 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.

Créer une réservation à projet unique

Cette section explique comment créer des réservations à projet unique.

Pour utiliser une réservation, 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 réserver, accédez à l'une des sections suivantes de ce document :

Par défaut, une réservation peut être automatiquement utilisée par toutes les VM dont les propriétés correspondent. Si vous souhaitez contrôler l'utilisation des réservations, effectuez une ou plusieurs des opérations suivantes :

En outre, vous pouvez spécifier une stratégie d'emplacement compacte lors de la création d'une réservation à projet unique. Une stratégie d'emplacement compact spécifie que les VM doivent être situées le plus près possible les unes des autres pour réduire la latence du réseau.

Spécifier un modèle d'instance

Pour créer une réservation à projet unique en spécifiant un modèle d'instance, utilisez la console Google Cloud, la gcloud CLI ou REST.

Console

Pour créer une réservation à projet unique en spécifiant un modèle d'instance, 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 Créer une réservation.

    La page Créer une réservation s'affiche.

  3. Dans le champ Nom, saisissez le nom de la réservation.

  4. Sélectionnez la région et la zone dans lesquelles vous souhaitez réserver des ressources.

  5. Dans la section Type de partage, cliquez sur Local (par défaut).

  6. Dans la section Utiliser avec une instance de VM, sélectionnez l'une des options suivantes :

    • Pour autoriser les VM correspondantes à utiliser automatiquement cette réservation, cliquez sur Utiliser automatiquement une réservation (par défaut).

    • Pour n'utiliser les ressources de cette réservation que lors de la création de VM correspondantes qui ciblent spécifiquement cette réservation par son nom, cliquez sur Sélectionner une réservation spécifique.

  7. Dans le champ Nombre d'instances de VM, saisissez le nombre de VM que vous souhaitez réserver.

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

    1. Pour spécifier les propriétés de vos VM à partir d'un modèle d'instance existant, sélectionnez Utiliser un modèle d'instance.

    2. Dans le champ 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 dans la région du modèle d'instance.

  9. Dans la section Suppression automatique, vous pouvez activer l'option de suppression automatique pour permettre à Compute Engine de supprimer automatiquement la réservation à une date et une heure spécifiques. La suppression automatique des réservations peut vous permettre d'éviter des frais inutiles lorsque vous arrêtez de consommer la réservation.

  10. Pour créer la réservation, cliquez sur Créer.

    La page Réservations s'affiche. La création de la réservation pour un projet unique peut prendre jusqu'à une minute.

gcloud

Pour créer une réservation à projet unique en spécifiant un modèle d'instance, utilisez la commande gcloud compute reservations create.

Pour créer une réservation à projet unique en spécifiant un modèle d'instance sans option facultative, exécutez la commande suivante :

gcloud compute reservations create RESERVATION_NAME \
    --project=PROJECT_ID \
    --source-instance-template=projects/PROJECT_ID/LOCATION/instanceTemplates/INSTANCE_TEMPLATE_NAME \
    --vm-count=NUMBER_OF_VMS \
    --zone=ZONE

Remplacez les éléments suivants :

  • RESERVATION_NAME : le nom de la réservation à créer.

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

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

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

    • 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 réserver que des VM situées dans la région du modèle d'instance.

  • INSTANCE_TEMPLATE_NAME : nom d'un modèle d'instance existant. Si vous spécifiez un modèle d'instance qui inclut une stratégie d'emplacement compact, vous devez spécifier l'option --require-specific-reservation. Cela indique que seules les VM qui ciblent spécifiquement cette réservation peuvent l'utiliser.

  • NUMBER_OF_VMS : nombre de VM à réserver.

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

Par exemple, pour créer une réservation pour dix VM dans la zone us-central1-a en spécifiant un modèle d'instance global, exécutez la commande suivante :

gcloud compute reservations create my-reservation \
    --project=example-project \
    --source-instance-template=projects/example-project/global/example-instance-template \
    --vm-count=10 \
    --zone=us-central1-a

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

  • Pour spécifier que seules les VM qui ciblent spécifiquement cette réservation peuvent l'utiliser, incluez l'option --require-specific-reservation.

    gcloud compute reservations create example-reservation \
        --require-specific-reservation \
        ...
    
  • Pour permettre à Compute Engine de supprimer automatiquement la réservation, sélectionnez l'une des méthodes suivantes :

    • Pour supprimer la réservation à une date et une heure spécifiques, utilisez la commande gcloud beta compute reservations create en incluant l'option --delete-at-time.

      gcloud beta compute reservations create reservation-example \
          --delete-at-time=DELETE_AT_TIME \
          ...
      

      Remplacez DELETE_AT_TIME par une date et une heure au format de code temporel RFC 3339 comme suit :

      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.

    • Pour supprimer la réservation après une certaine durée, utilisez la commande gcloud beta compute reservations create et incluez l'option --delete-after-duration.

      gcloud beta compute reservations create reservation-example \
          --delete-after-duration=DELETE_AFTER_DURATION \
          ...
      

      Remplacez DELETE_AFTER_DURATION par une durée en jours, heures, minutes ou secondes. Par exemple, spécifiez 30m pour 30 minutes ou 1d2h3m4s pour 1 jour, 2 heures, 3 minutes et 4 secondes.

REST

Pour créer une réservation à projet unique en spécifiant un modèle d'instance, effectuez une requête POST à la méthode reservations.insert.

Pour créer une réservation à projet unique en spécifiant un modèle d'instance sans option facultative, effectuez la requête POST suivante :

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/reservations

{
  "name": "RESERVATION_NAME",
  "specificReservation": {
    "count": "NUMBER_OF_VMS",
    "sourceInstanceTemplate": "projects/PROJECT_ID/LOCATION/instanceTemplates/INSTANCE_TEMPLATE_NAME"
  }
}

Remplacez les éléments suivants :

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

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

  • RESERVATION_NAME : le nom de la réservation à créer.

  • NUMBER_OF_VMS : nombre de VM à réserver.

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

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

    • 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 réserver que des VM situées dans la région du modèle d'instance.

  • INSTANCE_TEMPLATE_NAME : nom d'un modèle d'instance existant. Si vous spécifiez un modèle d'instance incluant une stratégie d'emplacement compact, vous devez spécifier le champ specificReservationRequired dans le corps de la requête et le définir sur true. Cela indique que seules les VM qui ciblent spécifiquement cette réservation peuvent l'utiliser.

Par exemple, pour créer une réservation pour dix VM dans la zone us-central1-a en spécifiant un modèle d'instance global, effectuez la requête POST suivante :

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

{
  "name": "my-reservation",
  "specificReservation": {
    "count": "10",
    "sourceInstanceTemplate": "projects/example-project/global/instanceTemplates/example-instance-template"
  }
}

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

  • Pour spécifier que seules les VM qui ciblent spécifiquement cette réservation peuvent l'utiliser, incluez le champ specificReservationRequired dans le corps de la requête et définissez-le sur true.

    POST https://compute.googleapis.com/compute/v1/projects/example-project/zones/us-central1-a/reservations
    
    {
      "name": "example-reservation",
      "specificReservationRequired": true,
      ...
    }
    
  • Pour permettre à Compute Engine de supprimer automatiquement la réservation, sélectionnez l'une des méthodes suivantes :

    • Pour supprimer la réservation à une date et une heure spécifiques, envoyez une requête POST à la méthode beta.reservations.insert. Dans le corps de la requête, incluez le champ deleteAtTime.

      POST https://compute.googleapis.com/compute/beta/projects/example-project/zones/us-central1-a/reservations
      
      {
        "name": "example-reservation",
        "deleteAtTime": "DELETE_AT_TIME",
        ...
      }
      

      Remplacez DELETE_AT_TIME par une date et une heure au format de code temporel RFC 3339 comme suit :

      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.

    • Pour supprimer la réservation après une certaine durée, envoyez une requête POST à la méthode beta.reservations.insert. Dans le corps de la requête, incluez le champ deleteAfterDuration.

      POST https://compute.googleapis.com/compute/beta/projects/example-project/zones/us-central1-a/reservations
      
      {
        "name": "example-reservation",
        "deleteAfterDuration": {
          "seconds": "DELETE_AFTER_DURATION"
        },
        ...
      }
      

      Remplacez DELETE_AFTER_DURATION par une durée en secondes. Par exemple, spécifiez 86400 pour 86 400 secondes (1 jour).

Spécifier les propriétés directement

Pour créer une réservation à projet unique en spécifiant directement les propriétés, utilisez la console Google Cloud, la gcloud CLI, Terraform ou REST.

Console

Pour créer une réservation à projet unique, 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 Créer une réservation.

    La page Créer une réservation s'affiche.

  3. Dans le champ Nom, saisissez le nom de la réservation.

  4. Sélectionnez la région et la zone dans lesquelles vous souhaitez réserver des ressources.

  5. Dans la section Type de partage, cliquez sur Local (par défaut).

  6. Dans la section Utiliser avec une instance de VM, sélectionnez l'une des options suivantes :

    • Pour autoriser les VM correspondantes à utiliser automatiquement cette réservation, cliquez sur Utiliser automatiquement une réservation (par défaut).

    • Pour n'utiliser les ressources de cette réservation que lors de la création de VM correspondantes qui ciblent spécifiquement cette réservation par son nom, cliquez sur Sélectionner une réservation spécifique.

  7. Dans le champ Nombre d'instances de VM, saisissez le nombre de VM que vous souhaitez réserver.

  8. Dans la section Configuration de la machine, sélectionnez Spécifier un type de machine, puis spécifiez les éléments suivants :

    1. Dans les champs Famille de machines, Série et Type de machine, sélectionnez une famille de machines, une série et un type de machine.

    2. Facultatif : pour spécifier une configuration minimale de plate-forme de processeur et/ou de GPU, procédez comme suit :

      1. Développez la section Plate-forme du CPU et GPU en cliquant sur la flèche de développement .

      2. Facultatif : pour spécifier une configuration minimale de plate-forme de processeur, sélectionnez une option dans la liste Plate-forme de processeur.

      3. Facultatif : pour ajouter des GPU, cliquez sur Ajouter un GPU. Ensuite, dans les champs Type de GPU et Nombre de GPU, sélectionnez le type et le nombre de GPU pour chaque VM.

    3. Facultatif : pour ajouter des disques SSD locaux, procédez comme suit :

      1. Dans le champ Nombre de disques, sélectionnez le nombre de disques SSD locaux pour chaque VM.

      2. Dans le champ Type d'interface, sélectionnez l'interface des disques SSD locaux.

    4. Facultatif : pour spécifier une stratégie d'emplacement compact pour une réservation qui répond auxexigences, cliquez sur la liste Sélectionner ou créer une stratégie d'emplacement de groupe, puis effectuez l'une des opérations suivantes :

      • Pour créer une stratégie d'emplacement compact à spécifier dans cette réservation, procédez comme suit :

        1. Cliquez sur Créer une stratégie d'emplacement de groupe.

          Le volet Créer une stratégie de placement de groupe s'affiche.

        2. Dans le champ Nom de la stratégie, saisissez un nom pour votre stratégie.

        3. Cliquez sur Créer.

          La création de la stratégie d'emplacement compact peut prendre quelques secondes.

      • Sinon, sélectionnez une stratégie d'emplacement compact existante.

  9. Dans la section Suppression automatique, vous pouvez activer l'option de suppression automatique pour permettre à Compute Engine de supprimer automatiquement la réservation à une date et une heure spécifiques. La suppression automatique des réservations peut vous permettre d'éviter des frais inutiles lorsque vous arrêtez de consommer la réservation.

  10. Pour créer la réservation, cliquez sur Créer.

    La création de la réservation à projet unique peut prendre un certain temps. Cette action vous redirige vers la page Réservations.

gcloud

Pour créer une réservation à projet unique, utilisez la commande gcloud compute reservations create.

Pour créer une réservation à projet unique sans option facultative, exécutez la commande suivante :

gcloud compute reservations create RESERVATION_NAME \
    --machine-type=MACHINE_TYPE \
    --project=PROJECT_ID \
    --vm-count=NUMBER_OF_VMS \
    --zone=ZONE

Remplacez les éléments suivants :

  • RESERVATION_NAME : le nom de la réservation à créer.

  • MACHINE_TYPE : un type de machine à utiliser pour chaque VM. Spécifiez une des valeurs suivantes :

    • Pour un type de machine prédéfini : MACHINE_FAMILY-standard-CPUS.

    • Pour un type de machine personnalisé : MACHINE_FAMILY-custom-CPUS-MEMORY. Avant de spécifier un type de machine personnalisé, examinez les limites applicables aux VM avec des types de machines personnalisés.

    Remplacez les éléments suivants :

    • MACHINE_FAMILY : la famille de machines.

    • 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 spécifier un type de machine personnalisé N2 doté de 4 processeurs virtuels et de 5 Go de mémoire, soit 5 120 Mo, spécifiez n2-custom-4-5120.

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

  • NUMBER_OF_VMS : nombre de VM à réserver.

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

Par exemple, pour créer une réservation dans la zone us-central1-a pour dix VM utilisant chacune un type de machine prédéfini N2 avec 4 processeurs virtuels, exécutez la commande suivante :

gcloud compute reservations create my-reservation \
    --machine-type=n2-standard-4 \
    --project=example-project \
    --vm-count=10 \
    --zone=us-central1-a

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

  • Pour ajouter des processeurs graphiques (GPU) à chaque VM réservée, incluez l'option --accelerator.

    gcloud compute reservations create my-reservation \
        --accelerator=count=NUMBER_OF_ACCELERATORS,type=ACCELERATOR_TYPE
        ...
    

    Remplacez les éléments suivants :

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

    • ACCELERATOR_TYPE : type de GPU à ajouter aux VM réservées.

    Assurez-vous que le type de machine que vous spécifiez dans la réservation est compatible avec les types de GPU que vous spécifiez et que le GPU est disponible dans la zone où vous souhaitez réserver des ressources. Sinon, la création de la réservation échoue.

  • 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'une réservation, incluez deux options --local-ssd.

    gcloud compute reservations create my-reservation \
        --local-ssd=size=375,interface=INTERFACE_1 \
        --local-ssd=size=375,interface=INTERFACE_2 \
        ...
    

    Remplacez INTERFACE_1 et INTERFACE_2 par le type d'interface que le disque SSD local doit utiliser. Spécifiez une des valeurs suivantes :

    • Pour les interfaces de disque NVME : nvme.

    • Pour les interfaces de disque SCSI : scsi.

    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 réservation é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 compute reservations create my-reservation \
        --min-cpu-platform="MIN_CPU_PLATFORM" \
        ...
    

    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 que seules les VM qui ciblent spécifiquement cette réservation peuvent la consommer, incluez l'option --require-specific-reservation.

    gcloud compute reservations create example-reservation \
        --require-specific-reservation \
        ...
    
  • Pour spécifier une stratégie d'emplacement compacte afin de réduire la latence du réseau entre les VM, incluez l'option --resource-policies=policy.

    gcloud compute reservations create example-reservation \
        --resource-policies=policy=COMPACT_PLACEMENT_POLICY_NAME \
        --require-specific-reservation \
        ...
    

    Remplacez COMPACT_PLACEMENT_POLICY_NAME par le nom d'une d'emplacement compact. En outre, pour éviter les erreurs lors de la création d'une réservation à projet unique qui spécifie une stratégie d'emplacement compact, veillez à spécifier les éléments suivants :

    • Un type de machine compatible pour les stratégies d'emplacement compact.

    • Zone dans la région où se trouve la stratégie d'emplacement compact.

    • L'option --require-specific-reservation Cela indique que seules les VM qui ciblent spécifiquement cette réservation peuvent l'utiliser.

  • Pour permettre à Compute Engine de supprimer automatiquement la réservation, sélectionnez l'une des méthodes suivantes :

    • Pour supprimer la réservation à une date et une heure spécifiques, utilisez la commande gcloud beta compute reservations create en incluant l'option --delete-at-time.

      gcloud beta compute reservations create reservation-example \
          --delete-at-time=DELETE_AT_TIME \
          ...
      

      Remplacez DELETE_AT_TIME par une date et une heure au format de code temporel RFC 3339 comme suit :

      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.

    • Pour supprimer la réservation après une certaine durée, utilisez la commande gcloud beta compute reservations create et incluez l'option --delete-after-duration.

      gcloud beta compute reservations create reservation-example \
          --delete-after-duration=DELETE_AFTER_DURATION \
          ...
      

      Remplacez DELETE_AFTER_DURATION par une durée en jours, heures, minutes ou secondes. Par exemple, spécifiez 30m pour 30 minutes ou 1d2h3m4s pour 1 jour, 2 heures, 3 minutes et 4 secondes.

Terraform

Pour créer une réservation à projet unique, utilisez la ressource Terraform google_compute_reservation.


resource "google_compute_reservation" "default" {
  name = "gce-reservation-local"
  zone = "us-central1-a"

  /**
   * To specify a single-project reservation, omit the share_settings block
   * (default) or set the share_type field to LOCAL.
   */
  share_settings {
    share_type = "LOCAL"
  }

  specific_reservation {
    count = 1
    instance_properties {
      machine_type = "n2-standard-2"
    }
  }

  /**
   * To let VMs with affinity for any reservation consume this reservation, omit
   * the specific_reservation_required field (default) or set it to false.
   */
  specific_reservation_required = false
}

Pour en savoir plus sur l'utilisation de Terraform, consultez la page Utiliser Terraform avec Google Cloud.

REST

Pour créer une réservation à projet unique, envoyez une requête POST à la méthode reservations.insert.

Pour créer une réservation à projet unique sans champs facultatifs, effectuez la requête POST suivante :

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/reservations

{
  "name": "RESERVATION_NAME",
  "specificReservation": {
    "count": "NUMBER_OF_VMS",
    "instanceProperties": {
      "machineType": "MACHINE_TYPE",
    }
  }
}

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.

  • RESERVATION_NAME : le nom de la réservation à créer.

  • NUMBER_OF_VMS : nombre de VM à réserver.

  • MACHINE_TYPE : un type de machine à utiliser pour chaque VM. Spécifiez une des valeurs suivantes :

    • Pour un type de machine prédéfini : MACHINE_FAMILY-standard-CPUS.

    • Pour un type de machine personnalisé : MACHINE_FAMILY-custom-CPUS-MEMORY. Avant de spécifier un type de machine personnalisé, examinez les limites applicables aux VM avec des types de machines personnalisés.

    Remplacez les éléments suivants :

    • MACHINE_FAMILY : la famille de machines.

    • 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 spécifier un type de machine personnalisé N2 doté de 4 processeurs virtuels et de 5 Go de mémoire, soit 5 120 Mo, spécifiez n2-custom-4-5120.

Par exemple, pour créer une réservation dans la zone us-central1-a pour dix VM utilisant chacune un type de machine prédéfini N2 avec 4 processeurs virtuels, effectuez la requête POST suivante :

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

{
  "name": "my-reservation",
  "specificReservation": {
    "count": "10",
    "instanceProperties": {
      "machineType": "n2-standard-4",
    }
  }
}

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

  • Pour ajouter des processeurs graphiques (GPU) à chaque VM réservée, incluez le champ guestAccelerators dans le corps de la requête.

    POST https://compute.googleapis.com/compute/v1/projects/example-project/zones/us-central1-a/reservations
    
    {
      "name": "example-reservation",
      "specificReservation": {
        "instanceProperties": {
          "guestAccelerators": [
            {
              "acceleratorCount": NUMBER_OF_ACCELERATORS,
              "acceleratorType": "ACCELERATOR_TYPE"
            }
          ],
          ...
        },
        ...
      }
    }
    

    Remplacez les éléments suivants :

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

    • ACCELERATOR_TYPE : type de GPU à ajouter aux VM réservées.

    Assurez-vous que le type de machine que vous spécifiez dans la réservation est compatible avec les types de GPU que vous spécifiez et que le GPU est disponible dans la zone où vous souhaitez réserver des ressources. Sinon, la création de la réservation échoue.

  • Pour ajouter un ou plusieurs disques SSD locaux à chaque VM réservée, incluez le champ localSsds dans le corps de la requête. 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'une réservation, spécifiez les éléments suivants :

    POST https://compute.googleapis.com/compute/v1/projects/example-project/zones/us-central1-a/reservations
    
    {
      "name": "example-reservation",
      "specificReservation": {
        "instanceProperties": {
          "localSsds": [
            {
              "diskSizeGb": "375",
              "interface": "INTERFACE_1"
            },
            {
              "diskSizeGb": "375",
              "interface": "INTERFACE_2"
            }
          ],
          ...
        },
        ...
      }
    }
    

    Remplacez INTERFACE_1 et INTERFACE_2 par le type d'interface que chaque SSD local doit utiliser. Spécifiez une des valeurs suivantes :

    • Pour les interfaces de disque NVME : NVME.

    • Pour les interfaces de disque SCSI : SCSI.

    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 réservation é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 le champ minCpuPlatform dans le corps de la requête.

    POST https://compute.googleapis.com/compute/v1/projects/example-project/zones/us-central1-a/reservations
    
    {
      "name": "example-reservation",
      "specificReservation": {
        "instanceProperties": {
          "minCpuPlatform": "MIN_CPU_PLATFORM",
          ...
        },
        ...
      }
    }
    

    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 une stratégie d'emplacement compacte afin de réduire la latence du réseau entre vos VM réservées, incluez le champ resourcePolicies dans le corps de la requête.

    POST https://compute.googleapis.com/compute/v1/projects/example-project/zones/us-central1-a/reservations
    
    {
      "name": "example-reservation",
      "resourcePolicies": {
        "policy" : "projects/example-project/regions/REGION/resourcePolicies/COMPACT_PLACEMENT_POLICY_NAME"
      },
      "specificReservationRequired": true,
      ...
    }
    

    Remplacez les éléments suivants :

    • REGION : région où se trouve la stratégie d'emplacement compact. Vous devez réserver des ressources dans la même région que la stratégie d'emplacement. Sinon, la création de la réservation échoue.

    • COMPACT_PLACEMENT_POLICY_NAME : nom d'une stratégie d'emplacement de concentration existante.

    En outre, pour éviter les erreurs lors de la création d'une réservation à projet unique qui spécifie une stratégie d'emplacement compact, veillez à spécifier les éléments suivants :

  • Pour spécifier que seules les VM qui ciblent spécifiquement cette réservation peuvent l'utiliser, incluez le champ specificReservationRequired dans le corps de la requête et définissez-le sur true.

    POST https://compute.googleapis.com/compute/v1/projects/example-project/zones/us-central1-a/reservations
    
    {
      "name": "example-reservation",
      "specificReservationRequired": true,
      ...
    }
    
  • Pour permettre à Compute Engine de supprimer automatiquement la réservation, sélectionnez l'une des méthodes suivantes :

    • Pour supprimer la réservation à une date et une heure spécifiques, envoyez une requête POST à la méthode beta.reservations.insert. Dans le corps de la requête, incluez le champ deleteAtTime.

      POST https://compute.googleapis.com/compute/beta/projects/example-project/zones/us-central1-a/reservations
      
      {
        "name": "example-reservation",
        "deleteAtTime": "DELETE_AT_TIME",
        ...
      }
      

      Remplacez DELETE_AT_TIME par une date et une heure au format de code temporel RFC 3339 comme suit :

      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.

    • Pour supprimer la réservation après une certaine durée, envoyez une requête POST à la méthode beta.reservations.insert. Dans le corps de la requête, incluez le champ deleteAfterDuration.

      POST https://compute.googleapis.com/compute/beta/projects/example-project/zones/us-central1-a/reservations
      
      {
        "name": "example-reservation",
        "deleteAfterDuration": {
          "seconds": "DELETE_AFTER_DURATION"
        },
        ...
      }
      

      Remplacez DELETE_AFTER_DURATION par une durée en secondes. Par exemple, spécifiez 86400 pour 86 400 secondes (1 jour).

Dépannage

Découvrez comment résoudre les problèmes de création de réservations.

Étapes suivantes