Aplicar recomendaciones de tipo de máquina a 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.

A fin de obtener más información sobre los tipos de máquinas disponibles para instancias de VM, consulta la documentación sobre tipos de máquinas.

Las recomendaciones de tipo de máquina también se conocen como recomendaciones de redimensionamiento.

Antes de empezar

  • Consulta la documentación de la consola de Google Cloud.
  • Si aún no lo hiciste, configura la autenticación. 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:

    Console

    When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.

    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.

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 del tipo de máquina están disponibles de forma gratuita. Si aplicas una recomendación para cambiar el tamaño del tipo de máquina de la instancia, se te cobra por el tipo de máquina que elijas.

Casos de uso

Puedes aprovechar las recomendaciones de tipo de máquina si tienes las siguientes condiciones de carga de trabajo:

  • 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 tipo de máquina 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 un número 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 tipo de máquina por cualquiera de los siguientes motivos:

  • Tus cargas de trabajo tienen picos de CPU muy breves. Debido a que las recomendaciones de tipo de máquina 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 tipo de máquina

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 tipo de máquina 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.

Para las estimaciones de diferencia de costos, el costo de una instancia 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.

Visualiza las recomendaciones de tipo de máquina

Compute Engine ofrece recomendaciones a través de la consola de Google Cloud. Puedes ver las recomendaciones sobre el tipo de máquina de la máquina en el Recomendador con gcloud CLI o REST.

Consola

  1. En la consola de Google Cloud, 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 recommender recommendations list y especifica el recomendador de redimensionamiento del grupo de instancias administrados de VM.

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

Por ejemplo:

gcloud 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.

REST

Usa la API del Recomendador con el ID de recomendador del tipo de máquina de los MIG.

PROJECT_ID=my-project
LOCATION=us-central1-c
RECOMMENDER_ID=google.compute.instanceGroupManager.MachineTypeRecommender

curl -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  https://recommender.googleapis.com/v1/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. 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 puedes aplicar una recomendación mientras se mantienen otras dos plantillas de instancias. Sin embargo, puedes hacerlo 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 Platform Console, ve a la página de grupos de instancias.

    Ir a la página Grupos de instancias

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

    Selecciona una columna de recomendaciones.

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

  4. En la página Revisar recomendación, la recomendación se explica en detalle. Si continúas con la recomendación, Compute Engine actualiza todas las instancias del grupo de instancias con la plantilla anterior a la nueva.

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

    1. Si deseas borrar y crear instancias de forma activa con la plantilla de instancias nueva, elige Automática. Si solo quieres aplicar la actualización cuando la instancia se crea por otros medios, como cambiar el tamaño o cuando se agrega una instancia nueva al grupo, elige Selectivo.
    2. Cuando selecciones las actualizaciones automáticas, elige si deseas Mantener los nombres de las instancias cuando las reemplaces.
      • Si eliges conservar los nombres de las instancias, en Instancias adicionales temporales, 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.
    3. En Cantidad máxima de instancias no disponibles, elige 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.
    4. Expande Mostrar opciones avanzadas (opcional). En Tiempo mínimo de espera, elige 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.
  6. Para aplicar los cambios, haz clic en Guardar.

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

Descarta 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 Platform Console, ve a la página de grupos de instancias.

    Ir a la página Grupos de instancias

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

  3. Haz clic en Descartar.

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.

  3. Haz clic en Restore.

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

Cloud Monitoring ofrece un agente de supervisión que recopila métricas adicionales de los disco, las CPU, las redes y los 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 tipo de máquina. 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 el artículo Instala el agente de Cloud Monitoring.

¿Qué sigue?