Crea un MIG con ajuste de escala automático habilitado


En este documento, se describe cómo crear un grupo de instancias administrado (MIG) con ajuste de escala automático que agrega y quita VM de forma automática en función del uso de CPU promedio en el grupo. Por ejemplo, si el uso de CPU del grupo es bajo, el grupo quita las VM de forma automática para ahorrar costos.

Puedes escalar un MIG de forma automática en función de varios tipos de indicadores de ajuste de escala automático. Para obtener más información, consulta la descripción general del escalador automático.

También puedes leer sobre otras situaciones básicas para crear un MIG.

Antes de comenzar

  • Crea una plantilla de instancias, que es necesaria para crear un grupo de instancias administrado.
  • 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 seleccionando una de las siguientes opciones:

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

      Para usar las muestras de Terraform de esta página en un entorno de desarrollo local, instala e inicializa gcloud CLI y, luego, configura las credenciales predeterminadas de la aplicación con tus credenciales de usuario.

      1. Install the Google Cloud CLI.
      2. To initialize the gcloud CLI, run the following command:

        gcloud init
      3. If you're using a local shell, then create local authentication credentials for your user account:

        gcloud auth application-default login

        You don't need to do this if you're using Cloud Shell.

      Para obtener más información, consulta Set up authentication for a local development environment.

      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.

Limitaciones

Para ver la lista completa de limitaciones del MIG, que varía según la configuración que uses, consulta Limitaciones del MIG.

Crea un MIG y habilita el ajuste de escala automático

Usa la consola de Google Cloud, la gcloud CLI, Terraform o REST.

Console

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

    Ir a Grupos de instancias

    Los pasos restantes aparecen en la consola de Google Cloud.

  2. Si tienes un grupo de instancias, selecciónalo y haz clic en Editar. Si no tienes un grupo de instancias, haz clic en Crear grupo de instancias.
  3. Para un grupo de instancias nuevo, asigna un nombre y, luego, elige una plantilla de instancias para el grupo o crea uno nuevo.
  4. Si no existe una configuración del ajuste de escala automático, en Ajuste de escala automático, haz clic en Configurar ajuste de escala automático.
  5. En Modo de ajuste de escala automático, selecciona Activado: agrega y quita instancias del grupo para habilitar el ajuste de escala automático.
  6. Especifica la cantidad mínima y máxima de instancias que deseas que el escalador automático cree en este grupo.
  7. En la sección Métricas de ajuste de escala automático, si aún no hay una métrica de uso de CPU existente, agrega una:
    1. Haz clic en Agregar métrica.
    2. En Tipo de métrica, selecciona Uso de CPU.
    3. Ingresa el Uso objetivo de CPU que desees. Este valor se trata como un porcentaje. Por ejemplo, para un 75% de uso de CPU, ingresa 75.
    4. En Ajuste de escala automático predictivo, selecciona Desactivado. Si deseas obtener más información sobre el ajuste de escala automático predictivo y si es adecuado para tu carga de trabajo, consulta Escala en función de las predicciones.
    5. Haz clic en Listo.
  8. Puedes usar el período de inicialización para establecer el período de inicialización, lo que le indica al escalador automático cuánto tarda tu aplicación en inicializarse. Especificar un período de inicialización preciso mejora las decisiones de escalador automático. Por ejemplo, cuando se escala horizontalmente, el escalador automático ignora los datos de las VMs que aún se están inicializando, ya que es posible que estas aún no representen el uso normal de tu aplicación. El período de inicialización predeterminado es de 60 segundos.
  9. Para crear el MIG, haz clic en Crear.

gcloud

Antes de poder habilitar el ajuste de escala automático, debes crear un MIG. Sigue las instrucciones para crear un MIG con VM confinadas a una sola zona o crear un MIG con VM distribuidas en varias zonas de una región.

Luego, usa el subcomando set-autoscaling a fin de habilitar el ajuste de escala automático para el grupo. Por ejemplo, mediante el siguiente comando, se crea un escalador automático que tiene un uso objetivo de CPU del 60%. Además del parámetro --target-cpu-utilization, también se requiere el parámetro --max-num-replicas cuando se crea un escalador automático.

De manera opcional, puedes establecer el valor --min-num-replicas que indique la cantidad mínima de VM que deseas en el grupo. Si no estableces el mínimo, de forma predeterminada, el MIG establece este valor en 2.

Puedes usar la marca --cool-down-period para establecer el período de inicialización, que le indica al escalador automático cuánto tarda tu aplicación en inicializarse. Especificar un período de inicialización preciso mejora las decisiones de escalador automático. Por ejemplo, cuando se escala horizontalmente, el escalador automático ignora los datos de las VMs que aún se están inicializando, ya que es posible que estas aún no representen el uso normal de tu aplicación. El período de inicialización predeterminado es de 60 segundos.

gcloud compute instance-groups managed set-autoscaling example-managed-instance-group \
  --max-num-replicas 20 \
  --target-cpu-utilization 0.60 \
  --cool-down-period 90

Si lo deseas, puedes habilitar el ajuste de escala automático predictivo para escalar horizontalmente antes de la carga prevista. A fin de saber si el ajuste de escala automático predictivo es adecuado para tu carga de trabajo, consulta Escala en función de las predicciones.

Puedes verificar que el ajuste de escala automático se habilitó de manera correcta mediante el comando instance-groups managed describe, que describe el MIG correspondiente y proporciona información sobre las funciones de ajuste de escala automático para ese grupo:

gcloud compute instance-groups managed describe example-managed-instance-group

Terraform

Antes de poder habilitar el ajuste de escala automático, debes crear un MIG. Sigue las instrucciones para crear un MIG con VM confinadas a una sola zona o crear un MIG con VM distribuidas en varias zonas de una región.

Para configurar el ajuste de escala automático en un MIG, puedes usar el recurso google_compute_autoscaler.

En el siguiente ejemplo, se configura el ajuste de escala automático según el uso de CPU en un MIG zonal.

resource "google_compute_autoscaler" "default" {
  name   = "example-autoscaler"
  zone   = "us-central1-f"
  target = google_compute_instance_group_manager.default.id

  autoscaling_policy {
    max_replicas    = 20
    min_replicas    = 0
    cooldown_period = 90

    cpu_utilization {
      target = 0.60
    }
  }
}

Si deseas obtener más información para aplicar o quitar una configuración de Terraform, consulta los comandos básicos de Terraform.

REST

Antes de poder habilitar el ajuste de escala automático, debes crear un MIG con VM confinadas a una sola zona o crear un MIG con VM distribuidas en varias zonas de una región..

Si tienes un MIG zonal, realiza una solicitud POST al método autoscalers.insert. Si tienes un MIG regional, usa el método regionAutoscalers.insert.

Por ejemplo:

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/autoscalers/

El cuerpo de tu solicitud debe contener los campos name, target y autoscalingPolicy. El campo autoscalingPolicy debe definir tus valores de cpuUtilization y maxNumReplicas objetivo.

De manera opcional, puedes establecer el valor minNumReplicas que indique la cantidad mínima de VMs que deseas en el grupo. Si no estableces el mínimo, de forma predeterminada, el MIG establece este valor en 2.

Puedes usar el campo coolDownPeriodSec para establecer el período de inicialización, que le indica al escalador automático cuánto tarda tu aplicación en inicializarse. Especificar un período de inicialización preciso mejora las decisiones de escalador automático. Por ejemplo, cuando se escala horizontalmente, el escalador automático ignora los datos de las VMs que aún se están inicializando, ya que es posible que estas aún no representen el uso normal de tu aplicación. El período de inicialización predeterminado es de 60 segundos.

{
  "name": "example-autoscaler",
  "target": "https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-f/instanceGroupManagers/example-managed-instance-group",
  "autoscalingPolicy": {
    "maxNumReplicas": 10,
    "cpuUtilization": {
      "utilizationTarget": 0.6
    },
    "coolDownPeriodSec": 90
  }
}

Si lo deseas, puedes habilitar el ajuste de escala automático predictivo para escalar horizontalmente antes de la carga prevista. A fin de saber si el ajuste de escala automático predictivo es adecuado para tu carga de trabajo, consulta Escala en función de las predicciones.

Para obtener más información sobre la habilitación del ajuste de escala automático según el uso de CPU, consulta Ajusta la escala según el uso de CPU.

¿Qué sigue?