Afficher et appliquer les recommandations de ressources inactives

Ce document explique comment afficher et appliquer les recommandations de ressources inactives pour les volumes Persistent Disk, les adresses IP et les images de disque personnalisées.

Compute Engine vous aide à identifier les volumes de disques persistants, les adresses IP et les images de disque personnalisées inactifs, et vous fournit des recommandations pour vous aider à réduire le gaspillage et à éviter les frais inutiles.

Si vous souhaitez obtenir des recommandations pour les instances de machines virtuelles (VM) inactives, consultez Afficher et appliquer les recommandations pour les VM inactives.

Avant de commencer

  • Si ce n'est pas déjà fait, configurez l'authentification. L'authentification permet 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 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 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 la Google Cloud CLI. Une fois que la Google Cloud CLI est installée, initialisez-la en exécutant la commande suivante :

      gcloud init

      Si vous utilisez un fournisseur d'identité (IdP) externe, vous devez d'abord vous connecter à la gcloud CLI avec votre identité fédérée.

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

      Si vous utilisez un fournisseur d'identité (IdP) externe, vous devez d'abord vous connecter à 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'authentification Google Cloud .

Tarifs

L'utilisation des recommandations de ressources inactives n'entraîne aucun coût.

Génération de recommandations

Si une ressource n'a pas été associée à une VM ou à une autre ressource pendant 15 jours, le Recommender la classe comme inactive. Pour en savoir plus sur les conditions permettant de classer une ressource comme inactive et sur les actions recommandées, consultez le tableau suivant :

Ressource Condition pour qu'une ressource soit classée comme inactive Action recommandée Épargne
Persistent Disk Toutes les conditions suivantes doivent être remplies :
  • Le disque persistant a été créé il y a au moins 15 jours.
  • Le disque persistant n'a jamais été associé à une VM.
  • Le disque persistant est vide.
  • Le disque persistant n'est pas lié aux pods GKE.
Supprimer Économisez 100% du coût de ce disque. Pour en savoir plus, consultez Tarifs des disques et des images.
Persistent Disk Toutes les conditions suivantes doivent être remplies :
  • Le disque persistant a été dissocié pendant au moins 15 jours.
  • Le disque persistant n'est pas lié aux pods GKE.
Créez un instantané du disque persistant, puis supprimez-le.
Réduisez les coûts de maintenance de ce disque de 35% à 92%. Pour en savoir plus, consultez Tarifs des disques et des images.
Image personnalisée Toutes les conditions suivantes doivent être remplies :
  • L'image n'a pas été utilisée pour créer un disque depuis au moins 15 jours.
  • L'image n'est utilisée dans aucun modèle d'instance.
Supprimer Économisez 100% du coût de cette image. Pour en savoir plus, consultez Tarifs des disques et des images.
Adresse IP externe L'adresse IP n'a été associée à aucune ressource depuis au moins 15 jours. Supprimer
Économisez 100% du coût de cette adresse IP. Pour en savoir plus, consultez Tarifs des adresses IP externes.

Fréquence des recommandations

Les recommandations de ressources inactives commencent à être publiées 15 jours après la création des ressources. Elles sont mises à jour toutes les 24 heures.

Afficher des recommandations

Pour afficher les recommandations concernant les VM inactives, utilisez gcloud CLI ou REST.

Console

Dans la console Google Cloud , accédez à la page Toutes les recommandations.

Accéder à la page "Recommandations"

Toutes les ressources inactives sont répertoriées sous Ressources Compute Engine non utilisées.

gcloud

Exécutez la commande gcloud recommender recommendations list avec l'option --recommender=RECOMMENDER_ID :

gcloud recommender recommendations list \
    --project=PROJECT_ID \
    --location=LOCATION \
    --recommender=RECOMMENDER_ID \
    --format=yaml

Remplacez les éléments suivants :

  • PROJECT_ID : par l'ID du projet.
  • LOCATION : par l'emplacement contenant les ressources pour lesquelles vous souhaitez obtenir des recommandations.
    • Pour les volumes de disque persistant, spécifiez une zone ou une région, par exemple us-central1-c.
    • Pour les adresses IP :
      • Pour répertorier les adresses IP régionales, vous devez spécifier une région.
      • Pour répertorier les adresses IP globales, spécifiez global. Pour en savoir plus sur les ressources des adresses IP régionales et globales, consultez la section Adresses IP.
    • Pour les images personnalisées, spécifiez global.
  • RECOMMENDER_ID : ID de l'outil de recommandation
    • Pour les disques, spécifiez google.compute.disk.IdleResourceRecommender.
    • Pour les images, spécifiez google.compute.image.IdleResourceRecommender.
    • Pour les adresses IP, spécifiez google.compute.address.IdleResourceRecommender.

Par exemple, la commande suivante répertorie les recommandations relatives aux disques persistants inactifs dans us-central1-c pour test-project :

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


---
content:
    operationGroups:
    - operations:
      - action: add
        resource: //compute.googleapis.com/projects/test-project/global/snapshots/$snapshot-name
        resourceType: compute.googleapis.com/Disk
        path: /
        value:
        - name: $snapshot-name
          sourceDisk: projects/test-project/locations/us-central1-c/disks/pd-name
          storageLocations: us-central1
      - action: remove
        resource: //compute.googleapis.com/projects/test-project/zones/us-central1-c/disks/pd-name
        resourceType: compute.googleapis.com/Disk
        path: /
description: Save cost by snapshotting and then deleting idle persistent disk 'pd-name'
name: projects/test-project/locations/us-central1-c/recommenders/google.compute.disk.IdleResourceRecommender/recommendations/0fd31b24-cc05-4132-8431-ed54a22dd4f1
recommenderSubtype: SNAPSHOT_AND_DELETE_DISK
lastRefreshTime:
  seconds: 1543912652
primaryImpact:
  category: COST
  costProjection:
    cost:
      currencyCode: USD
      units: '-50'
    duration:
      seconds: 2592000
stateInfo: ACTIVE
etag: "cb0e6ac2cfc0b591"

Obtenez plus d'informations sur l'utilisation de gcloud CLI avec les recommandations.

REST

Appelez la méthode recommendations.list et indiquez l'ID de l'outil de recommandation (par exemple, google.compute.disk.IdleResourceRecommender) :

GET https://recommender.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/recommenders/RECOMMENDER_ID/recommendations

Remplacez les éléments suivants :

  • PROJECT_ID : par l'ID du projet.
  • LOCATION : par l'emplacement contenant les ressources pour lesquelles vous souhaitez obtenir des recommandations.
    • Pour les volumes de disque persistant, spécifiez une zone ou une région, par exemple us-central1-c.
    • Pour les adresses IP :
      • Pour répertorier les adresses IP régionales, vous devez spécifier une région.
      • Pour répertorier les adresses IP globales, spécifiez global. Pour en savoir plus sur les ressources des adresses IP régionales et globales, consultez la section Adresses IP.
    • Pour les images personnalisées, spécifiez global.
  • RECOMMENDER_ID : ID de l'outil de recommandation
    • Pour les disques, spécifiez google.compute.disk.IdleResourceRecommender.
    • Pour les images, spécifiez google.compute.image.IdleResourceRecommender.
    • Pour les adresses IP, spécifiez google.compute.address.IdleResourceRecommender.

L'exemple suivant montre comment envoyer une requête avec curl et l'exemple de réponse associé.

PROJECT_ID=test-project
LOCATION=us-central1-c
RECOMMENDER_ID=google.compute.disk.IdleResourceRecommender

curl -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  https://recommender.googleapis.com/v1/projects/$PROJECT_ID/locations/$LOCATION/recommenders/$RECOMMENDER_ID/recommendations

Exemple de réponse JSON pour une recommandation concernant un disque persistant inactif :

{
 "description" : "Save cost by deleting idle persistent disk 'pd-name'",
 "name": "projects/test-project/locations/us-central1-c/recommenders/"
         "google.compute.disk.IdleResourceRecommender/"
         "recommendations/0fd31b24-cc05-4132-8431-ed54a22dd4f1",
 "recommenderSubtype" : "SNAPSHOT_AND_DELETE_DISK",
 "lastRefreshTime": {
   "seconds": 1543912652
 },
 "primaryImpact": {
   "category": COST,
   "costProjection": {
    "cost": {"currencyCode": "USD", "units": -50},
    "duration": { "seconds": 2592000 }
   }
 },
 "stateInfo": ACTIVE,
 "content": {
   "operationGroups" : [
    {
      "operations" : [
       {
         "action": "add",
         "resourceType": "compute.googleapis.com/Disk",
         "resource" : "//compute.googleapis.com/projects/test-project/global/snapshots/$snapshot-name",
         "value": {
           "name": "$snapshot-name",
           "sourceDisk": "projects/test-project/zones/us-central1-c/disks/pd-name",
           "storageLocations": ["us-central1"],
         }
       },
       {
         "action": "remove",
         "resourceType": "compute.googleapis/Disk",
         "resource": "//compute.googleapis.com/projects/test-project/"
                     "zones/us-central1-c/disks/pd-name"
       }
      ]
    }
   ]
 },
 "associatedInsights": [
    {
      "insight": "projects/test-project/locations/us-central1-c/insightTypes/google.compute.disk.IdleResourceInsight/insights/31326443-bcc3-4776-9b86-48879fddb656"
    }
  ],
 "etag": "cb0e6ac2cfc0b591"
}

Interpréter la réponse à la recommandation

Chaque recommandation que vous recevez via gcloud CLI ou REST contient des groupes d'opérations que vous pouvez exécuter en série pour appliquer la recommandation. Par exemple, les groupes d'opérations de recommandations liées aux disques persistants inactifs incluent une ou deux opérations :

  • Si votre disque persistant inactif contient des données, la recommandation inclut une opération add pour créer un instantané afin de sauvegarder le disque persistant. Exemple :

       {
         "action": "add",
         "resourceType": "compute.googleapis.com/Disk",
         "resource" : "//compute.googleapis.com/projects/test-project/global/snapshots/$snapshot-name",
         "path": "/",
         "value": {
           "name": "$snapshot-name",
           "sourceDisk": "projects/test-project/zones/us-central1-c/disks/pd-name",
           "storageLocations": ["us-central1"]
         }
       }
    
  • Une opération remove pour supprimer définitivement le disque persistant inactif. Exemple :

       {
         "action": "remove",
         "resourceType": "compute.googleapis.com/Disk",
         "resource" : "//compute.googleapis.com/projects/test-project/zones/us-central1-c/disks/pd-name",
         "path": "/"
       }
    

Afficher des insights pour obtenir des recommandations de ressources inactives

L'outil de recommandation génère des recommandations basées sur les insights liés aux ressources. En affichant les insights liés aux ressources, vous pouvez obtenir plus d'informations sur celles-ci. Vous pouvez par exemple connaître le temps pendant lequel une ressource a été dissociée d'une VM ou savoir si un disque persistant est vide.

Si vous souhaitez afficher l'insight qui a généré la recommandation, vous pouvez utiliser gcloud CLI ou REST.

gcloud

Utiliser la commande insights list

gcloud beta recommender insights list --project=PROJECT_NAME \
  --location=LOCATION --insight-type=INSIGHT_TYPE

Remplacez les éléments suivants :

  • LOCATION : par l'emplacement contenant les ressources pour lesquelles vous souhaitez afficher des insights.
    • Pour les disques persistants, spécifiez une zone ou une région. Par exemple, us-central1-c.
    • Pour les adresses IP :
      • Pour répertorier les adresses IP régionales, vous devez spécifier une région.
      • Pour répertorier les adresses IP globales, spécifiez global. Pour en savoir plus sur les ressources des adresses IP régionales et globales, consultez la section Adresses IP.
    • Pour les images personnalisées, spécifiez global.
  • INSIGHT_TYPE : ID du type d'insight
    • Pour les disques, spécifiez google.compute.disk.IdleResourceInsight.
    • Pour les images, spécifiez google.compute.image.IdleResourceInsight.
    • Pour les adresses IP, spécifiez google.compute.address.IdleResourceInsight.

REST

Exécutez la méthode insights.list.

GET https://recommender.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/insightTypes/INSIGHT_TYPE/insights

Remplacez les éléments suivants :

  • PROJECT_ID : par l'ID du projet.
  • LOCATION : par l'emplacement contenant les ressources pour lesquelles vous souhaitez afficher des insights.
    • Pour les volumes de disque persistant, spécifiez une zone ou une région, par exemple us-central1-c.
    • Pour les adresses IP :
      • Pour répertorier les adresses IP régionales, vous devez spécifier une région.
      • Pour répertorier les adresses IP globales, spécifiez global. Pour en savoir plus sur les ressources des adresses IP régionales et globales, consultez la section Adresses IP.
    • Pour les images personnalisées, spécifiez global.
  • INSIGHT_TYPE : ID du type d'insight
    • Pour les disques, spécifiez google.compute.disk.IdleResourceInsight.
    • Pour les images, spécifiez google.compute.image.IdleResourceInsight.
    • Pour les adresses IP, spécifiez google.compute.address.IdleResourceInsight.

Voici un exemple de réponse d'insight sur une ressource Persistent Disk inactive :

{
  "name": "projects/test-project/locations/us-central1-c/insightTypes/google.compute.disk.IdleResourceInsight/insights/0ec21a13-bb04-3121-7321-dc43a11cc3e2",
  "description": "Disk 'pd-name' in zone 'us-central1-c' was last used 17 days ago. Consider taking snapshot and delete it.",
  "targetResources": [
    "//compute.googleapis.com/projects/test-project/zones/us-central1-c/disks/pd-name"
  ],
  "insightSubtype": "IDLE_DISK",
  "content": {
    "diskLastUseTime": "2019-10-01 13:00:00",
    "isBlank": false,
  },
  "lastRefreshTime": "2019-10-10 13:00:00",
  "observationPeriod": "15 days",
  "stateInfo": {
    "state": "ACTIVE"
  },
  "category": "COST",
  "etag": "fds421j2349",
  "associatedRecommendations": [
    {
      "projects/test-project/locations/us-central1-c/recommenders/"
      "google.compute.disk.IdleResourceRecommender/"
      "recommendations/0fd31b24-cc05-4132-8431-ed54a22dd4f1"
    }
  ]
}

L'exemple de réponse inclut les champs suivants :

  • diskLastUseTime : la dernière fois que le disque a été associé à une VM. Si le disque n'a jamais été associé à une VM, il s'agit du moment où le disque a été créé.
  • isBlank : ce champ est défini sur true si le disque est vide et n'a jamais été associé à une VM. Sinon, il est défini sur false.

Pour plus d'informations sur les insights, consultez la documentation de référence.

Appliquer les recommandations pour les ressources inactives

Si vous recevez une recommandation concernant une ressource inactive et que vous décidez de l'appliquer, suivez les instructions des sections suivantes.

Supprimer une adresse IP inactive

Consultez la documentation sur la méthode addresses.delete ou la commande gcloud compute addresses delete, ou la section Libérer une adresse IP externe statique.

Supprimer les images personnalisées inactives

Consultez la documentation sur la méthode images.delete ou la commande gcloud compute images delete, ou la section Supprimer une image.

Appliquer les recommandations pour les disques persistants inactifs

Si vous devez créer un instantané d'un disque persistant avant de le supprimer, consultez Créer des instantanés de disque persistant.

Pour supprimer un disque persistant inactif, consultez la commande gcloud compute disks delete.

Pour savoir comment récupérer des données à partir d'un instantané et recréer votre disque persistant, consultez Restaurer des instantanés.