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 :
- Batch
- Dataflow
- Dataproc
- Google Kubernetes Engine
- Vertex AI:
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
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
-
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 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.
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 :
Sélectionnez le type de réservation que vous souhaitez créer :
Pour créer une réservation autonome, procédez comme suit :
Dans la console Google Cloud, accédez à la page Réservations.
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 :
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.
Cliquez sur
Souscrire un engagement.La page Acheter une remise sur engagement d'utilisation s'affiche.
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.
Dans le champ Nom, saisissez le nom de la réservation. Pour cet exemple, saisissez
reservation-01
.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
etus-central1-a
pour la zone.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.
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.
Dans le champ Nombre d'instances de VM, saisissez le nombre de VM que vous souhaitez réserver. Pour cet exemple, saisissez
2
.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 :
- 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.
- Facultatif : spécifiez une configuration minimale de plate-forme de processeur et/ou de GPU :
- Pour développer la section Plate-forme du processeur et GPU, cliquez sur la flèche de développement .
- Facultatif : pour spécifier une configuration minimale de plate-forme de processeur, sélectionnez une option dans la liste Plate-forme de processeur.
- 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.
- Facultatif : ajoutez des disques SSD locaux :
- Dans le champ Nombre de disques, sélectionnez le nombre de disques SSD locaux pour chaque VM.
- 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 machinesGeneral-purpose
et la sérieN2
, puis sélectionnez la configuration minimale de la plate-forme du processeurIntel Cascade Lake
.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 :
- Pour terminer la spécification des propriétés de cette réservation, cliquez sur OK.
- Pour terminer la création de l'engagement et des réservations associées, cliquez sur Acheter.
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.
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.
Spécifiez un nom pour votre VM.
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
- Région :
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.
Pour créer la VM, cliquez sur Créer.
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
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
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", } } }
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" } }
- 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
surtrue
. - Dans Terraform, définissez le champ
specific_reservation_required
surtrue
. 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 :
Sélectionnez l'une des options suivantes :
Pour créer une réservation autonome, procédez comme suit :
Dans la console Google Cloud, accédez à la page Réservations.
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 :
Dans la console Google Cloud, accédez à la page Remises sur engagement d'utilisation.
Cliquez sur
Souscrire un engagement.La page Acheter une remise sur engagement d'utilisation s'affiche.
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.
Dans le champ Nom, saisissez le nom de la réservation. Pour cet exemple, saisissez
reservation-02
.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
etus-central1-a
pour la zone.Pour spécifier que votre réservation sera une réservation pour un projet unique, sélectionnez Local comme Type de partage.
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.
Dans le champ Nombre d'instances de VM, saisissez le nombre de VM que vous souhaitez réserver. Pour cet exemple, saisissez
10
.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 :
- 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.
- Facultatif : spécifiez une configuration minimale de plate-forme de processeur et/ou de GPU :
- Pour développer la section Plate-forme du processeur et GPU, cliquez sur la flèche de développement .
- Facultatif : pour spécifier une configuration minimale de plate-forme de processeur, sélectionnez une option dans la liste Plate-forme de processeur.
- 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.
- Facultatif : ajoutez des disques SSD locaux :
- Dans le champ Nombre de disques, sélectionnez le nombre de disques SSD locaux pour chaque VM.
- 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 machinesGeneral-purpose
et la sérieN2
, puis sélectionnez la configuration minimale de la plate-forme du processeurIntel Cascade Lake
.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 :
- Pour terminer la spécification des propriétés de cette réservation, cliquez sur OK.
- Pour terminer la création de l'engagement et des réservations associées, cliquez sur Acheter.
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.
Accédez à la page Créer une instance dans Google Cloud Console.
Dans le champ Nom, saisissez un nom pour la VM.
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
- Région :
Développez la section Options avancées et procédez comme suit :
Développez la section Gestion.
Dans la section Réservations, dans la liste Règle d'application, sélectionnez Sélectionner une réservation spécifique.
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
.
Pour créer la VM, cliquez sur Créer.
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
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
Créez une réservation nommée
reservation-02
avec le champspecificReservationRequired
défini surtrue
.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 }
Créez une VM ciblant
reservation-02
par son nom à l'aide du champreservationAffinity
.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" ] } }
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 :
Sélectionnez l'une des options suivantes :
Pour créer une réservation autonome, procédez comme suit :
Dans la console Google Cloud, accédez à la page Réservations.
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 :
Dans la console Google Cloud, accédez à la page Remises sur engagement d'utilisation.
Cliquez sur
Souscrire un engagement.La page Acheter une remise sur engagement d'utilisation s'affiche.
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.
Dans le champ Nom, saisissez le nom de la réservation. Pour cet exemple, saisissez
reservation-02
.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
etus-central1-a
pour la zone.Pour spécifier que votre réservation est une réservation partagée, sélectionnez Partagé comme type de partage.
Cliquez sur
Ajouter des projets, puis sélectionnez les projets de l'organisation du projet actuel avec lesquels vous souhaitez partager la réservation.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.
Dans le champ Nombre d'instances de VM, saisissez le nombre de VM que vous souhaitez réserver. Pour cet exemple, saisissez
10
.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 :
- 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.
- Facultatif : spécifiez une configuration minimale de plate-forme de processeur et/ou de GPU :
- Pour développer la section Plate-forme du processeur et GPU, cliquez sur la flèche de développement .
- Facultatif : pour spécifier une configuration minimale de plate-forme de processeur, sélectionnez une option dans la liste Plate-forme de processeur.
- 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.
- Facultatif : ajoutez des disques SSD locaux :
- Dans le champ Nombre de disques, sélectionnez le nombre de disques SSD locaux pour chaque VM.
- 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 machinesGeneral-purpose
et la sérieN2
, puis sélectionnez la configuration minimale de la plate-forme du processeurIntel 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 :
- Pour terminer la spécification des propriétés de cette réservation, cliquez sur OK.
- Pour terminer la création de l'engagement et des réservations associées, cliquez sur Acheter.
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.
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.
Spécifiez un nom pour votre VM.
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
- Région :
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 :
- 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
. - 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
.
- 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
Pour créer la VM, cliquez sur Créer.
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
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
Créez une réservation nommée
reservation-02
avec le champspecificReservationRequired
défini surtrue
.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 }
Créez une VM ciblant
reservation-02
par son nom à l'aide du champreservationAffinity
. 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" ] } }
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.
Accédez à la page Créer une instance dans Google Cloud Console.
Dans le champ Nom, saisissez un nom pour la VM.
Dans les listes Région et Zone, sélectionnez la région et la zone dans lesquelles créer la VM.
Dans la section Configuration de la machine, spécifiez le type de machine à utiliser pour la VM.
Développez la section Options avancées et procédez comme suit :
Développez la section Gestion.
Dans la section Réservations, dans la liste Règle d'application, sélectionnez Ne pas utiliser.
Cliquez sur Créer.
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.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écifiezfamily/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.
Dans la console Google Cloud, accédez à la page Créer un modèle d'instance.
Dans le champ Nom, saisissez un nom pour le modèle d'instance.
Dans la section Emplacement, indiquez si vous souhaitez créer un modèle d'instance régional (par défaut) ou global.
Dans la section Configuration de la machine, spécifiez le type de machine à utiliser pour les VM créées à l'aide du modèle.
Développez la section Options avancées et procédez comme suit :
Développez la section Gestion.
Dans la section Réservations, dans la liste Règle d'application, sélectionnez Ne pas utiliser.
Cliquez sur Créer.
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.Pour créer un modèle d'instance global : méthode
instanceTemplates.insert
.Pour créer un modèle d'instance régional : méthode
regionInstanceTemplates.insert
.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écifiezfamily/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.
Supprimez ou mettez à jour la réservation spécifique que vous avez utilisée pour les tests.
Supprimez la VM ou mettez-la à jour pour qu'elle ait une autre affinité de réservation (
reservationAffinity
).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.
- 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.
- 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éemy-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 parmy-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.
- Découvrez comment surveiller la consommation des réservations.
- Découvrez comment modifier des réservations.
- Découvrez comment supprimer des réservations.
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 :
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 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
gcloud
REST
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 :
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
gcloud
REST
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
gcloud
REST
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:
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
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 :
REST
Pour créer une VM qui ne consomme pas de réservation explicitement, envoyez une requête
POST
à la méthodeinstances.insert
. Dans le corps de la requête, incluez le champconsumeReservationType
défini surNO_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 :
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
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 :
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 surNO_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 :
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 :
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 :
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 :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
Sauf indication contraire, le contenu de cette page est régi par une licence Creative Commons Attribution 4.0, et les échantillons de code sont régis par une licence Apache 2.0. Pour en savoir plus, consultez les Règles du site Google Developers. Java est une marque déposée d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2024/11/29 (UTC).
-