Aplica recomendaciones de tamaño de instancias para MIG

Compute Engine proporciona recomendaciones de tipo de máquina para grupos de instancias administrados (MIG) con el fin de ayudarte a mejorar el rendimiento de la carga de trabajo y la rentabilidad. Usa estas recomendaciones a fin de determinar si debes cambiar el tamaño del tipo de máquina de tus instancias para agregar o quitar CPU virtuales y recursos de memoria.

Si quieres obtener más información sobre las diferentes opciones de tamaño disponibles para las instancias de VM, consulta la documentación sobre tipos de máquina.

Las recomendaciones de tamaño también se conocen como recomendaciones de redimensionamiento.

Antes de comenzar

Restricciones

Las recomendaciones están disponibles para los grupos de instancias administrados que se encuentran en una misma zona y que no tienen un ajuste de escala automático ni balanceo de cargas.

Precios

Las recomendaciones de tamaño están disponibles de forma gratuita.

Casos prácticos

Puedes aprovechar las recomendaciones de tamaño si tienes cargas de trabajo en las siguientes condiciones:

  • Cargas de trabajo con disminuciones y aumentos periódicos del tráfico, como aquellas susceptibles al tráfico de temporada
  • Cargas de trabajo que tienen poco uso de CPU y RAM porque están limitadas por otras restricciones, como la capacidad de procesamiento de lectura y escritura
  • Cargas de trabajo que ejecutan software que requiere licencias de software individuales y que no pueden agregar más instancias; en este caso, puedes utilizar las recomendaciones de tamaño para escalar los tipos de máquina mientras se mantiene constante el número de instancias de VM
  • Cargas de trabajo que no pueden adaptarse de forma dinámica a una cantidad cambiante de instancias, como aquellas que no son adecuadas para el ajuste de escala automático

Es posible que prefieras no usar las recomendaciones de tamaño por cualquiera de los siguientes motivos:

  • Tus cargas de trabajo tienen picos de CPU muy breves. Debido a que las recomendaciones de tamaño se basan en un uso de CPU promedio en intervalos de 60 segundos, es posible que las recomendaciones no se generen lo suficientemente rápido como para capturar picos más cortos. Puede que tengas que ejecutar las apps con picos de uso cortos en un tipo de máquina más grande que el recomendado, o puedes habilitar el ajuste de escala automático para que se ajusten a estos picos.
  • Entre cada pico de carga transcurren más de 8 días (por ejemplo, se producen una vez al mes). El algoritmo de redimensionamiento pasa por alto los picos infrecuentes, ya que solo analiza los últimos 8 días del historial.
  • Cada instancia de tu MIG maneja una carga de trabajo muy diferente. En ese caso, las recomendaciones se optimizan según las instancias de VM con la carga más alta, lo que aumentaría el tamaño de la mayoría de las instancias de VM del grupo.
  • Tu MIG tiene VM con poco uso porque no entrega carga en vivo y está destinado a proporcionar capacidad de conmutación por error lista para entregar.
  • Tu MIG tiene VM de gran tamaño debido a alguno de los siguientes motivos:
    • Tu licencia de software requiere un tamaño mínimo de máquina.
    • Debes cumplir con los requisitos de IOPS para almacenamiento o redes que solo están disponibles con un tipo de máquina básico.

Cómo funcionan las recomendaciones de tamaño

Compute Engine supervisa el uso de CPU y memoria de las máquinas virtuales en ejecución y hace recomendaciones en función de los últimos 8 días de datos. Con el fin de recomendar el mejor tipo de máquina individual para todas las instancias en un grupo de instancias administrado, Compute Engine genera una recomendación de tamaño estándar para las instancias individuales y, después de realizar ajustes relacionados con valores atípicos, elige un tipo de máquina que no asigne un tamaño demasiado pequeño a ninguna instancia de VM. Cualquier instancia que no esté en ejecución, como las instancias de VM detenidas o en proceso de reinicio, no se incluye en el cálculo.

Compute Engine podría hacer recomendaciones similares a las siguientes:

  • Si tu grupo de instancias tuvo un uso de CPU bajo la mayor parte del tiempo, Compute Engine recomienda un tipo de máquina con menos CPU virtuales.
  • Si tu grupo de instancias tuvo un alto uso de CPU la mayor parte del tiempo, Compute Engine recomienda un tipo de máquina con más CPU virtuales.
  • Si tu grupo de instancias no usó una gran parte de la memoria, Compute Engine recomienda un tipo de máquina con menos memoria.
  • Si tu grupo de instancias usó de forma activa una gran parte de la memoria la mayor parte del tiempo, Compute Engine recomienda un tipo de máquina con más memoria.

Compute Engine puede hacer recomendaciones para usar un tipo estándar o personalizado de máquina. Ten en cuenta que existen algunas limitaciones en la cantidad de memoria y CPU virtual disponibles para una máquina. En particular, es posible que el aumento de un recurso requiera aumentar el otro al mismo tiempo para seguir las especificaciones de un tipo de máquina válido. Además, Compute Engine solo recomienda tipos de máquinas que están disponibles en la zona en la que se ejecuta la instancia.

Para obtener más información, consulta las especificaciones de los tipos personalizados de máquinas.

Si la carga de trabajo para el grupo de instancias administrado es muy diferente entre instancias individuales, se puede aumentar el tamaño de algunas instancias para que las que tienen uso completo tengan suficientes recursos según la recomendación. Por ejemplo, Compute Engine podría hacer la siguiente recomendación para admitir la carga de trabajo de la instancia 4, aunque las instancias 1, 2, 3 y 5 sean demasiado grandes y se usen poco:

Recomendaciones para un grupo de instancias administrado
Ejemplo de sobredimensionamiento debido a cargas de trabajo distintas entre instancias administradas

Por este motivo, las recomendaciones para un grupo de instancias administrado funcionan mejor cuando las instancias tienen una carga de trabajo distribuida de forma razonable.

En las estimaciones de diferencia de costos, el costo de un grupo de instancias se basa en el uso de la semana anterior (antes del descuento por uso continuo) y se extrapola a 30 días. Esto se compara con el costo mensual del tipo de máquina recomendado (antes del descuento por uso continuo). Para obtener los precios y detalles precisos, lee la documentación de precios.

Observa las recomendaciones de tamaño

Compute Engine ofrece recomendaciones a través de Google Cloud Console. Las recomendaciones también están disponibles en la versión Beta de Recommender a través de la herramienta de gcloud o de la API.

Console

  1. En Google Cloud Console, ve a la página Grupos de instancias.

    Ir a la página Grupos de instancias

  2. Selecciona tu proyecto y haz clic en Continuar.
  3. Observa la columna Recomendación (Recommendation) a fin de revisar las recomendaciones para grupos de instancias administrados individuales. También puedes ordenar la columna por cantidad de ahorro estimado. Si no hay recomendaciones junto a los grupos de instancias, Compute Engine no tiene ninguna recomendación que hacer.

    Columna de recomendaciones

  4. Si tu grupo de instancias tiene dos plantillas de instancias, Compute Engine proporciona recomendaciones para cada una de ellas. Haz clic en una recomendación para ver las recomendaciones de la plantilla de instancias correspondiente.

    Recomendaciones para varias plantillas

gcloud

Usa el comando gcloud beta recommender recommendations list y especifica el recomendador de redimensionamiento del grupo de instancias administrados de VM.

gcloud beta recommender recommendations list \
      --recommender=google.compute.instanceGroupManager.MachineTypeRecommender \
      --project [PROJECT_ID] \
      --location [ZONE] \
      --format=yaml

Por ejemplo:

gcloud beta recommender recommendations list \
    --recommender=google.compute.instanceGroupManager.MachineTypeRecommender \
    --project my-project \
    --location us-central1-a \
    --format=yaml

La respuesta incluye los siguientes campos para cada recomendación:


---
content:
  ...
  operationGroups:
  - operations:
    - action: test
      path: /properties/machineType
      resource: //compute.googleapis.com/projects/my-project/global/instanceTemplates/my-old-template
      resourceType: compute.googleapis.com/InstanceTemplate
      value: n1-standard-4
    - action: copy
      path: /
      resource: //compute.googleapis.com/projects/my-project/global/instanceTemplates/$new-it-name
      resourceType: compute.googleapis.com/InstanceTemplate
      sourcePath: /
      sourceResource: //compute.googleapis.com/projects/my-project/global/instanceTemplates/my-old-template
    - action: replace
      path: /name
      resource: //compute.googleapis.com/projects/my-project/global/instanceTemplates/$new-it-name
      resourceType: compute.googleapis.com/InstanceTemplate
      value: $new-it-name
    - action: replace
      path: /properties/machineType
      resource: //compute.googleapis.com/projects/my-project/global/instanceTemplates/$new-it-name
      resourceType: compute.googleapis.com/InstanceTemplate
      value: custom-2-5632
  - operations:
    - action: replace
      path: /versions/*/name
      pathValueMatchers:
        versions/*/instanceTemplate:
          matchesPattern: .*global/instanceTemplates/my-old-template
      resource: //compute.googleapis.com/projects/my-project/zones/us-central1-a/instanceGroupManagers/example-group
      resourceType: compute.googleapis.com/InstanceGroupManager
      value: global/instanceTemplates/$new-it-name
...
description: Save cost by changing machine type from n1-standard-4 to custom-2-5120.
...
name: projects/823742397239/locations/us-central1-a/recommenders/google.compute.instanceGroupManager.MachineTypeRecommender/recommendations/c50a1c41-7e65-417d-a32e-45248a2cb318
...

Para obtener más información, consulta la documentación sobre Recommender.

API

Usa la API de Recommender Beta con el ID del recomendador a fin de usar el recomendador de tipo de máquina para los grupos de instancias administrados.

Si todavía no estás familiarizado con los requisitos previos de autenticación para realizar llamadas a las API de Google Cloud, consulta la Descripción general de la autenticación.

La siguiente secuencia de comandos de Bash de ejemplo utiliza el flujo de autenticación de usuario final con una credencial de cliente OAuth. La secuencia de comandos usa la herramienta de línea de comandos Google oauth2l para obtener un token de acceso OAuth 2.0 y, luego, realiza una solicitud curl con el token.

PROJECT_ID=my-project
LOCATION=us-central1-c
RECOMMENDER_ID=google.compute.instanceGroupManager.MachineTypeRecommender
OAUTH_JSON=~/client_secrets.json  # credentials for service account
OAUTH_HEADER="$(oauth2l header --json $OAUTH_JSON cloud-platform)"

curl -H "$OAUTH_HEADER" https://recommender.googleapis.com/beta/projects/$PROJECT_ID/locations/$LOCATION/recommenders/$RECOMMENDER_ID/recommendations

La respuesta incluye los siguientes campos para cada recomendación:

Para obtener más información, consulta la documentación sobre Recommender.

Cuando creas un grupo de instancias administrado nuevo, las recomendaciones aparecen 24 horas después de que se crea el grupo.

Luego, las recomendaciones se actualizan en intervalos regulares durante todo el día.

Aplica recomendaciones a grupos de instancias

Si deseas aplicar las recomendaciones hechas por Compute Engine, puedes cambiar el tamaño de las instancias administradas directamente desde la consola. De manera alternativa, puedes revisar las operaciones de cambio de tamaño de manera manual. La API de Recommender muestra una serie de operaciones de cambio de tamaño; consulta la sección sobre grupos de operación para obtener más información.

Cuando se aplica una recomendación en un grupo de instancias administrado, se realizan las siguientes operaciones:

  1. Se clonan las plantillas de instancias que usa el grupo de instancias administrado.
  2. Se modifican las plantillas de instancias clonadas en función de las recomendaciones y los cambios que deseas realizar.
  3. Se usa el actualizador de grupos de instancias administrados para aplicar la plantilla nueva. Si el grupo de instancias tiene dos plantillas de instancias, ten en cuenta la siguiente información:

    1. Solo puedes aplicar recomendaciones en una plantilla de instancias a la vez.
    2. Un grupo de instancias administrado puede mantener como máximo dos plantillas de instancias a la vez, por lo que no es posible ejecutar una recomendación mientras se mantienen otras dos plantillas de instancias. Sin embargo, podrías ejecutar una recomendación si el grupo de instancias tiene una sola plantilla de instancias.

Para cambiar el tamaño de las instancias administradas directamente desde Console, sigue estos pasos:

  1. En Google Cloud Console, ve a la página Grupos de instancias.

    Ir a la página Grupos de instancias

    Haz clic en el texto de recomendación del grupo de instancias que deseas actualizar.

    Selecciona una columna de recomendaciones.

  2. Aparece una ventana emergente con más detalles y las opciones Cancelar, Descartar recomendación o Continuar. Para revisar y aplicar la recomendación, haz clic en Continuar.

  3. La recomendación se explica en detalle en la siguiente pantalla. Si continúas con la recomendación, Compute Engine crea una plantilla de instancias y actualiza todas las instancias en el grupo para que usen la plantilla nueva.

  4. (Avanzado) Para personalizar la forma en que se implementa la plantilla nueva en tus instancias, haz clic en Personalizar implementación Aparecerá una pantalla.

    1. En Plantilla, puedes elegir si deseas aplicar la plantilla nueva al total de las instancias del grupo o solo a un subconjunto de ellas.
    2. En Modo de actualización, puedes elegir si deseas que Compute Engine borre y cree instancias de forma activa con la plantilla de instancias nueva (Proactivo) o que solo aplique la actualización si la instancia se crea por otros medios, como con un cambio de tamaño o cuando se agrega una instancia nueva al grupo (Oportunista).
    3. En Cantidad máxima de instancias sobreaprovisionadas, elige cuántas instancias adicionales temporales crear por encima del tamaño objetivo del grupo de instancias administrado. Cuantas más instancias permitas, más rápida será la actualización, al costo de instancias adicionales. El valor predeterminado es 1 instancia adicional.
    4. En Cantidad máxima de instancias no disponibles, puedes elegir cuántas instancias pueden estar sin conexión a la vez durante esta actualización. Este número también incluye cualquier instancia que no esté disponible por otros motivos. Por ejemplo, si el grupo de instancias está en proceso de aumento de tamaño, las instancias que se encuentren en creación podrían no estar disponibles; estas instancias se contarían en este número. El valor predeterminado es 1 instancia no disponible a la vez.
    5. En Tiempo mínimo de espera, puedes elegir cuántos segundos esperar antes de marcar una instancia nueva como actualizada. El tiempo comienza después de una verificación de estado exitosa. Usa esta función para controlar la velocidad a la que se aplica la plantilla de instancias.
  5. Para aplicar los cambios, haz clic en el botón Guardar.

  6. Cuando estés listo para implementar los cambios, haz clic en Implementar.

Descarta las recomendaciones

Cuando hayas terminado de usar una recomendación, puedes descartarla de la consola. En la consola, cuando se descarta una recomendación, esta se quita del cálculo del ahorro total y se minimiza su apariencia, ya que aparece en color gris.

Descartar una recomendación a través de la consola no afecta la lista de recomendaciones que muestra la API de Recommender. Para administrar el estado de las recomendaciones que muestra la API de Recommender, consulta cómo usar la API.

Sigue estos pasos para descartar una sola recomendación de Console:

  1. En Google Cloud Console, ve a la página Grupos de instancias.

    Ir a la página Grupos de instancias

    Haz clic en el texto de recomendación que deseas descartar. Aparecerá una ventana emergente con más detalles y un botón Descartar recomendación.
  2. Haz clic en Descartar recomendación.

Para descartar todas las recomendaciones, haz clic en el botón Descartar todas (Dismiss all) en la página Grupos de instancias.

Descarta recomendaciones.

Realiza los siguientes pasos para restablecer una recomendación en Console:

  1. En la página Grupos de instancias, haz clic en el texto gris de recomendación que deseas restablecer.

    Recomendación descartada

  2. Aparecerá una ventana emergente con más detalles y el botón Restablecer recomendación.

  3. Haz clic en Restablecer recomendación.

Usa el agente de supervisión para obtener recomendaciones más precisas

Stackdriver Monitoring ofrece un agente de supervisión que recopila métricas adicionales de disco, CPU, red y procesos de tus instancias de VM. Puedes instalar el agente de supervisión en las instancias de VM de modo que pueda acceder a los recursos del sistema y los servicios de aplicaciones para recopilar estos datos.

Si el agente de supervisión está instalado y se ejecuta en una instancia de VM, las métricas de CPU y memoria que recopila se usan de forma automática para calcular las recomendaciones de tamaño. Las métricas del agente que proporciona el agente de supervisión brindan mejores estadísticas sobre el uso de recursos de la instancia que las métricas predeterminadas de Compute Engine. Esto permite que el motor de recomendaciones calcule mejor los requisitos de recursos y ofrezca recomendaciones más precisas.

Para instalar el agente, consulta Instala el agente de Stackdriver Monitoring.

Próximos pasos

¿Te ha resultado útil esta página? Enviar comentarios:

Enviar comentarios sobre...

Documentación de Compute Engine