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 :

    Sélectionnez l'onglet correspondant à la façon dont vous prévoyez d'utiliser les exemples de cette page :

    Console

    Lorsque vous utilisez la console Google Cloud pour accéder aux services et aux API Google Cloud, vous n'avez pas besoin de configurer l'authentification.

    gcloud

    1. Installez Google Cloud CLI, puis initialisez-la en exécutant la commande suivante :

      gcloud init
    2. Définissez une région et une zone par défaut.

    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.

      Installez Google Cloud CLI, puis initialisez-la en exécutant la commande suivante :

      gcloud init

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 section Gérer les accès.

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

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 ou non à une réservation. 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 utilisée automatiquement.

    Cette option est utile lorsque vous souhaitez, par exemple, 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 correspondent.

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

Consommer des VM de toute 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"

          La page Réservations s'affiche.

        2. 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'affiche.

    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",
        }
      },
      "specificReservationRequired": false
    }
    
  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",
      "reservationAffinity":
      {
        "consumeReservationType": "ANY_RESERVATION"
      },
      ...
    }
    

Consommer des VM 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, utilisez la console Google Cloud, la gcloud CLI ou REST.

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"

          La page Réservations s'affiche.

        2. 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-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 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'affiche.

    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 le nom de la réservation avec les propriétés correspondantes que vous souhaitez que la VM consomme. 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",
      "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, utilisez la console Google Cloud, la gcloud CLI ou REST.

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"

          La page Réservations s'affiche.

        2. 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-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'affiche.

    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",
      "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

Pour éviter explicitement de consommer des ressources issues de n'importe quelle réservation, définissez la propriété d'affinité de réservation de manière à ne pas utiliser de réservation lors de la création de la VM. Pour éviter implicitement d'utiliser l'une de vos réservations, vous pouvez également créer une VM qui ne corresponde aux propriétés de VM d'aucune de vos réservations.

Console

  1. Créez une VM qui ne consomme pas de réservation explicitement.

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

      Accéder à la page Créer une instance

    2. Créez une VM. Pour en savoir plus, consultez la page Créer et démarrer une VM.

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

      1. Développez la section Gestion.
      2. Pour vous assurer que cette VM ne consomme pas de réservations existantes, sélectionnez Ne pas utiliser dans la liste Réservations.
    4. Cliquez sur Create (Créer).

gcloud

Créez une VM qui ne consomme pas de réservation explicitement.

gcloud compute instances create instance-3 --reservation-affinity=none

Vous pouvez également créer une VM qui ne correspond aux propriétés de VM d'aucune de vos réservations. Pour consulter les propriétés de votre réservation, consultez la section Afficher les réservations.

REST

Créez une VM qui ne consomme pas de réservation explicitement.

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

{
  "machineType": "zones/us-central1-a/machineTypes/n2-standard-32",
  "name": "instance-3",
  "reservationAffinity":
  {
    "consumeReservationType": "NO_RESERVATION"
  },
  ...
}

Vous pouvez également créer une VM qui ne correspond aux propriétés de VM d'aucune de vos réservations. Pour consulter les propriétés de votre réservation, consultez la section Afficher les réservations.

Vérifier que les propriétés de VM correspondent à 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, cela signifie probablement que votre VM a commencé à consommer la réservation. Il s'agit de la méthode la plus simple pour vérifier une consommation de réservation. Toutefois, il est possible qu'elle ne soit pas efficace pour déterminer quelle VM utilise 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 consomme une réservation et que les propriétés de VM correspondent à une réservation.

  • Surveillez votre consommation de réservations.

    En utilisant Cloud Monitoring, vous pouvez accéder aux informations associées à la consommation des réservations créées dans le projet en cours. Si vous constatez un changement dans les mesures d'une réservation, cela signifie qu'une VM a utilisé la réservation. Cette méthode est utile pour vérifier la tendance de consommation d'une ou de plusieurs réservations, et 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