Usa una política de ajuste de escala automático con varios indicadores

Cuando creas una política de ajuste de escala automático con varios indicadores, el escalador automático escala según el indicador que proporciona la mayor cantidad de instancias de máquinas virtuales (VM) en el grupo de instancias administrado (MIG). Así se garantiza que siempre haya VM suficientes para controlar las cargas de trabajo de tu aplicación y te permite escalar aplicaciones con varios cuellos de botella posibles.

Para obtener más información sobre los diferentes tipos de indicadores de ajuste de escala automático, consulta Política de ajuste de escala automático.

Antes de comenzar

  • Lee acerca de los aspectos básicos del escalador automático.
  • 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 APIs de Trusted Cloud by S3NS . 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 Trusted Cloud console to access Trusted Cloud by S3NS services and APIs, you don't need to set up authentication.

    gcloud

    1. Instala Google Cloud CLI y, luego, accede a gcloud CLI con tu identidad federada. Después de acceder, inicializa Google Cloud CLI ejecutando el siguiente comando:

      gcloud init
    2. Set a default region and zone.

    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 proporciones a gcloud CLI.

      Instala Google Cloud CLI y, luego, accede a gcloud CLI con tu identidad federada. Después de acceder, inicializa Google Cloud CLI ejecutando el siguiente comando:

      gcloud init

    Para obtener más información, consulta Autentícate para usar REST en la documentación de autenticación de Trusted Cloud .

De qué manera el escalador automático controla varios indicadores

Un escalador automático controla varios indicadores mediante el cálculo de la cantidad recomendada de VM para cada indicador y, luego, selecciona el indicador que da como resultado la mayor cantidad de VM en el MIG.

Un escalador automático puede controlar una señal por tipo de métrica, excepto en el caso de las métricas de Cloud Monitoring y de las programaciones de escalamiento. Puedes elegir hasta 5 indicadores de ajuste de escala automático para las métricas de Cloud Monitoring y crear hasta 128 programas por MIG. Por ejemplo, puedes crear un escalador automático que use hasta 1 señal de uso de CPU, hasta 1 señal de balanceo de cargas, hasta 5 señales de métrica personalizadas y hasta 128 programas de escalamiento.

Por ejemplo, puedes definir un escalador automático con todos los indicadores siguientes:

  • cpuUtilization con un objetivo de 0.8
  • loadBalancingUtilization con un objetivo de 0.6
  • customMetricUtilization para metric1 con un objetivo de 1,000
  • customMetricUtilization para metric2 con un objetivo de 2,000
  • scalingSchedules
    • Un mínimo de 6 VM todos los sábados y domingos a las 12:00 a.m. durante 24 horas
    • Un mínimo de 15 VM todos los lunes a viernes a las 9:00 a.m. durante 8 horas

En este ejemplo, supón que el escalador automático mide los siguientes valores de uso promedio para un MIG que contiene 10 VM al momento de la medición:

  • 0.5 para uso de CPU
  • 0.4 de uso balanceo de cargas
  • 1,100 para metric1
  • 2,700 para metric2

Con los valores anteriores, el escalador automático calcula la cantidad recomendada de VM según cada indicador:

  • 7 VM según el uso de CPU
  • 7 VM según el uso del balanceo de cargas
  • 11 VM según la metric1
  • 14 VM según la metric2
  • 6 VM todos los sábados y domingos durante todo el día, según la primera programación de escalamiento
  • 15 VM de lunes a viernes, de 9:00 a.m. a 5:00 p.m., en función del segundo programa de escalamiento

El escalador automático selecciona el indicador que genera el mayor número de VM en el MIG y establece el tamaño recomendado del MIG en ese valor. En este caso, el escalador automático cambia el tamaño del MIG a 15 VM si la segunda programación está activa o a 14 VM en caso contrario.

Crea un escalador automático con varios indicadores

Crear un escalador automático con varios indicadores es un poco diferente según si usas la Trusted Cloud consola, gcloud CLI o REST.

Console

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

    Ir a Grupos de instancias

  2. Haz clic en el nombre de un MIG de la lista.

  3. Haz clic en Editar.

  4. Haz clic en Tamaño del grupo y ajuste de escala automático para expandir la sección.

  5. En la lista Modo de ajuste de escala automático, asegúrate de que esté seleccionada la opción Activado: agrega y quita instancias del grupo.

  6. En el campo Cantidad mínima de instancias, ingresa la cantidad mínima de VMs que deseas para este MIG. El tamaño mínimo de este MIG siempre se mantiene, independientemente de sus indicadores de ajuste de escala automático.

  7. En el campo Cantidad máxima de instancias, ingresa la cantidad máxima de VMs que deseas para este MIG. El tamaño máximo de este MIG nunca se supera, independientemente del tamaño recomendado que generan los indicadores de ajuste de escala automático.

  8. Para cada indicador de ajuste de escala automático basado en métricas que desees agregar, haz clic en Agregar un indicador.

    • Para crear un indicador de ajuste de escala automático basado en el uso promedio de CPU, en la lista Tipo de indicador, selecciona Uso de CPU. Luego, ingresa un Uso de CPU objetivo y haz clic en Listo. Para obtener más información, consulta la sección sobre cómo ajustar la escala en función del uso de CPU.
    • Para crear un indicador de ajuste de escala automático basado en la capacidad de entrega de balanceo de cargas HTTP, en la lista Tipo de indicador, selecciona Uso del balanceo de cargas HTTP. Luego, ingresa un Uso objetivo de balanceo de cargas HTTP y haz clic en Listo. Para obtener más información, consulta Escalamiento según la capacidad de entrega del balanceo de cargas.
    • Para crear un indicador de ajuste de escala automático basado en las métricas de Cloud Monitoring, en la lista Tipo de indicador, selecciona Métrica de Cloud Monitoring. Luego, completa los campos restantes y haz clic en Listo. Para obtener más información, consulta Ajusta la escala en función de métricas de Cloud Monitoring.
  9. Para cada indicador de ajuste de escala automático basado en programas que desees agregar, en la sección Programaciones de ajuste de escala automático, haz clic en Administrar.

    1. Haz clic en Crear programación.

    2. En el panel Crea un programa de escalamiento, completa los campos obligatorios y, luego, haz clic en Guardar.

    3. En el panel Programas de escalamiento, haz clic en Listo.

    Para obtener más información, consulta Escala según los programas.

  10. En la sección Período de inicialización, ingresa la cantidad de segundos que la aplicación necesita para inicializarse. Este período permite que tus VMs terminen de inicializarse antes de que el escalador automático considere sus datos de uso como confiables. Para obtener más información, consulta Período de inicialización.

  11. Opcional: Para habilitar los controles de reducción de escala, en la sección Controles de reducción de escala, selecciona la casilla de verificación Habilitar controles de reducción de escala. Para obtener más información, consulta los controles de reducción de escala.

  12. Haz clic en Guardar.

gcloud

Para crear un escalador automático con varios indicadores, usa el comando set-autoscaling. Pasa varias especificaciones de indicadores usando sus respectivas marcas de línea de comandos.

Por ejemplo, el siguiente comando crea un escalador automático que usa el uso de CPU, capacidad de entrega de balanceo de cargas, dos métricas personalizadas y una programación de escalamiento. Las marcas --max-num-replicas y --min-num-replicas restringen el tamaño que puede tener el MIG.

gcloud compute instance-groups managed set-autoscaling MIG_NAME \
   --target-cpu-utilization=0.8 \
   --target-load-balancing-utilization=0.6 \
   --custom-metric-utilization metric=PATH_TO_CUSTOM_METRIC_1,utilization-target=1000.0,utilization-target-type=GAUGE \
   --custom-metric-utilization metric=PATH_TO_CUSTOM_METRIC_2,utilization-target=2000.0,utilization-target-type=DELTA_PER_SECOND \
   --set-schedule=workday-capacity \
   --schedule-cron="30 8 * * Mon-Fri" \
   --schedule-duration-sec=30600 \
   --schedule-min-required-replicas=10 \
   --schedule-description="Have at least 10 VMs every Monday through Friday from 8:30 AM to 5 PM UTC" \
   --min-num-replicas=1 \
   --max-num-replicas=50

Reemplaza lo siguiente:

  • MIG_NAME: Es el nombre de un MIG.
  • PATH_TO_CUSTOM_METRIC_1 y PATH_TO_CUSTOM_METRIC_2: Opcional: las rutas de acceso a métricas personalizadas con un formato similar a custom.cloudmonitoring.googleapis.com/path/to/metric1 y custom.cloudmonitoring.googleapis.com/path/to/metric2. Para obtener más información, consulta Métricas personalizadas.

Con la excepción de las marcas de métricas personalizadas, solo puedes pasar una marca como máximo para cada tipo de métrica por comando gcloud. En el caso de las métricas personalizadas, puedes proporcionar varias métricas personalizadas en un solo comando si repites la marca --custom-metric-utilization.

Si deseas obtener más información sobre cómo configurar las marcas para cada tipo de indicador de ajuste de escala automático, consulta las siguientes páginas:

REST

A fin de crear un escalador automático, usa el método autoscalers.insert para un MIG zonal o el método regionAutoscalers.insert para un MIG regional.

Por ejemplo, la siguiente solicitud crea un escalador automático que usa el uso de CPU, la capacidad de entrega del balanceo de cargas, dos métricas personalizadas y dos programaciones de escalamiento. Los campos maxNumReplicas y minNumReplicas restringen el tamaño que puede tener el MIG.

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

{
  "autoscalingPolicy" : {
    "cpuUtilization":{
      "utilizationTarget": 0.8
    },
    "loadBalancingUtilization":{
      "utilizationTarget": 0.6
    },
    "customMetricUtilizations":[
      {
        "metric": "PATH_TO_CUSTOM_METRIC_1",
        "utilizationTarget": 1000,
        "utilizationTargetType":"GAUGE"
      },
      {
        "metric": "PATH_TO_CUSTOM_METRIC_2",
        "utilizationTarget": 2000,
        "utilizationTargetType": "DELTA_PER_SECOND"
      }
    ],
    "scalingSchedules": {
      "workday-capacity": {
        "minRequiredReplicas": 10,
        "schedule": "30 8 * * Mon-Fri",
        "durationSec": 30600,
        "description": "Have at least 10 VMs every Monday through Friday from 8:30 AM to 5 PM UTC"
      },
      "january-30-2030-schedule": {
        "minRequiredReplicas": 30,
        "schedule": "0 0 30 1 * 2030",
        "timeZone": "America/New_York",
        "durationSec": 86400,
        "description": "Schedule a minimum of 30 VMs all day for January 30, 2030"
      }
    },
    "maxNumReplicas": 50,
    "minNumReplicas": 1
  },
  "target": "https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a/instanceGroupManagers/MIG_NAME",
  "name": "MIG_NAME"
}

Reemplaza lo siguiente:

  • PROJECT: Es el ID de tu proyecto.
  • ZONE: Es la zona en la que se encuentra el MIG.
  • MIG_NAME: Es el nombre de un MIG.
  • PATH_TO_CUSTOM_METRIC_1 y PATH_TO_CUSTOM_METRIC_2: Opcional: las rutas de acceso a métricas personalizadas con un formato similar a custom.cloudmonitoring.googleapis.com/path/to/metric1 y custom.cloudmonitoring.googleapis.com/path/to/metric2. Para obtener más información, consulta Métricas personalizadas.

Como se muestra en este ejemplo, puedes proporcionar varias métricas personalizadas y programas de escalamiento en la misma solicitud.

Si quieres obtener más información sobre cómo configurar los campos para cada tipo de indicador de ajuste de escala automático, consulta las siguientes páginas: