Compute Engine propose des recommandations pour vous aider à identifier les ressources telles que les disques persistants, les adresses IP et les images de disque personnalisées qui ne sont pas utilisées. Vous pouvez exploiter les recommandations de ressources inactives pour réduire le gaspillage de ressources et votre facturation liée aux charges de calcul. Pour les disques persistants qui ne sont pas activement utilisés, vous pouvez créer un instantané de sauvegarde et supprimer la ressource. Pour les disques persistants, les images et les adresses IP inutilisés, vous pouvez les supprimer si vous n'en avez plus besoin.
Si vous êtes intéressé par les recommandations de VM inactives, consultez la page Afficher et appliquer les recommandations de VM inactives.
Avant de commencer
-
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
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- 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.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
-
Tarification
Les recommandations de ressources inactives sont disponibles gratuitement.
Génération de recommandations
Si une ressource n'a été associée à aucune VM ou autre ressource depuis 15 jours, l'outil de recommandation la classe comme inactive.
L'une des conditions suivantes doit être remplie pour classer une ressource comme inactive et générer l'action recommandée correspondante :
Ressource | Condition pour qu'une ressource soit classée comme inactive | Action recommandée | Économies |
---|---|---|---|
Disque persistant | Créé il y a au moins 15 jours ET Jamais associé à une VM ET Est vide |
Supprimer | Permet d'économiser 100 % du coût du disque (voir les tarifs des disques). |
Disque persistant | Dissocié pendant au moins 15 jours | Créer un instantané et supprimer | Permet d'économiser entre 35 % et 92 % sur les coûts de maintenance du disque (voir les tarifs des disques). |
Image personnalisée | N'a pas servi à créer un disque depuis au moins 15 jours ET n'est pas utilisée dans un modèle d'instance | Supprimer | Permet d'économiser 100 % du coût de l'image (voir les tarifs des images). |
Adresse IP | N'a pas été associée à une ressource depuis au moins 15 jours | Supprimer | Permet d'économiser 100 % du coût de l'adresse IP (voir les tarifs des adresses IP). |
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 Google Cloud Console, accédez à la page 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 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
.
- Pour les disques persistants, spécifiez une zone ou une région. Par exemple,
RECOMMENDER_ID
: par l'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
.
- Pour les disques, spécifiez
Ainsi, 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 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
.
- Pour les disques persistants, spécifiez une zone ou une région. Par exemple,
RECOMMENDER_ID
: par l'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
.
- Pour les disques, spécifiez
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": "/" }
Consultez Appliquer les recommandations pour les disques persistants inactifs pour créer un instantané et supprimer un disque persistant. Consultez Supprimer les adresses IP inactives pour supprimer les adresses IP inutilisées. Consultez Supprimer les images personnalisées inactives pour supprimer les images de disque personnalisées inutilisées.
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
.
- Pour les disques persistants, spécifiez une zone ou une région. Par exemple,
INSIGHT_TYPE
: par l'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
.
- Pour les disques, spécifiez
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 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
.
- Pour les disques persistants, spécifiez une zone ou une région. Par exemple,
INSIGHT_TYPE
: par l'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
.
- Pour les disques, spécifiez
Voici un exemple de réponse d'un insight pour une ressource de disque persistant inactif :
{ "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 surtrue
si le disque est vide et n'a jamais été associé à une VM. Sinon, il est défini surfalse
.
Pour plus d'informations sur les insights, consultez la documentation de référence.
Appliquer des recommandations de ressources inactives
Si vous recevez une recommandation concernant une ressource inactive et que vous décidez de la suivre, consultez les instructions ci-dessous.
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 la page Créer des instantanés de disques persistants.
Pour supprimer un disque persistant inactif, consultez la documentation sur la commande gcloud compute disks delete
.
Pour plus d'informations sur la récupération de données à partir d'un instantané et la recréation de votre disque persistant, consultez la section Restaurer des instantanés.