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.

    Selecciona la pestaña para saber cómo planeas usar las muestras en esta página:

    gcloud

    1. Instala Google Cloud CLI y, luego, inicializa la ejecución del siguiente comando:

      gcloud init
    2. Configura una región y una zona predeterminadas.

    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.

      Instala Google Cloud CLI y, luego, inicializa la ejecución del siguiente comando:

      gcloud init

Precios

Las recomendaciones configurables están disponibles sin costo. Usar 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

El comando muestra la configuración del recomendador, incluido el subcampo params.observation_period modificable.

{
  "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 de recomendador:

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

Reemplaza lo siguiente:

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

Desde la línea de comandos, ejecuta el siguiente comando para obtener la configuración del recomendador de 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, cualquier recomendación generada usará 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: 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 para tu proyecto con 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?