Configurer les recommandations pour les VM inactives


Cette page explique comment afficher et modifier la configuration de vos recommandations pour les VM inactives. Vous pouvez envisager de modifier la configuration pour augmenter le nombre de recommandations que vous recevez ou pour éviter de classer par erreur des VM ayant des charges de travail volontairement petites en tant que 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 :

    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

Tarification

Les recommandations configurables sont disponibles sans frais. Les recommandations permettant de réduire votre utilisation des ressources peuvent vous permettre de réduire les coûts.

Configurer vos recommandations

Pour configurer vos recommandations pour les VM inactives, procédez comme suit :

  1. Obtenez la configuration actuelle pour obtenir le fichier JSON de la configuration.
  2. Modifiez le fichier de configuration au format JSON.
  3. Importez le nouveau fichier de configuration pour appliquer les modifications.

Obtenir la configuration actuelle

Vous pouvez obtenir la configuration actuelle des recommandations de VM inactives pour votre projet à l'aide de Google Cloud CLI ou de REST.

gcloud

Pour obtenir les paramètres de configuration actuels, utilisez la commande gcloud recommender recommender-config describe et utilisez google.compute.instance.IdleResourceRecommender comme ID de l'outil de recommandation :

gcloud recommender recommender-config describe google.compute.instance.IdleResourceRecommender \
  --project=PROJECT_ID \
  --location=ZONE

Remplacez les éléments suivants :

  • PROJECT_ID : ID de votre projet
  • ZONE : zone pour laquelle vous souhaitez obtenir la configuration actuelle

Exemple :

gcloud recommender recommender-config describe google.compute.instance.IdleResourceRecommender \
  --project=my-project \
  --location=us-central1-c

La commande renvoie la configuration de l'outil de recommandation, y compris le sous-champ modifiable params.observation_period.

{
  "name": "projects/PROJECT_ID/locations/ZONE/recommenders/google.compute.instance.IdleResourceRecommender/config",
  "recommenderGenerationConfig": {
    "params": {
      "observation_period": "1209600s"
    }
  },
  "etag": "\"2f3c9b65cda6a4ba\"",
  "updateTime": "2021-02-03T04:41:15.330351Z"
}

REST

Pour récupérer la configuration actuelle, utilisez la méthode recommenders.getConfig et spécifiez google.compute.instance.IdleResourceRecommender comme ID de l'outil de recommandation :

GET https://recommender.googleapis.com/v1/projects/PROJECT_ID/locations/ZONE/recommenders/google.compute.instance.IdleResourceRecommender/config

Remplacez les éléments suivants :

  • PROJECT_ID : ID du projet pour lequel vous souhaitez récupérer la configuration de l'outil de recommandation.
  • ZONE : zone contenant votre projet

Depuis la ligne de commande, exécutez la commande suivante pour obtenir la configuration de l'outil de recommandation pour un projet :

PROJECT_ID=PROJECT_ID
ZONE=ZONE
curl -X GET -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/google.compute.instance.IdleResourceRecommender/config

La commande renvoie la configuration de l'outil de recommandation, y compris le sous-champ params.observation_period que vous pouvez modifier.

{
  "name": "projects/PROJECT_ID/locations/ZONE/recommenders/google.compute.instance.IdleResourceRecommender/config",
  "recommenderGenerationConfig": {
    "params": {
      "observation_period": "1209600s"
    }
  },
  "etag": "\"2f3c9b65cda6a4ba\"",
  "updateTime": "2021-02-03T04:41:15.330351Z"
}

Mettre à jour la configuration d'un projet

Pour mettre à jour la configuration de vos recommandations pour les VM inactives, modifiez la valeur de observation_period et importez la nouvelle configuration pour votre projet.

Vous pouvez définir la période d'observation sur une valeur comprise entre un jour et 14 jours, en utilisant une chaîne contenant le nombre total de secondes, suivie de la lettre s.

  • Pour une période d'observation d'un jour, utilisez "86400s".
  • Pour une période d'observation de 14 jours, utilisez "1209600s".

Une fois la nouvelle configuration importée, la prise en compte de la modification prend environ 48 heures. Pendant ce temps, toutes les recommandations générées utilisent la configuration précédente.

gcloud

Pour mettre à jour les paramètres de configuration, exécutez la commande gcloud recommender recommender-config update et utilisez google.compute.instance.IdleResourceRecommender comme ID de l'outil de recommandation :

gcloud recommender recommender-config update google.compute.instance.IdleResourceRecommender\
  --project=PROJECT_ID \
  --location=ZONE \
  --config-file=CONFIG_FILE_PATH \
  --etag=ETAG

Remplacez les éléments suivants :

  • PROJECT_ID : ID de votre projet
  • ZONE : zone pour laquelle vous souhaitez obtenir la configuration actuelle
  • CONFIG_FILE_PATH : chemin d'accès au fichier JSON contenant la configuration actuelle
  • ETAG : valeur etag de la configuration actuelle

Dans votre fichier de configuration, spécifiez uniquement l'objet recommenderGenerationConfig avec les paramètres de configuration mis à jour. Par exemple, pour spécifier une période d'observation de cinq jours, utilisez le fichier de configuration suivant :

{
  "params": {
    "observation_period": "432000s"
  }
}

Si la commande aboutit, elle renvoie un corps de réponse semblable à celui-ci, qui indique la nouvelle configuration avec les paramètres que vous venez de modifier.

{
  "name": "projects/PROJECT_ID/locations/ZONE/recommenders/google.compute.instance.IdleResourceRecommender/config",
  "recommenderGenerationConfig": {
    "params": {
      "observation_period": "432000s"
    }
  },
  "etag": "\"1245f9435cd01ea8\"",
  "updateTime": "2021-02-03T05:00:05Z"
}

REST

Pour mettre à jour la configuration, utilisez la méthode recommenders.updateConfig et spécifiez google.compute.instance.IdleResourceRecommender comme ID de l'outil de recommandation :

PATCH https://recommender.googleapis.com/v1/projects/PROJECT_ID/locations/ZONE/recommenders/google.compute.instance.IdleResourceRecommender/config

{
  "name": "projects/PROJECT_ID/locations/ZONE/recommenders/google.compute.instance.IdleResourceRecommender/config",
  "recommenderGenerationConfig": {
    "params": {
      "observation_period": "1209600s"
    }
  },
  "etag": "\"2f3c9b65cda6a4ba\""
}

Remplacez les éléments suivants :

  • PROJECT_ID : ID du projet pour lequel vous souhaitez modifier la configuration de l'outil de recommandation
  • ZONE : zone contenant votre projet

Enregistrez le corps de la requête dans un fichier, par exemple, config.json. Vous pouvez ensuite référencer ce fichier, lorsque vous mettez à jour la configuration de l'outil de recommandation pour votre projet, à l'aide d'une commande semblable à celle-ci :

curl -X PATCH \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-H "x-goog-user-project: ${PROJECT_ID}" \
-d @config.json \
https://recommender.googleapis.com/v1/projects/$PROJECT_ID/locations/$ZONE/recommenders/google.compute.instance.IdleResourceRecommender/config

La commande POST renvoie un corps de réponse semblable à celui-ci, qui affiche la nouvelle configuration avec les paramètres que vous venez de modifier.

{
  "name": "projects/PROJECT_ID/locations/ZONE/recommenders/google.compute.instance.IdleResourceRecommender/config",
  "recommenderGenerationConfig": {
    "params": {
      "observation_period": "432000s"
    }
  },
  "etag": "\"1245f9435cd01ea8\"",
  "updateTime": "2021-02-03T05:00:05Z"
}

Étapes suivantes