Cette page explique comment utiliser les recommandations de VM inactives pour identifier et arrêter les instances de VM inactives afin de réduire le gaspillage de ressources et votre facture de calcul sur vos projets.
- Pour en savoir plus sur la manière dont Compute Engine génère des recommandations de VM inactives, consultez la page Fonctionnement de la détection des instances de VM inactives.
- Pour en savoir plus sur la configuration de l'outil de recommandation de VM inactives pour recevoir plus ou moins de recommandations, consultez la page Configurer les recommandations de VM inactives.
Avant de commencer
- Consultez les limites pour vérifier si votre VM est compatible avec les recommandations de VM 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 :
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.
PROJECT_ID
: ID de votre projetZONE
: zone contenant des instances pour lesquelles vous souhaitez répertorier les recommandationsoperationGroups
: groupes d'opérations que vous pouvez effectuer dans un ordre sérialisé pour appliquer la recommandationdescription
: explication de la recommandation, dans un format lisible- google.compute.instance.IdleResourceRecommender
PROJECT_ID
: par l'ID du projet.ZONE
: par la zone contenant des instances pour lesquelles vous souhaitez répertorier les recommandations.Opération de test pour vérifier l'état (
status
) actuel de la VM. Exemple :{ "action": "test", "resourceType": "compute.googleapis.com/Instance", "resource" : "//compute.googleapis.com/projects/my-project/zones/us-central1-c/instances/vm-name", "path": "/status", "value": "RUNNING" }
Opération de remplacement pour modifier l'état (
status
) de la VM. Exemple :{ "action": "replace", "resourceType": "compute.googleapis.com/Instance", "resource" : "//compute.googleapis.com/projects/my-project/zones/us-central1-c/instances/vm-name", "path": "/status", "value": "TERMINATED" }
- Dans Google Cloud Console, accédez à la page Instances de VM.
- Sélectionnez l'instance que vous souhaitez arrêter.
- Cliquez sur Arrêter.
VM_NAME
: nom de l'instance de VM que vous souhaitez arrêterZONE
: zone contenant l'instance que vous souhaitez arrêterPROJECT_ID
: ID de votre projetZONE
: zone contenant l'instance que vous souhaitez arrêterVM_NAME
: nom de l'instance de VM que vous souhaitez arrêter- Découvrez comment le fait d'arrêter, de réinitialiser et de supprimer une instance de VM affecte l'instance et ses ressources.
- Découvrez comment configurer des recommandations de VM inactives.
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.
Tarifs
Les recommandations de VM inactives sont disponibles gratuitement. Les recommandations permettant de réduire votre utilisation des ressources peuvent vous permettre de réduire les coûts.
Afficher les recommandations d'instances de VM inactives
Pour afficher les recommandations concernant les VM inactives, utilisez gcloud CLI ou REST.
gcloud
Utilisez la commande
gcloud recommender recommendations list
avec--recommender=google.compute.instance.IdleResourceRecommender
:gcloud recommender recommendations list \ --project=PROJECT_ID \ --location=ZONE \ --recommender=google.compute.instance.IdleResourceRecommender \ --format=yaml
Remplacez les éléments suivants :
Exemple :
gcloud recommender recommendations list \ --project=my-project \ --location=us-central1-c \ --recommender=google.compute.instance.IdleResourceRecommender \ --format=yaml
S'il n'y a pas de VM inactive dans l'emplacement, la réponse est vide. Sinon, la réponse inclut les champs suivants pour chaque recommandation :
--- content: ... operationGroups: - operations: - action: test path: /status resource: //compute.googleapis.com/projects/my-project/zones/us-central1-c/instances/vm-name resourceType: compute.googleapis.com/Instance value: RUNNING - action: replace path: /status resource: //compute.googleapis.com/projects/my-project/zones/us-central1-c/instances/vm-name resourceType: compute.googleapis.com/Instance value: TERMINATED description: Save cost by stopping Idle VM 'vm-name'. etag: '"83da314c23f634e1"' lastRefreshTime: '2020-02-24T07:56:40Z' name: projects/141732092341/locations/us-central1-c/recommenders/google.compute.instance.IdleResourceRecommender/recommendations/0e061a3a-f921-4216-b1b4-62e16942cd1a primaryImpact: category: COST costProjection: cost: currencyCode: USD nanos: -91533961 units: '-262' duration: 2592000s recommenderSubtype: STOP_VM stateInfo: state: ACTIVE
Pour en savoir plus sur l'utilisation des recommandations à l'aide de gcloud, consultez les exemples gcloud.
REST
Appelez la méthode
recommendations.list
et utilisez le type de recommandation suivant :L'appel d'API ressemble à ceci :
GET https://recommender.googleapis.com/v1/projects/PROJECT_ID/locations/ZONE/recommenders/google.compute.instance.IdleResourceRecommender/recommendations
Remplacez les éléments suivants :
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.instance.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 VM inactive :
{ "description" : "Save cost by stopping Idle VM `vm-name`", "name": "projects/1574864402/locations/us-central1-c/recommenders/" "google.compute.instance.IdleResourceRecommender/" "recommendations/0fd31b24-cc05-4132-8431-ed54a22dd4f1", "lastRefreshTime": { "seconds": 1543912652 }, "primaryImpact": { "category": COST, "costProjection": { "cost": {"currencyCode": "USD", "units": -50}, "duration": { "seconds": 2592000 } } }, "stateInfo": ACTIVE, "content": "groups" : [ { "operations" : [ { "action": "test", "resourceType": "compute.googleapis.com/Instance", "resource": "//compute.googleapis.com/projects/my-project/" "zones/us-central1-c/instances/vm-name", "path": "/status", "value": "RUNNING" }, { "action": "replace", "resourceType": "compute.googleapis.com/Instance", "resource": "//compute.googleapis.com/projects/my-project/" "zones/us-central1-c/instances/vm-name", "path": "/status", "value": "TERMINATED" } ] } ] }, "etag" : "cb0e6ac2cfc0b591" }
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. Les groupes d'opérations de recommandation relatives aux VM inactives incluent deux opérations :
La première opération est un
test
, ce qui signifie que vous devez vérifier que la ressource (resource
) est toujours active (RUNNING
). Pour ce faire, vérifiez l'état de la VM.La deuxième opération,
replace
, signifie que vous devez remplacer l'état (status
) de la ressource par une nouvelle valeur,TERMINATED
. Pour ce faire, arrêtez la VM comme décrit ci-dessous.Appliquer des recommandations de VM inactives
Après avoir reçu une recommandation de VM inactive et déterminé que l'instance correspondante n'est plus nécessaire, utilisez la console Google Cloud, gcloud CLI ou REST pour arrêter et éventuellement supprimer l'instance.
Si vous arrêtez une instance et ses disques, mais que vous ne les supprimez pas, vous continuez à être facturé pour les disques.
Console
gcloud
Utilisez la commande
instances stop
et spécifiez le nom de la VM (VM_NAME
) que vous souhaitez arrêter.gcloud compute instances stop VM_NAME --zone=ZONE
Remplacez les éléments suivants :
REST
Créez une requête
POST
pour arrêter une instance.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/stop
Remplacez les éléments suivants :
Si vous êtes sûr que l'instance de VM et ses disques peuvent être supprimés, vous pouvez supprimer l'instance.
É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/22 (UTC).
-