Configura las recomendaciones de VMs inactivas


En esta página, se describe cómo ver y cambiar la configuración de las recomendaciones de VMs inactivas. Se recomienda cambiar la configuración para aumentar la cantidad de recomendaciones que recibes o evitar clasificar de forma errónea las VMs con cargas de trabajo intencionalmente pequeñas como VMs inactivas.

Antes de empezar

  • Configura la autenticación si aún no lo hiciste. La autenticación es el proceso mediante el cual se verifica tu identidad para acceder a los servicios y las API de Google Cloud. Para ejecutar código o muestras desde un entorno de desarrollo local, puedes autenticarte en Compute Engine de la siguiente manera.

    Select the tab for how you plan to use the samples on this page:

    gcloud

    1. Install the Google Cloud CLI, then initialize it by running the following command:

      gcloud init
    2. Set a default region and zone.
    3. REST

      Para usar las muestras de la API de REST en esta página en un entorno de desarrollo local, debes usar las credenciales que proporcionas a la CLI de gcloud.

        Install the Google Cloud CLI, then initialize it by running the following command:

        gcloud init

      Si deseas obtener más información, consulta Autentica para usar REST en la documentación de autenticación de Google Cloud.

Precios

Las recomendaciones configurables están disponibles sin costo. Usar las recomendaciones para reducir el uso de recursos puede generar ahorros de costos.

Configura tus recomendaciones

Para configurar las recomendaciones de VMs inactivas, sigue estos pasos:

  1. Obtén la configuración actual para obtener el archivo JSON de la configuración.
  2. Cambia el archivo de configuración en formato JSON.
  3. Sube el archivo de configuración nuevo para aplicar los cambios.

Obtén la configuración actual

Puedes obtener la configuración actual para las recomendaciones de VMs inactivas de tu proyecto mediante Google Cloud CLI o REST.

gcloud

Para obtener los parámetros de configuración actuales, usa el comando gcloud recommender recommender-config describe y usa google.compute.instance.IdleResourceRecommender como el ID del recomendador:

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

Reemplaza lo siguiente:

  • PROJECT_ID: Es el ID de tu proyecto.
  • ZONE: La zona para la que deseas obtener la configuración actual

Por ejemplo:

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

Con el comando, se muestra la configuración del recomendador, incluido el subcampo modificable 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

Para recuperar la configuración actual, usa el método recommenders.getConfig y especifica google.compute.instance.IdleResourceRecommender como el ID del recomendador:

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

Reemplaza lo siguiente:

  • PROJECT_ID: el ID del proyecto en el que deseas recuperar la configuración del recomendador.
  • ZONE: La zona que contiene tu proyecto.

En la línea de comandos, ejecuta el siguiente comando para obtener la configuración del recomendador para un proyecto:

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

Con el comando, se muestra la configuración del recomendador, incluido el subcampo que puedes cambiar: 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"
}

Actualiza la configuración de un proyecto

Para actualizar la configuración de las recomendaciones de VMs inactivas, modifica el valor de observation_period y sube la configuración nueva del proyecto.

Puedes configurar el período de observación en un valor entre 1 y 14 días, mediante una string con la cantidad total de segundos, seguida de la letra s.

  • Para un período de observación de 1 día, usa "86400s".
  • Para un período de observación de 14 días, usa "1209600s".

Después de subir la configuración nueva, lleva alrededor de 48 horas para que se aplique. Hasta ese momento, las recomendaciones generadas usan la configuración anterior.

gcloud

Para actualizar los parámetros de configuración, usa el comando gcloud recommender recommender-config update y usa google.compute.instance.IdleResourceRecommender como el ID del recomendador:

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

Reemplaza lo siguiente:

  • PROJECT_ID: Es el ID de tu proyecto.
  • ZONE: La zona para la que deseas obtener la configuración actual
  • CONFIG_FILE_PATH: Es la ruta al archivo JSON con la configuración actual
  • ETAG: El valor de etag de la configuración actual

En el archivo de configuración, especifica solo el objeto recommenderGenerationConfig con los parámetros de configuración actualizados. Por ejemplo, para especificar un período de observación de cinco días, usa el siguiente archivo de configuración:

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

Si el comando se ejecuta de forma correcta, muestra un cuerpo de respuesta similar al siguiente, que muestra la configuración nueva con los parámetros que acabas de cambiar.

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

Para actualizar la configuración, usa el método recommenders.updateConfig y especifica google.compute.instance.IdleResourceRecommender como el ID del recomendador:

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\""
}

Reemplaza lo siguiente:

  • PROJECT_ID: Es el ID del proyecto para el que deseas cambiar la configuración del recomendador.
  • ZONE: La zona que contiene tu proyecto.

Guarda el cuerpo de la solicitud en un archivo, por ejemplo, config.json. Luego, puedes hacer referencia al archivo cuando actualizas la configuración del recomendador de tu proyecto mediante un comando similar al siguiente:

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

El comando POST muestra un cuerpo de respuesta similar al siguiente y muestra la configuración nueva con los parámetros que acabas de cambiar.

{
  "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"
}

¿Qué sigue?