Afficher et appliquer les recommandations de réservation inactive


Cette page explique comment utiliser les recommandations de réservations inactives pour identifier et supprimer les réservations à la demande inactives, afin d'éviter de payer pour des ressources que vous n'utilisez pas.

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

Afficher les recommandations de réservation inactive

Pour afficher les recommandations concernant les réservations inactives, utilisez l'une des options suivantes.

Console

Dans la console Google Cloud, accédez au hub FinOps.

Accéder au hub FinOps

gcloud

Pour afficher les recommandations concernant les réservations inactives, utilisez la commande gcloud recommender recommendations list avec l'option --recommender=google.compute.IdleResourceRecommender :

gcloud recommender recommendations list \
  --location=ZONE \
  --recommender=google.compute.IdleResourceRecommender \
  --format=yaml

Remplacez ZONE par la zone contenant les réservations pour lesquelles vous souhaitez afficher les recommandations.

Exemple :

gcloud recommender recommendations list \
  --location=us-central1-c \
  --recommender=google.compute.IdleResourceRecommender \
  --format=yaml

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 :


---
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 la 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 les éléments suivants :

  • PROJECT_ID : par l'ID du 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é.

nimishc - this response needs to be updated

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

Après avoir reçu une recommandation de réservation inactive et déterminé que vous n'avez plus besoin des ressources, supprimez la réservation.

Étapes suivantes