Configurar recomendaciones de máquinas virtuales inactivas


En esta página se describe cómo ver y modificar la configuración de las recomendaciones de VMs inactivas. Puede que quieras modificar la configuración para aumentar el número de recomendaciones que recibes o para evitar que se clasifiquen erróneamente las máquinas virtuales con cargas de trabajo intencionadamente pequeñas como máquinas virtuales inactivas.

Antes de empezar

  • Si aún no lo has hecho, configura la autenticación. La autenticación verifica tu identidad para acceder a Google Cloud servicios y APIs. Para ejecutar código o ejemplos desde un entorno de desarrollo local, puedes autenticarte en Compute Engine seleccionando una de las siguientes opciones:

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

    gcloud

    1. Instala Google Cloud CLI. Después de la instalación, inicializa la CLI de Google Cloud ejecutando el siguiente comando:

      gcloud init

      Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.

    2. Set a default region and zone.

    REST

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

      Instala Google Cloud CLI. Después de la instalación, inicializa la CLI de Google Cloud ejecutando el siguiente comando:

      gcloud init

      Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.

    Para obtener más información, consulta el artículo Autenticarse para usar REST de la documentación sobre autenticación de Google Cloud .

Precios

Las recomendaciones configurables están disponibles sin coste económico. Si sigues las recomendaciones para reducir el uso de recursos, puedes ahorrar costes.

Configurar las recomendaciones

Para configurar las recomendaciones de máquinas virtuales inactivas, sigue estos pasos:

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

Obtener la configuración actual

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

gcloud

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

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

Haz los cambios siguientes:

  • PROJECT_ID: el ID de tu proyecto
  • ZONE: la zona de la que quieres 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 devuelve la configuración de la recomendación, 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 obtener la configuración actual, usa el método recommenders.getConfig y especifica google.compute.instance.IdleResourceRecommender como ID de recomendador:

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

Haz los cambios siguientes:

  • PROJECT_ID: el ID del proyecto del que quieres obtener la configuración de Recomendador.
  • ZONE: la zona que contiene tu proyecto.

En la línea de comandos, ejecuta el siguiente comando para obtener la configuración de Recomendaciones 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

El comando devuelve la configuración del recomendador, incluido el subcampo params.observation_period, que puede modificar.

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

Actualizar la configuración de un proyecto

Para actualizar la configuración de las recomendaciones de VMs inactivas, modifique el valor de observation_period y suba la nueva configuración de su proyecto.

Puedes definir el periodo de observación con un valor entre 1 y 14 días. Para ello, usa una cadena con el número total de segundos seguido de la letra s.

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

Una vez que hayas subido la nueva configuración, tardará aproximadamente 48 horas en aplicarse. Hasta entonces, las recomendaciones generadas usarán la configuración anterior.

gcloud

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

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

Haz los cambios siguientes:

  • PROJECT_ID: el ID de tu proyecto
  • ZONE: la zona de la que quieres 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 periodo de observación de cinco días, utiliza el siguiente archivo de configuración:

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

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

{
  "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 ID de 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\""
}

Haz los cambios siguientes:

  • PROJECT_ID: el ID del proyecto para el que quieres modificar 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. A continuación, puedes hacer referencia al archivo cuando actualices la configuración de las recomendaciones de 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 devuelve un cuerpo de respuesta similar al siguiente, que muestra la nueva configuración con los parámetros que acabas de modificar.

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

Siguientes pasos