Cette page explique comment utiliser les recommandations de réservations pour identifier et supprimer les réservations à la demande inactives, afin d'éviter de payer pour des ressources que vous n'utilisez pas.
- Pour en savoir plus sur la manière dont Compute Engine génère des recommandations de réservations, consultez la section Fonctionnement de la détection des réservations inactives et sous-utilisées.
- Pour en savoir plus sur la configuration de l'outil de recommandation de réservations afin de recevoir plus ou moins de recommandations, consultez la section Configurer les recommandations de réservations inactives ou Configurer les recommandations de réservations sous-utilisées.
Avant de commencer
- Consultez les limites pour vérifier si votre réservation est compatible avec les recommandations de réservations inactives.
-
Si ce n'est pas déjà fait, configurez l'authentification.
L'authentification permet de valider votre identité pour accéder aux Cloud de Confiance by S3NS services et aux API. Pour exécuter
du code ou des exemples depuis un environnement de développement local, vous pouvez vous authentifier auprès de
Compute Engine en sélectionnant l'une des options suivantes :
Sélectionnez l'onglet correspondant à la façon dont vous prévoyez d'utiliser les exemples de cette page :
Console
Lorsque vous utilisez la Cloud de Confiance console pour accéder aux Cloud de Confiance by S3NS services et aux API, vous n'avez pas besoin de configurer l'authentification.
gcloud
-
Installez la Google Cloud CLI, puis connectez-vous à la gcloud CLI avec votre identité fédérée. Après vous être connecté, initialisez la Google Cloud CLI en exécutant la commande suivante :
gcloud init
-
- Définissez une région et une zone par défaut.
REST
Pour utiliser les exemples API REST de cette page dans un environnement de développement local, vous devez utiliser les identifiants que vous fournissez à la gcloud CLI.
Installez la Google Cloud CLI, puis connectez-vous à la gcloud CLI avec votre identité fédérée.
Pour en savoir plus, consultez la section S'authentifier pour utiliser REST dans la documentation sur l' Cloud de Confiance authentification.
Afficher les recommandations de réservation inactive
Pour afficher les recommandations concernant les réservations inactives, utilisez l'une des options suivantes.
Effectuez cette tâche à l'aide de l'une des méthodes suivantes.
Console
Dans la console Cloud de Confiance , accédez au hub FinOps.
gcloud
Pour afficher les recommandations concernant les réservations inactives, utilisez la
gcloud recommender recommendations list commande
avec l'option --recommender=google.compute.IdleResourceRecommender :
gcloud recommender recommendations list \ --location=ZONE \ --recommender=google.compute.IdleResourceRecommender \ --format=yaml \ --project=PROJECT_ID
Remplacez les éléments suivants :
- Remplacez
ZONEpar la zone contenant les réservations pour lesquelles vous souhaitez afficher les recommandations. PROJECT_IDpar l'ID de votre projet ;
Exemple :
gcloud recommender recommendations list \ --location=us-central1-c \ --recommender=google.compute.IdleResourceRecommender \ --format=yaml \ --project=my-project
S'il n'y a pas de réservation inactive dans l'emplacement, la réponse est vide. Sinon, la réponse inclut les champs suivants pour chaque recommandation :
operationGroups: groupes d'opérations que vous pouvez effectuer pour appliquer la recommandationdescription: explication de la recommandation
---
associatedInsights:
- insight: projects/953727763714/locations/us-central1-f/insightTypes/google.compute.IdleResourceInsight/insights/ecf77776-4a2a-4e6e-aad2-b7f9c632e5f9
content:
operationGroups:
- operations:
- action: remove
path: /
resource: //compute.googleapis.com/projects/committed-use-discount-test/zones/us-central1-f/reservations/test-reservation
resourceType: compute.googleapis.com/Reservation
overview:
currentReservation:
machineType: n1-standard-1
reservationName: test-reservation
reservedMachineCount: '1'
zone: us-central1-f
description: Save cost by deleting the idle reservation test-reservation
etag: '"aff724ab8e40e1ef"'
lastRefreshTime: '2024-06-10T07:00:00Z'
name: projects/953727763714/locations/us-central1-f/recommenders/google.compute.IdleResourceRecommender/recommendations/56f8ac5d-8380-4cb8-a76f-bbc270fb4b8e
primaryImpact:
category: COST
costProjection:
cost:
currencyCode: USD
nanos: -199820000
units: '-1072'
costInLocalCurrency:
currencyCode: USD
nanos: -199820000
units: '-1072'
duration: 2592000s
priority: P2
recommenderSubtype: DELETE_RESERVATION
stateInfo:
state: ACTIVE
targetResources:
- //compute.googleapis.com/projects/committed-use-discount-test/zones/us-central1-f/reservations/test-reservation
Pour en savoir plus sur l'utilisation des recommandations à l'aide de Google Cloud CLI, consultez les exemples gcloud.
REST
Pour afficher les recommandations concernant les réservations inactives, envoyez une requête GET à la méthode recommendations.list et utilisez le type de recommandation suivant :
- google.compute.IdleResourceRecommender
L'appel d'API ressemble à ceci :
GET https://recommender.googleapis.com/v1/projects/PROJECT_ID/locations/ZONE/recommenders/google.compute.IdleResourceRecommender/recommendations
Remplacez ce qui suit :
PROJECT_ID : par l'ID de votre projet.
ZONE : par la zone contenant des instances pour lesquelles vous souhaitez répertorier les recommandations.
L'exemple suivant montre comment envoyer une requête avec curl et l'exemple de réponse associé.
PROJECT_ID=my-project ZONE=us-central1-c RECOMMENDER_ID=google.compute.IdleResourceRecommender curl -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "x-goog-user-project: $PROJECT_ID" \ https://recommender.googleapis.com/v1/projects/$PROJECT_ID/locations/$ZONE/recommenders/$RECOMMENDER_ID/recommendations
Exemple de réponse JSON pour une recommandation de réservation inactive :
{
"associatedInsights": [
{
"insight": "projects/9531234763714/locations/us-central1-f/insightTypes/google.compute.IdleResourceInsight/insights/ecf77776-4a2a-4e6e-aad2-b7f9c632e5f9"
}
],
"content": {
"operationGroups": [
{
"operations": [
{
"action": "remove",
"path": "/",
"resource": "//compute.googleapis.com/projects/committed-use-discount-test/zones/us-central1-f/reservations/test-reservation",
"resourceType": "compute.googleapis.com/Reservation"
}
]
}
],
"overview": {
"currentReservation": {
"machineType": "n1-standard-1",
"reservationName": "test-reservation",
"reservedMachineCount": "1",
"zone": "us-central1-f"
}
}
},
"description": "Save cost by deleting the idle reservation test-reservation",
"etag": "\"8d5603cac8fa9342\"",
"lastRefreshTime": "2024-06-11T07:00:00Z",
"name": "projects/9531234763714/locations/us-central1-f/recommenders/google.compute.IdleResourceRecommender/recommendations/56f8ac5d-8380-4cb8-a76f-bbc270fb4b8e",
"primaryImpact": {
"category": "COST",
"costProjection": {
"cost": {
"currencyCode": "USD",
"nanos": -199820000,
"units": "-1072"
},
"costInLocalCurrency": {
"currencyCode": "USD",
"nanos": -199820000,
"units": "-1072"
},
"duration": "2592000s"
}
},
"priority": "P2",
"recommenderSubtype": "DELETE_RESERVATION",
"stateInfo": {
"state": "ACTIVE"
},
"targetResources": [
"//compute.googleapis.com/projects/committed-use-discount-test/zones/us-central1-f/reservations/test-reservation"
]
}
Vous trouverez plus de détails sur chaque champ dans la documentation de l'outil de recommandation.
Interpréter la réponse à la recommandation
Chaque recommandation que vous recevez via gcloud CLI ou REST contient un groupe d'opérations que vous pouvez exécuter en série pour appliquer la recommandation. Pour les réservations inactives, les groupes d'opérations incluent une opération remove pour supprimer la réservation :
{
"action": "remove",
"path": "/",
"resource": "//compute.googleapis.com/projects/committed-use-discount-test/zones/us-central1-f/reservations/test-reservation",
"resourceType": "compute.googleapis.com/Reservation"
}
Appliquer les recommandations de réservation inactive
En fonction des recommandations de réservations inactives, soit ajustez la taille de la réservation soit supprimez la réservation si vous n'en avez plus besoin.