Utiliser des réservations


Ce document explique comment utiliser Compute Engine pour effectuer les tâches suivantes :

  • Consommer des instances de machines virtuelles (VM) réservées

  • Vérifier la consommation des réservations

  • Afficher les rapports d'utilisation des réservations

Pour en savoir plus sur la consommation des réservations dans d'autres produits Google Cloud utilisant des VM, consultez la documentation sur les réservations pour les produits suivants :

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. 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 à l'utilisation de réservations, demandez à votre administrateur de vous attribuer le rôle IAM Administrateur d'instances Compute (v1) (roles/compute.instanceAdmin.v1) sur le projet. Pour en savoir plus sur l'attribution de rôles, consultez 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 utiliser des réservations. Pour connaître les autorisations exactes requises, développez la section Autorisations requises :

Autorisations requises

Les autorisations suivantes sont requises pour utiliser des réservations :

  • Pour créer des réservations : compute.reservations.create sur le projet
  • Pour créer des machines virtuelles :
    • compute.instances.create sur le projet
    • Pour créer la VM à l'aide d'une image personnalisée : compute.images.useReadOnly sur l'image
    • Pour créer la VM à l'aide d'un instantané : compute.snapshots.useReadOnly sur l'instantané
    • Pour créer la VM à l'aide d'un modèle d'instance : compute.instanceTemplates.useReadOnly sur le modèle d'instance
    • Pour attribuer un ancien réseau à la VM : compute.networks.use sur le projet
    • Pour spécifier une adresse IP statique pour la VM : compute.addresses.use sur le projet
    • Pour attribuer une adresse IP externe à la VM, en cas d'utilisation d'un ancien réseau : compute.networks.useExternalIp sur le projet
    • Pour spécifier un sous-réseau pour la VM : compute.subnetworks.use sur le projet ou sur le sous-réseau choisi
    • Pour attribuer une adresse IP externe à la VM, en cas d'utilisation d'un réseau VPC : compute.subnetworks.useExternalIp sur le projet ou sur le sous-réseau choisi
    • Pour définir les métadonnées d'instance de VM pour la VM : compute.instances.setMetadata sur le projet
    • Pour définir des tags pour la VM : compute.instances.setTags sur la VM
    • Pour définir des libellés pour la VM : compute.instances.setLabels sur la VM
    • Pour définir un compte de service à utiliser avec la VM : compute.instances.setServiceAccount sur la VM
    • Pour créer un disque pour la VM : compute.disks.create sur le projet
    • Pour associer un disque existant en mode lecture seule ou en mode lecture-écriture : compute.disks.use sur le disque
    • Pour associer un disque existant en mode lecture seule : compute.disks.useReadOnly sur le disque
  • Pour créer des modèles d'instance : compute.instanceTemplates.create sur le projet

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

Utiliser des VM réservées

Lorsque vous créez une instance de machine virtuelle (VM), la VM ne commence à consommer une réservation que si les propriétés de la VM et de la réservation correspondent. De plus, vous devez définir la propriété d'affinité de réservation de la VM sur l'une des options suivantes :

  • Utiliser toute réservation correspondante : la VM peut utiliser automatiquement toute réservation avec les propriétés correspondantes (par défaut).

    Cette option est utile si vous créez et supprimez un grand nombre de VM et que vous souhaitez utiliser les réservations autant que possible. Dans ce scénario, une VM peut être créée, que ses propriétés correspondent à une réservation ou non. Si c'est le cas, la VM commence à consommer la réservation en fonction de son ordre de consommation.

  • Utiliser une réservation spécifique : la VM ne peut consommer qu'une réservation spécifique. La réservation ne peut pas être consommée automatiquement.

    Cette option est utile, par exemple, lorsque vous souhaitez conserver une certaine capacité de sauvegarde pour des événements spéciaux. Dans ce scénario, une VM ne peut être créée que si ses propriétés et celles de la réservation spécifique sont identiques.

  • Ne peut consommer aucune réservation : la VM ne peut consommer aucune réservation.

    Cette option est utile, par exemple, lorsque vous créez une VM temporaire qui ne doit pas utiliser de ressources réservées.

Utiliser des VM issues de n'importe quelle réservation correspondante

Dans ce modèle d'utilisation, les VM existantes et nouvelles utilisent automatiquement une réservation si leurs propriétés correspondent aux propriétés de VM spécifiées dans la réservation.

Lorsque vous utilisez ce modèle de consommation, les VM du projet actuel utilisent d'abord toutes les réservations à projet unique avant d'utiliser des réservations partagées. Pour en savoir plus sur la consommation automatique des réservations, consultez la page Ordre de consommation.

Lorsque vous créez une réservation, il s'agit du modèle de consommation par défaut, à condition que vous n'utilisiez pas l'option indiquant que des réservations spécifiques sont requises.

Console

  1. Pour créer une réservation avec des ressources qui peuvent être utilisées par des VM avec une propriété d'affinité de réservation configurée pour utiliser toutes les réservations (par défaut), procédez comme suit :

    1. Sélectionnez le type de réservation que vous souhaitez créer :

      • Pour créer une réservation autonome, procédez comme suit :

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

          Accéder à la page "Réservations"

        2. Dans l'onglet Réservation à la demande (par défaut), cliquez sur Créer une réservation.

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

      • Pour créer une réservation associée à un engagement, procédez comme suit :

        1. Dans la console Google Cloud, accédez à la page Remises sur engagement d'utilisation.

          Accéder aux remises sur engagement d'utilisation

          La page Liste des engagements s'affiche.

        2. Cliquez sur Souscrire un engagement.

          La page Acheter une remise sur engagement d'utilisation s'affiche.

        3. Spécifiez les propriétés de l'engagement. Ensuite, dans la section Réservations, cliquez sur Ajouter un élément.

          La section Ajouter une réservation s'affiche.

          Pour en savoir plus sur la souscription d'un engagement avec une réservation associée, consultez la section Souscrire des engagements avec des réservations associées.

    2. Dans le champ Nom, saisissez le nom de la réservation. Pour cet exemple, saisissez reservation-01.

    3. Choisissez la région et la zone dans lesquelles vous souhaitez réserver des ressources. Pour cet exemple, sélectionnez la région us-central1 et us-central1-a pour la zone.

    4. Choisissez le type de partage souhaité :

      • Pour créer une réservation pour un seul projet, sélectionnez Local.
      • Pour créer une réservation partagée entre plusieurs projets, sélectionnez Partagé. Pour partager cette réservation avec d'autres projets, cliquez sur Ajouter des projets et sélectionnez les projets souhaités dans l'organisation du projet actuel.
    5. Dans la section Utiliser avec une instance de VM, sélectionnez Utiliser automatiquement une réservation afin que toutes les VM correspondantes puissent utiliser automatiquement cette réservation.

    6. Dans le champ Nombre d'instances de VM, saisissez le nombre de VM que vous souhaitez réserver. Pour cet exemple, saisissez 2.

    7. Spécifiez les ressources que vous souhaitez réserver pour chaque VM :

      • Si vous souhaitez réserver des VM correspondant à un modèle d'instance existant, sélectionnez Utiliser un modèle d'instance, puis un modèle d'instance dans la liste.
      • Sinon, sélectionnez Spécifier un type de machine et 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 : spécifiez une configuration minimale de plate-forme de processeur et/ou de GPU :
          1. Pour développer la section Plate-forme du processeur et GPU, cliquez 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 : ajoutez des disques SSD locaux :
          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.

      Pour cet exemple, sélectionnez Spécifier un type de machine. Sélectionnez ensuite le type de machine n2-standard-32 pour la famille de machines General-purpose et la série N2, puis sélectionnez la configuration minimale de la plate-forme du processeur Intel Cascade Lake.

    8. Terminez la création de la réservation :

      • Si vous créez une réservation autonome, cliquez sur Créer.

      • Si vous créez une réservation associée à un engagement :

        1. Pour terminer la spécification des propriétés de cette réservation, cliquez sur OK.
        2. Pour terminer la création de l'engagement et des réservations associées, cliquez sur Acheter.
  2. Dans le même projet ou un projet avec lequel la réservation est partagée, créez une VM qui cible toute réservation ouverte.

    Vérifiez que les propriétés de la VM correspondent à celles de la VM dans reservation-01, y compris la zone, le type de machine (famille de machines, vCPU et mémoire), la configuration minimale de la plate-forme du processeur, la quantité et le type de GPU, ainsi que l'interface et la taille des disques SSD locaux.

    Pour en savoir plus sur la création d'une VM, consultez la page Créer et démarrer une VM.

    1. Accédez à la page Créer une instance dans Google Cloud Console.

      Accéder à la page Créer une instance

      La page Créer une instance s'ouvre.

    2. Spécifiez un nom pour votre VM.

    3. Dans les sections suivantes, sélectionnez une configuration qui correspond exactement à toutes les propriétés de votre réservation, y compris les propriétés facultatives. Pour cet exemple, vous devez mettre en correspondance les propriétés de VM suivantes avec reservation-01 :

      • Région : us-central1
      • Zone : us-central1-a
      • Type de machine : n2-standard-32
      • Configuration minimale de la plate-forme du CPU : Intel Cascade Lake
      • GPU : aucun
      • Disques SSD locaux : aucun
    4. Développez la section Options avancées, puis la section Gestion. Dans la liste Réservations, cliquez sur Utiliser automatiquement la réservation créée.

    5. Pour créer la VM, cliquez sur Créer.

gcloud

  1. Créez une réservation ouverte appelée reservation-01.

    gcloud compute reservations create reservation-01 \
        --vm-count=2 \
        --machine-type=n2-standard-32 \
        --min-cpu-platform="Intel Cascade Lake" \
        --zone=us-central1-a
    
  2. Créez une VM ciblant toute réservation ouverte et correspondant aux propriétés de VM de reservation-01, y compris la zone, le type de machine (famille de machines virtuelles et processeurs virtuels), la configuration minimale de la plate-forme du processeur, la quantité et le type de GPU, et la quantité et l'interface de SSD local.

    gcloud compute instances create instance-1 \
        --machine-type=n2-standard-32 \
        --min-cpu-platform="Intel Cascade Lake" \
        --zone=us-central1-a \
        --reservation-affinity=any
    

REST

  1. Créez une réservation ouverte appelée reservation-01.

    POST https://compute.googleapis.com/compute/v1/projects/my-project/zones/us-central1-a/reservations
    
    {
      "name": "reservation-01",
      "specificReservation": {
        "count": "2",
        "instanceProperties": {
          "machineType": "n2-standard-32",
          "minCpuPlatform": "Intel Cascade Lake",
        }
      }
    }
    
  2. Créez une VM ciblant toute réservation ouverte et correspondant aux propriétés de VM de reservation-01, y compris la zone, le type de machine (famille de machines virtuelles et processeurs virtuels), la configuration minimale de la plate-forme du processeur, la quantité et le type de GPU, et la quantité et l'interface de SSD local.

    POST https://compute.googleapis.com/compute/v1/projects/my-project/zones/us-central1-a/instances
    
    {
      "name": "instance-1",
      "machineType": "zones/us-central1-a/machineTypes/n2-standard-32",
      "minCpuPlatform": "Intel Cascade Lake",
      "disks": [
        {
          "boot": true,
          "initializeParams": {
            "sourceImage": "projects/debian-cloud/global/images/family/debian-12"
          }
        }
      ],
      "networkInterfaces": [
        {
          "network": "global/networks/default"
        }
      ],
      "reservationAffinity": {
        "consumeReservationType": "ANY_RESERVATION"
      }
    }
    

Utiliser des VM issues d'une réservation spécifique

Dans ce modèle d'utilisation, seules les nouvelles VM qui ciblent une réservation spécifique par nom peuvent utiliser cette réservation. La réservation n'est donc pas utilisée automatiquement.

Lors de la création de la réservation, spécifiez que les VM sont requises pour cibler la réservation spécifique en utilisant l'une des méthodes suivantes :

  • Dans la console Google Cloud, cochez la case Sélectionner une réservation spécifique.
  • Dans la CLI gcloud, incluez l'option --require-specific-reservation.
  • Dans l'API Compute Engine, définissez le champ specificReservationRequired sur true.
  • Dans Terraform, définissez le champ specific_reservation_required sur true.

Ensuite, créez des VM qui ciblent spécifiquement cette réservation. Vous ne pouvez créer une VM qui cible une réservation spécifique que si les propriétés de la VM et celles de la réservation correspondent. Sinon, la création de la VMéchouera.

Si vous utilisez un modèle d'instance pour créer des VM dans un groupe d'instances géré régional, créez des réservations identiques portant le même nom dans chaque zone applicable. Ensuite, ciblez les réservations par leur nom dans le modèle d'instance du groupe.

Par exemple, créez une réservation spécifique nommée reservation-02, puis créez une VM correspondante qui cible cette réservation et qui correspond aux propriétés de VM de la réservation.

Selon le type de VM que vous souhaitez utiliser, suivez les étapes pour la consommation d'une réservation pour un seul projet ou la consommation d'une réservation partagée spécifique.

Consommer une réservation spécifique à un seul projet

Pour consommer une réservation spécifique pour un seul projet, sélectionnez l'une des options suivantes:

Console

  1. Pour créer une réservation avec des ressources qui ne peuvent être utilisées que par des VM ciblant spécifiquement la réservation par son nom, procédez comme suit :

    1. Sélectionnez l'une des options suivantes :

      • Pour créer une réservation autonome, procédez comme suit :

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

          Accéder à la page "Réservations"

        2. Dans l'onglet Réservations à la demande (par défaut), cliquez sur Créer une réservation.

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

      • Pour créer une réservation associée à un engagement, procédez comme suit :

        1. Dans la console Google Cloud, accédez à la page Remises sur engagement d'utilisation.

          Accéder aux remises sur engagement d'utilisation

        2. Cliquez sur Souscrire un engagement.

          La page Acheter une remise sur engagement d'utilisation s'affiche.

        3. Spécifiez les propriétés de l'engagement. Ensuite, dans la section Réservations, cliquez sur Ajouter un élément.

          La section Ajouter une réservation s'affiche.

          Pour en savoir plus sur la souscription d'un engagement avec une réservation associée, consultez la section Souscrire des engagements avec des réservations associées.

    2. Dans le champ Nom, saisissez le nom de la réservation. Pour cet exemple, saisissez reservation-02.

    3. Choisissez la région et la zone dans lesquelles vous souhaitez réserver des ressources. Pour cet exemple, sélectionnez la région us-central1 et us-central1-a pour la zone.

    4. Pour spécifier que votre réservation sera une réservation pour un projet unique, sélectionnez Local comme Type de partage.

    5. Dans la section Utiliser avec une instance de VM, sélectionnez Sélectionner une réservation spécifique afin que seules les VM correspondantes ciblant spécifiquement cette réservation par son nom puissent l'utiliser.

    6. Dans le champ Nombre d'instances de VM, saisissez le nombre de VM que vous souhaitez réserver. Pour cet exemple, saisissez 10.

    7. Spécifiez les ressources que vous souhaitez réserver pour chaque VM :

      • Si vous souhaitez réserver des VM correspondant à un modèle d'instance existant, sélectionnez Utiliser un modèle d'instance, puis un modèle d'instance dans la liste.
      • Sinon, sélectionnez Spécifier un type de machine et 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 : spécifiez une configuration minimale de plate-forme de processeur et/ou de GPU :
          1. Pour développer la section Plate-forme du processeur et GPU, cliquez 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 : ajoutez des disques SSD locaux :
          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.

      Pour cet exemple, sélectionnez Spécifier un type de machine. Sélectionnez ensuite le type de machine n2-standard-32 pour la famille de machines General-purpose et la série N2, puis sélectionnez la configuration minimale de la plate-forme du processeur Intel Cascade Lake.

    8. Terminez la création de la réservation :

      • Si vous créez une réservation autonome, cliquez sur Créer.

      • Si vous créez une réservation associée à un engagement :

        1. Pour terminer la spécification des propriétés de cette réservation, cliquez sur OK.
        2. Pour terminer la création de l'engagement et des réservations associées, cliquez sur Acheter.
  2. Dans le même projet, créez une VM qui cible la réservation spécifique par son nom.

    Vérifiez que les propriétés de la VM correspondent aux propriétés de la VM de cette réservation spécifique, y compris la zone, le type de machine (famille de machines, vCPU et mémoire), la configuration minimale de la plate-forme du processeur, le type et la quantité de GPU et l'interface et la taille des disques SSD locaux.

    Pour en savoir plus sur la création d'une VM, consultez la section Créer et démarrer une VM.

    1. Accédez à la page Créer une instance dans Google Cloud Console.

      Accéder à la page Créer une instance

    2. Dans le champ Nom, saisissez un nom pour la VM.

    3. Dans les sections suivantes, sélectionnez une configuration qui correspond exactement à toutes les propriétés de votre réservation, y compris les propriétés facultatives. Pour cet exemple, vous devez mettre en correspondance les propriétés de VM suivantes avec reservation-02 :

      • Région : us-central1
      • Zone : us-central1-a
      • Type de machine : n2-standard-32
      • Configuration minimale de la plate-forme du CPU : Intel Cascade Lake
      • GPU : aucun
      • Disques SSD locaux : aucun
    4. Développez la section Options avancées et procédez comme suit :

      1. Développez la section Gestion.

      2. Dans la section Réservations, dans la liste Règle d'application, sélectionnez Sélectionner une réservation spécifique.

      3. Sélectionnez la réservation avec les propriétés de VM correspondantes que vous souhaitez que la VM utilise. Pour cet exemple, sélectionnez reservation-02.

    5. Pour créer la VM, cliquez sur Créer.

gcloud

  1. Créez une réservation appelée reservation-02 avec l'option --require-specific-reservation. Ces ressources réservées ne peuvent être utilisées que par des VM qui ciblent spécifiquement cette réservation par son nom.

    gcloud compute reservations create reservation-02 \
        --machine-type=n2-standard-32 \
        --min-cpu-platform="Intel Cascade Lake" \
        --vm-count=10 \
        --zone=us-central1-a \
        --require-specific-reservation
    
  2. Créez une VM qui cible reservation-02 par son nom en utilisant les options --reservation-affinity et --reservation.

    Vérifiez que les propriétés de la VM correspondent aux propriétés de la réservation, y compris la zone, le type de machine (famille de machines, processeurs virtuels et mémoire), la configuration minimale de la plate-forme du processeur, le type et la quantité de GPU, et l'interface et la taille des disques SSD locaux.

    gcloud compute instances create instance-2 \
        --machine-type=n2-standard-32 \
        --min-cpu-platform="Intel Cascade Lake" \
        --zone=us-central1-a \
        --reservation-affinity=specific \
        --reservation=reservation-02
    

REST

  1. Créez une réservation nommée reservation-02 avec le champ specificReservationRequired défini sur true.

    POST https://compute.googleapis.com/compute/v1/projects/my-project/zones/us-central1-a/reservations
    
    {
      "name":"reservation-02",
      "specificReservation":{
        "count":"10",
        "instanceProperties":{
          "machineType":"n2-standard-32",
          "minCpuPlatform": "Intel Cascade Lake",
        }
      },
      "specificReservationRequired": true
    }
    
  2. Créez une VM ciblant reservation-02 par son nom à l'aide du champ reservationAffinity.

    Vérifiez que les propriétés de la VM correspondent aux propriétés de la réservation, y compris la zone, le type de machine (famille de machines, processeurs virtuels et mémoire), la configuration minimale de la plate-forme du processeur, le type et la quantité de GPU, et l'interface et la taille des disques SSD locaux.

    POST https://compute.googleapis.com/compute/v1/projects/my-project/zones/us-central1-a/instances
    
    {
      "name": "instance-2",
      "machineType": "zones/us-central1-a/machineTypes/n2-standard-32",
      "minCpuPlatform": "Intel Cascade Lake",
      "disks": [
        {
          "boot": true,
          "initializeParams": {
            "sourceImage": "projects/debian-clouid/global/images/family/debian-12"
          }
        }
      ],
      "networkInterfaces": [
        {
          "network": "global/networks/default"
        }
      ],
      "reservationAffinity": {
        "consumeReservationType": "SPECIFIC_RESERVATION",
        "key": "compute.googleapis.com/reservation-name",
        "values": [
          "reservation-02"
        ]
      }
    }
    

Utiliser une réservation partagée spécifique

Pour consommer une réservation partagée spécifique, sélectionnez l'une des options suivantes :

Console

  1. Pour créer une réservation partagée avec des ressources qui ne peuvent être utilisées que par des VM ciblant spécifiquement cette réservation par son nom, procédez comme suit :

    1. Sélectionnez l'une des options suivantes :

      • Pour créer une réservation autonome, procédez comme suit :

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

          Accéder à la page "Réservations"

        2. Dans l'onglet Réservations à la demande (par défaut), cliquez sur Créer une réservation.

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

      • Pour créer une réservation associée à un engagement, procédez comme suit :

        1. Dans la console Google Cloud, accédez à la page Remises sur engagement d'utilisation.

          Accéder aux remises sur engagement d'utilisation

        2. Cliquez sur Souscrire un engagement.

          La page Acheter une remise sur engagement d'utilisation s'affiche.

        3. Spécifiez les propriétés de l'engagement. Ensuite, dans la section Réservations, cliquez sur Ajouter un élément.

          La section Ajouter une réservation s'affiche.

          Pour en savoir plus sur la souscription d'un engagement avec une réservation associée, consultez la section Souscrire des engagements avec des réservations associées.

    2. Dans le champ Nom, saisissez le nom de la réservation. Pour cet exemple, saisissez reservation-02.

    3. Choisissez la région et la zone dans lesquelles vous souhaitez réserver des ressources. Pour cet exemple, sélectionnez la région us-central1 et us-central1-a pour la zone.

    4. Pour spécifier que votre réservation est une réservation partagée, sélectionnez Partagé comme type de partage.

    5. Cliquez sur Ajouter des projets, puis sélectionnez les projets de l'organisation du projet actuel avec lesquels vous souhaitez partager la réservation.

    6. Dans la section Utiliser avec une instance de VM, sélectionnez Sélectionner une réservation spécifique afin que seules les VM correspondantes ciblant spécifiquement cette réservation par son nom puissent l'utiliser.

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

    8. Spécifiez les ressources que vous souhaitez réserver pour chaque VM :

      • Si vous souhaitez réserver des VM correspondant à un modèle d'instance existant, sélectionnez Utiliser un modèle d'instance, puis un modèle d'instance dans la liste.
      • Sinon, sélectionnez Spécifier un type de machine et 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 : spécifiez une configuration minimale de plate-forme de processeur et/ou de GPU :
          1. Pour développer la section Plate-forme du processeur et GPU, cliquez 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 : ajoutez des disques SSD locaux :
          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.

      Pour cet exemple, sélectionnez Spécifier un type de machine. Sélectionnez ensuite le type de machine n2-standard-32 pour la famille de machines General-purpose et la série N2, puis sélectionnez la configuration minimale de la plate-forme du processeur Intel Cascade Lake. 1. Terminez la création de la réservation :

      • Si vous créez une réservation autonome, cliquez sur Créer.

      • Si vous créez une réservation associée à un engagement :

        1. Pour terminer la spécification des propriétés de cette réservation, cliquez sur OK.
        2. Pour terminer la création de l'engagement et des réservations associées, cliquez sur Acheter.
  2. Dans le même projet ou le projet avec lequel la réservation est partagée, créez une VM qui cible la réservation spécifique par son nom.

    Vérifiez que les propriétés de la VM correspondent aux propriétés de la VM de cette réservation spécifique, y compris la zone, le type de machine (famille de machines, vCPU et mémoire), la configuration minimale de la plate-forme du processeur, le type et la quantité de GPU et l'interface et la taille des disques SSD locaux.

    1. Accédez à la page Créer une instance dans Google Cloud Console.

      Accéder à la page Créer une instance

      La page Créer une instance s'ouvre.

    2. Spécifiez un nom pour votre VM.

    3. Dans les sections suivantes, sélectionnez une configuration qui correspond exactement à toutes les propriétés de votre réservation, y compris les propriétés facultatives. Pour cet exemple, vous devez mettre en correspondance les propriétés de VM suivantes avec reservation-02 :

      • Région : us-central1
      • Zone : us-central1-a
      • Type de machine : n2-standard-32
      • Configuration minimale de la plate-forme du CPU : Intel Cascade Lake
      • GPU : aucun
      • Disques SSD locaux : aucun
    4. Développez la section Options avancées, puis la section Gestion. Dans la liste Réservations, sélectionnez Sélectionner une réservation spécifique, puis procédez comme suit :

      1. Sélectionnez un projet de réservation ayant des réservations partagées avec votre projet actuel. Pour cet exemple, sélectionnez le projet que vous avez utilisé pour créer reservation-02.
      2. Sélectionnez le nom de la réservation de la réservation partagée que vous souhaitez que cette VM utilise. Pour cet exemple, sélectionnez reservation-02.
    5. Pour créer la VM, cliquez sur Créer.

gcloud

  1. Créez une réservation appelée reservation-02 avec l'option --require-specific-reservation. Ces ressources réservées ne peuvent être utilisées que par des VM qui ciblent spécifiquement cette réservation par son nom.

    gcloud compute reservations create reservation-02 \
        --machine-type=n2-standard-32 \
        --min-cpu-platform="Intel Cascade Lake" \
        --vm-count=10 \
        --zone=us-central1-a \
        --project=my-owner-project \
        --share-setting=projects \
        --share-with=project-1,project-2 \
        --require-specific-reservation
    
  2. Créez une VM qui cible reservation-02 par son nom en utilisant les options --reservation-affinity et --reservation. Pour utiliser cette réservation à partir de tous les projets clients avec lesquels cette réservation est partagée, vous devez également spécifier le projet qui a créé la réservation, my-owner-project.

    Vérifiez que les propriétés de la VM correspondent aux propriétés de la réservation, y compris la zone, le type de machine (famille de machines, processeurs virtuels et mémoire), la configuration minimale de la plate-forme du processeur, le type et la quantité de GPU, et l'interface et la taille des disques SSD locaux.

    gcloud compute instances create instance-2 \
        --machine-type=n2-standard-32 \
        --min-cpu-platform="Intel Cascade Lake" \
        --zone=us-central1-a \
        --reservation-affinity=specific \
        --reservation=projects/my-owner-project/reservations/reservation-02
    

REST

  1. Créez une réservation nommée reservation-02 avec le champ specificReservationRequired défini sur true.

    POST https://compute.googleapis.com/compute/v1/projects/my-owner-project/zones/us-central1-a/reservations
    
    {
      "name":"reservation-02",
      "specificReservation":{
        "count":"10",
        "instanceProperties":{
          "machineType":"n2-standard-32",
          "minCpuPlatform": "Intel Cascade Lake"
        }
      },
      "shareSettings": {
        "shareType": "SPECIFIC_PROJECTS",
        "projectMap": {
          "project-1": {
            "projectId": "project-1"
          },
          "project-2": {
            "projectId": "project-2"
          }
        }
      },
      "specificReservationRequired": true
    }
    
  2. Créez une VM ciblant reservation-02 par son nom à l'aide du champ reservationAffinity. Pour utiliser cette réservation à partir de tous les projets clients avec lesquels elle est partagée, vous devez également spécifier le projet propriétaire de la réservation, my-owner-project.

    Vérifiez que les propriétés de la VM correspondent aux propriétés de la réservation, y compris la zone, le type de machine (famille de machines, processeurs virtuels et mémoire), la configuration minimale de la plate-forme du processeur, le type et la quantité de GPU, et l'interface et la taille des disques SSD locaux.

    POST https://compute.googleapis.com/compute/v1/projects/project-2/zones/us-central1-a/instances
    
    {
      "name": "instance-2",
      "machineType": "zones/us-central1-a/machineTypes/n2-standard-32",
      "minCpuPlatform": "Intel Cascade Lake",
      "disks": [
        {
          "boot": true,
          "initializeParams": {
            "sourceImage": "projects/debian-clouid/global/images/family/debian-12"
          }
        }
      ],
      "networkInterfaces": [
        {
          "network": "global/networks/default"
        }
      ],
      "reservationAffinity": {
        "consumeReservationType": "SPECIFIC_RESERVATION",
        "key": "compute.googleapis.com/reservation-name",
        "values": [
          "projects/my-owner-project/reservations/reservation-02"
        ]
      }
    }
    

Créer des VM sans consommer de réservations

Si vous créez une réservation utilisée automatiquement, toutes les VM en cours d'exécution de votre projet avec des propriétés correspondantes peuvent utiliser la réservation. Pour empêcher une ou plusieurs de vos VM de consommer la réservation, procédez comme suit:

  • Définissez la propriété d'affinité de réservation des VM pour qu'elles ne consomment explicitement aucune réservation, comme décrit dans cette section.

  • Assurez-vous que vos VM ne correspondent pas aux propriétés de VM de la réservation.

Pour créer des VM qui ne consomment explicitement aucune réservation, sélectionnez l'une des méthodes suivantes:

Créer une VM pour ne pas utiliser de réservations

Pour créer une VM qui ne consomme pas de réservation explicitement, sélectionnez l'une des options suivantes:

Console

  1. Accédez à la page Créer une instance dans Google Cloud Console.

    Accéder à la page Créer une instance

  2. Dans le champ Nom, saisissez un nom pour la VM.

  3. Dans les listes Région et Zone, sélectionnez la région et la zone dans lesquelles créer la VM.

  4. Dans la section Configuration de la machine, spécifiez le type de machine à utiliser pour la VM.

  5. Développez la section Options avancées et procédez comme suit :

    1. Développez la section Gestion.

    2. Dans la section Réservations, dans la liste Règle d'application, sélectionnez Ne pas utiliser.

  6. Cliquez sur Créer.

gcloud

Pour créer une VM qui ne consomme pas de réservations explicitement, exécutez la commande gcloud compute instances create avec l'option --reservation-affinity=none.

gcloud compute instances create VM_NAME \
    --machine-type=MACHINE_TYPE \
    --reservation-affinity=none \
    --zone=ZONE

Remplacez les éléments suivants :

  • VM_NAME : Nom de la VM.

  • MACHINE_TYPE : type de machine à utiliser pour la VM.

  • ZONE : Zone dans laquelle créer l'instance de VM.

REST

Pour créer une VM qui ne consomme pas de réservation explicitement, envoyez une requête POST à la méthode instances.insert. Dans le corps de la requête, incluez le champ consumeReservationType défini sur NO_RESERVATION.

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

{
  "name": "VM_NAME",
  "machineType": "zones/ZONE/machineTypes/MACHINE_TYPE",
  "disks": [
    {
      "boot": true,
      "initializeParams": {
        "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE"
      }
    }
  ],
  "networkInterfaces": [
    {
      "network": "global/networks/default"
    }
  ],
  "reservationAffinity": {
    "consumeReservationType": "NO_RESERVATION"
  }
}

Remplacez les éléments suivants :

  • PROJECT_ID: ID du projet dans lequel créer la VM.

  • ZONE : Zone dans laquelle créer l'instance de VM.

  • VM_NAME : Nom de la VM.

  • MACHINE_TYPE : type de machine à utiliser pour la VM.

  • IMAGE_PROJECT : projet d'image contenant l'image d'OS ; par exemple, debian-cloud. Pour en savoir plus sur les projets d'image compatibles, consultez la page Images publiques.

  • IMAGE : spécifiez l'une des options suivantes :

    • Version spécifique de l'image de l'OS. Exemple : debian-12-bookworm-v20240617

    • Une famille d'images, qui doit être au format family/IMAGE_FAMILY. Cela permet de spécifier l'image d'OS non obsolète la plus récente. Par exemple, si vous spécifiez family/debian-12, la dernière version de la famille d'images Debian 12 est utilisée. Pour en savoir plus sur l'utilisation des familles d'images, consultez la page Bonnes pratiques concernant les familles d'images.

Pour en savoir plus sur la création d'une VM, consultez la page Créer et démarrer une instance Compute Engine.

Créer un modèle d'instance pour ne pas utiliser de réservations

Pour créer un modèle d'instance qui crée des VM qui ne consomment pas explicitement de réservations, sélectionnez l'une des options suivantes:

Console

  1. Dans la console Google Cloud, accédez à la page Créer un modèle d'instance.

    Accédez à la page Créer un modèle d'instance.

  2. Dans le champ Nom, saisissez un nom pour le modèle d'instance.

  3. Dans la section Emplacement, indiquez si vous souhaitez créer un modèle d'instance régional (par défaut) ou global.

  4. Dans la section Configuration de la machine, spécifiez le type de machine à utiliser pour les VM créées à l'aide du modèle.

  5. Développez la section Options avancées et procédez comme suit :

    1. Développez la section Gestion.

    2. Dans la section Réservations, dans la liste Règle d'application, sélectionnez Ne pas utiliser.

  6. Cliquez sur Créer.

gcloud

Pour créer un modèle d'instance qui crée des VM qui ne consomment pas explicitement de réservations, exécutez la commande gcloud compute instances-templates create avec l'option --reservation-affinity=none.

Par exemple, pour créer un modèle d'instance global qui crée des VM qui ne consomment pas explicitement de réservations, exécutez la commande suivante:

gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
    --machine-type=MACHINE_TYPE \
    --reservation-affinity=none

Remplacez les éléments suivants :

  • INSTANCE_TEMPLATE_NAME : nom du modèle d'instance.

  • MACHINE_TYPE: type de machine à utiliser pour les VM créées à l'aide du modèle d'instance.

REST

Pour créer un modèle d'instance qui crée des VM qui ne consomment pas explicitement de réservations, envoyez une requête POST à l'une des méthodes suivantes:

Dans le corps de la requête, incluez le champ consumeReservationType et définissez-le sur NO_RESERVATION.

Par exemple, pour créer un modèle d'instance global qui crée des VM qui ne consomment pas explicitement de réservations, envoyez une requête comme suit :

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/InstanceTemplates

{
  "name": "INSTANCE_TEMPLATE_NAME",
  "properties": {
    "machineType": "MACHINE_TYPE",
    "disks": [
      {
        "boot": true,
        "initializeParams": {
          "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE"
        }
      }
    ],
    "networkInterfaces": [
      {
        "network": "global/networks/default"
      }
    ],
    "reservationAffinity": {
      "consumeReservationType": "NO_RESERVATION"
    }
  }
}

Remplacez les éléments suivants :

  • PROJECT_ID : ID du projet dans lequel créer le modèle d'instance.

  • INSTANCE_TEMPLATE_NAME : nom du modèle d'instance.

  • MACHINE_TYPE: type de machine à utiliser pour les VM créées à l'aide du modèle d'instance.

  • IMAGE_PROJECT : projet d'image contenant l'image d'OS ; par exemple, debian-cloud. Pour en savoir plus sur les projets d'image compatibles, consultez la page Images publiques.

  • IMAGE : spécifiez l'une des options suivantes :

    • Version spécifique de l'image de l'OS. Exemple : debian-12-bookworm-v20240617

    • Une famille d'images, qui doit être au format family/IMAGE_FAMILY. Cela permet de spécifier l'image d'OS non obsolète la plus récente. Par exemple, si vous spécifiez family/debian-12, la dernière version de la famille d'images Debian 12 est utilisée. Pour en savoir plus sur l'utilisation des familles d'images, consultez la page Bonnes pratiques concernant les familles d'images.

Pour en savoir plus sur la création de modèles d'instances, consultez la section Création de modèles d'instances.

Tester la correspondance entre les propriétés d'une VM et une réservation

Pour vérifier si les VM peuvent utiliser automatiquement une réservation, vous pouvez créer une copie de la réservation en tant que réservation spécifique, puis vérifier si une VM que vous prévoyez de créer peut utiliser cette réservation. Si vous pouvez créer la VM, vous avez vérifié qu'elle peut utiliser correctement la réservation correspondante. Sinon, la création de la VM échoue, car les propriétés ne correspondent pas ou aucune ressource réservée n'est disponible. Une fois les tests effectués, vous pouvez effectuer l'une ou plusieurs des opérations suivantes :

Vérifier la consommation des réservations

Pour vérifier qu'une VM consomme correctement une réservation, utilisez l'une des méthodes suivantes :

  • Affichez les détails de la réservation avant et après la création ou la mise à jour d'une VM.

    Si le nombre de VM utilisées par une réservation augmente de 1 après votre modification, votre modification a probablement entraîné l'utilisation de la réservation par la VM. Il s'agit de la méthode la plus simple pour vérifier l'utilisation d'une réservation, mais elle peut ne pas fonctionner correctement pour déterminer quelle VM exacte consomme une réservation.

  • Créez la VM pour cibler une réservation spécifique.

    Si vous pouvez créer une VM qui cible une réservation spécifique, la VM utilise la réservation. Il s'agit de la méthode la plus fiable pour vérifier qu'une VM spécifique utilise une réservation et que les propriétés de la VM correspondent à une réservation.

  • Surveillez votre consommation de réservations.

    Avec Cloud Monitoring, vous pouvez accéder aux informations associées à la consommation des réservations créées dans le projet actuel et les afficher. Si vous constatez une modification dans les mesures d'une réservation, cela signifie qu'une VM a consommé la réservation. Cette méthode est utile pour vérifier la tendance de consommation d'une ou de plusieurs réservations, ainsi que pour recevoir des notifications pour les réservations sous-utilisées ou inutilisées.

Si vous constatez qu'une VM ne consomme aucune réservation après avoir vérifié que l'affinité de réservation de la VM peut consommer la réservation, que la réservation n'est pas entièrement utilisée et que les propriétés de la VM et de la réservation sont identiques, consultez la documentation de dépannage pour la Disponibilité des ressources.

Afficher les rapports d'utilisation des réservations

Exportez des rapports détaillés sur votre utilisation de Compute Engine vers un bucket Cloud Storage à l'aide de la fonctionnalité d'exportation de l'utilisation. Pour savoir comment procéder, consultez la page Afficher les rapports d'utilisation.

Le rapport d'utilisation affiche les informations suivantes :

  • Les ressources réservées en cours d'utilisation. Ces entrées apparaissent comme des ressources "processeur virtuel", "mémoire", "GPU" et "SSD local" normales.
  • Les ressources réservées qui ne sont pas en cours d'utilisation. Ces entrées ont des codes SKU normaux et des URI de ressources de type "réservation".
  • Total des ressources réservées. Ces entrées ont des codes SKU et des URI de ressource de type "réservation". Aucun coût n'est associé à ces entrées. Utilisez ces entrées pour calculer la quantité de réservations que vous utilisez.
Mesure Format MeasurementId Format Resource URI
Ressources réservées en cours d'utilisation com.google.cloud/services/compute-engine/SKU_NAME https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/RESOURCE_TYPE/RESOURCE_NAME.

Par exemple, https://compute.googleapis.com/compute/v1/projects/my-project/zones/us-central1-a/instances/my-instance
Ressources réservées non utilisées com.google.cloud/services/compute-engine/SKU_NAME https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/reservations/RESERVATION_NAME.

Par exemple, https://compute.googleapis.com/compute/v1/projects/my-project/zones/europe-west1-b/reservations/my-reservation
Total des ressources réservées com.google.cloud/services/compute-engine/ReservationSKU_NAME https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/reservations/RESERVATION_NAME.

Par exemple, https://compute.googleapis.com/compute/v1/projects/my-project/zones/europe-west1-b/reservations/my-reservation

Par exemple, dans l'extrait de rapport d'utilisation pour une réservation nommée my-reservation présenté ci-dessous :

  • La ligne 1 indique la quantité de mémoire RAM réservée actuellement utilisée. Le ResourceId de la ligne indique que cette mémoire RAM est utilisée par une VM nommée my-instance.
  • La ligne 2 indique la quantité de mémoire RAM réservée qui n'est pas utilisée. Le ResourceId de la ligne indique que cette mémoire RAM réservée est conservée par my-reservation ; elle n'est pour l'instant utilisée par aucune VM.
  • La ligne 3 indique la quantité totale de mémoire réservée pour la réservation.
Report Date,MeasurementId,Quantity,Unit,Resource URI,ResourceId,Location
2019-06-06,com.google.cloud/services/compute-engine/VmimageN2StandardRam,166970074857472,byte-seconds,https://compute.googleapis.com/compute/v1/projects/my-project/zones/us-central2-a/instances/my-instance,1775485842510981624,us-central2-a
2019-06-06,com.google.cloud/services/compute-engine/VmimageN2StandardRam,166970074857472,byte-seconds,https://compute.googleapis.com/compute/v1/projects/my-project/zones/us-central2-a/reservations/my-reservation,7.58809E+17,us-central2-a
2019-06-06,com.google.cloud/services/compute-engine/ReservationN2StandardRam,333940149714944,byte-seconds,https://compute.googleapis.com/compute/v1/projects/my-project/zones/us-central2-a/reservations/my-reservation,7.58809E+17,us-central2-a
...

Résoudre les problèmes

Découvrez comment résoudre les problèmes liés à l'utilisation des réservations.

Étapes suivantes