Todos los productos
Search
Centro de documentos

Auto Scaling:Customize a target tracking scaling rule with formulas

Última actualización: Sep 03, 2026

Combine varias métricas de Hybrid Cloud Monitoring en una fórmula para crear una regla de escalado de seguimiento de objetivo personalizada.

Descripción general

Beneficios

  • Compatibilidad con fórmulas. Puede utilizar una fórmula para combinar hasta tres métricas como objetivo de seguimiento y obtener mayor flexibilidad.

  • Mayor variedad de métricas de monitoreo. Este enfoque se basa en Hybrid Cloud Monitoring. En comparación con las reglas de escalado de seguimiento de objetivo que usan métricas del sistema, este método permite emplear un rango más amplio de métricas para el seguimiento del objetivo. Para obtener más información sobre Hybrid Cloud Monitoring, consulte Overview of Hybrid Cloud Monitoring.

Flujo de trabajo

Esta solución combina una regla de escalado de seguimiento de objetivo para un grupo de escalado con Hybrid Cloud Monitoring. Siga este flujo de trabajo para crear una regla de escalado de seguimiento de objetivo personalizada.

  1. Diseñar una solución de escalado de seguimiento de objetivo.

    Primero, identifique las métricas de Hybrid Cloud Monitoring que necesita y diseñe una solución de escalado de seguimiento de objetivo según sus requisitos.

  2. Implementar la solución de escalado.

    Prepare las métricas obligatorias de Hybrid Cloud Monitoring y cree una regla de escalado de seguimiento de objetivo basada en dichas métricas.

  3. Monitorear y optimizar la solución de forma continua.

    Monitoree continuamente las actividades de escalado y los cambios en las métricas para optimizar la solución.

1. Diseñar una solución de escalado de seguimiento de objetivo

Identifique las métricas obligatorias de Hybrid Cloud Monitoring y diseñe una solución de escalado. La siguiente sección proporciona un ejemplo.

Para obtener más información sobre las métricas compatibles con Hybrid Cloud Monitoring, consulte Appendix 1: Cloud service metrics . Para garantizar una respuesta ágil en el seguimiento del objetivo, seleccione métricas con un periodo de agregación mínimo de 60 segundos.
El valor calculado de la métrica debe ser proporcional al número de instancias del grupo de escalado. Esto asegura que se produzca un scale-out cuando el valor de la métrica supere el objetivo y un scale-in cuando sea inferior.

Ejemplo de diseño de solución

El siguiente ejemplo ajusta dinámicamente el número de instancias en un grupo de escalado según la cantidad de mensajes activos en una cola de Message Service (MNS).

  • Resultado esperado

    El objetivo es mantener un promedio de tres mensajes en cola por instancia en el grupo de escalado. Si el número de mensajes por instancia supera los tres, el grupo realiza un scale-out. Si cae por debajo de tres, el grupo realiza un scale-in.

  • Implementación

    Para implementar esta función, necesita dos métricas: el número de mensajes activos en la cola MNS (ActiveMessages) y el número de instancias en ejecución en el grupo de escalado (RunningInstanceCount). Puede crear una regla de escalado de seguimiento de objetivo basada en la razón entre estas dos métricas y establecer el valor objetivo en 3. Esto mantiene la razón aproximada en 3, lo cual satisface la siguiente fórmula: \frac{ActiveMessages}{RunningInstanceCount} = 3 .

2. Implementar la solución de escalado

2.1. Preparar métricas de Hybrid Cloud Monitoring

Si ya tiene listas las métricas de Hybrid Cloud Monitoring, puede omitir este paso.
Para usar esta función, debe activar Hybrid Cloud Monitoring. Para obtener más información, consulte Activate Hybrid Cloud Monitoring .

Antes de crear una regla de escalado de seguimiento de objetivo, prepare las métricas necesarias en Hybrid Cloud Monitoring:

  1. Crear un namespace.

    Para obtener más información, consulte Create a namespace.

  2. Agregar las métricas necesarias.

    Según sus requisitos empresariales, agregue las métricas necesarias al namespace. Para obtener más información, consulte Manage metric import tasks.

    Nota

    Para garantizar una respuesta ágil en el seguimiento del objetivo, seleccione métricas con un periodo de agregación mínimo de 60 segundos.

Métricas necesarias para la solución de ejemplo

Cree un namespace llamado ess-metrics-repo-test y agregue las siguientes dos métricas:

  • La métrica ActiveMessages de Active Messages.

  • La métrica de Auto Scaling correspondiente a Running Instances.

2.2. Crear una regla de escalado de seguimiento de objetivo

Si no ha creado un grupo de escalado, hágalo primero. Para obtener más información, consulte Create an ECS scaling group y Create an ECI scaling group .
Importante

Una regla de escalado de seguimiento de objetivo admite reducir el número de instancias a cero. Antes de crear una regla de escalado de seguimiento de objetivo, establezca el Minimum Number of Instances y el Maximum Number of Instances del grupo de escalado según sus requisitos empresariales. Esto define los límites para las actividades de scale-out y scale-in, y ayuda a prevenir la indisponibilidad del servicio o costos inesperados derivados de un diseño incorrecto de la solución.

  1. Vaya a la página de creación de reglas de escalado para su grupo de escalado.

    1. Inicie sesión en la Auto Scaling console.

    2. En el panel de navegación izquierdo, haga clic en Scaling Groups.

    3. En la barra de navegación superior, seleccione una región.

    4. Busque el grupo de escalado que desea gestionar y haga clic en Actions en la columna View Details.

    5. Haga clic en la pestaña Scaling Rules and Tasks.

    6. En la pestaña Scaling Rules, haga clic en Create Scaling Rule.

  2. En la página Create Scaling Rule, configure los siguientes parámetros.

    Parámetro

    Descripción

    Rule Type

    Seleccione Target Tracking Scaling Rule.

    Metric Type

    Seleccione Hybrid Cloud Monitoring.

    Monitor Namespace

    Seleccione el namespace que preparó en el Paso 2.1.

    Metric Description

    Seleccione las métricas que preparó en el Paso 2.1 y los recursos que desea monitorear.

    Metric Calculation Expression

    Introduzca una expresión según sus requisitos empresariales. Se admiten los operadores +-*/ y ().

    Importante
    • Una expresión de métrica puede contener un máximo de tres métricas diferentes.

    • La métrica calculada debe ser proporcional al número de instancias. Esto asegura que se produzca un scale-out cuando el valor de la métrica supere el objetivo y un scale-in cuando sea inferior.

    Target Value

    El valor objetivo para la expresión de la métrica. La regla de escalado mantiene el valor calculado de la métrica cercano a este objetivo.

    Instance Warmup Time

    Unidad: segundos. Una instancia en estado de calentamiento se agrega al grupo de escalado, pero sus datos de monitoreo no se reportan a Hybrid Cloud Monitoring. Auto Scaling excluye las instancias en calentamiento de los cálculos de capacidad para evitar fluctuaciones en las métricas.

    Threshold for Scale-out Alerts

    El número de veces consecutivas que debe cumplirse el umbral para activar la tarea desencadenada por eventos de scale-out creada automáticamente.

    Threshold for Scale-in Alerts

    El número de veces consecutivas que debe cumplirse el umbral para activar la tarea desencadenada por eventos de scale-in creada automáticamente.

    Disable Scale-in

    Indica si se debe deshabilitar el scale-in. Esta configuración afecta el número de tareas desencadenadas por eventos que se crean automáticamente.

    • Si deshabilita el scale-in, la regla de escalado de seguimiento de objetivo solo crea una tarea desencadenada por eventos de scale-out. No se eliminan instancias ECS ni ECI del grupo de escalado.

    • Si permite el scale-in, la regla de escalado de seguimiento de objetivo crea dos tareas desencadenadas por eventos: una para scale-out y otra para scale-in.

    Configuración clave para la solución de ejemplo

    Parámetro

    Ejemplo

    Metric Type

    Seleccione Hybrid Cloud Monitoring.

    Monitor Namespace

    Seleccione el namespace que preparó en el Paso 2.1, que es ess-metrics-repo-test.

    Metric Description

    Métrica a:

    • Para Metric Name, seleccione AliyunEss_RunningInstanceCount.

    • Para Monitored Resource, seleccione el grupo de escalado actual.

    Métrica b:

    • Para Metric Name, seleccione AliyunMnsnew_ActiveMessages.

    • Para Monitored Resource, seleccione la cola MNS que desea monitorear.

    Metric Calculation Expression

    Introduzca b/a. Esta expresión indica el número promedio de mensajes que cada instancia necesita procesar.

    Target Value

    Introduzca 3. Esto indica que la longitud promedio esperada de la cola por instancia es de 3 mensajes.

  3. Después de configurar los parámetros, haga clic en OK para crear la regla de escalado de seguimiento de objetivo.

3. Monitorear y optimizar la solución

Después de crear la regla de escalado de seguimiento de objetivo, monitoree su grupo de escalado para asegurar que funcione como se espera. Revise el valor calculado de la métrica, las actividades de escalado y los datos de monitoreo del grupo de escalado para comprobar su comportamiento.

Operaciones relacionadas

  • Consultar información sobre la regla de escalado de seguimiento de objetivo

    En la pestaña Scaling Rules and Event-triggered Tasks > Scaling Rules, busque la regla de escalado de seguimiento de objetivo que creó y haga clic en el ID de la regla para ver sus detalles. Puede hacer clic en una tarea desencadenada por eventos asociada para consultar su información de monitoreo.

  • Monitorear el valor calculado de la métrica

    Después de crear una regla de escalado de seguimiento de objetivo, se crean automáticamente dos tareas de Event-triggered Task (Hybrid Cloud Monitoring). En la pestaña Scaling Rules and Tasks > Event-triggered Tasks > Event-triggered Task (Hybrid Cloud Monitoring), busque la tarea correspondiente y haga clic en su ID para ir a la página de detalles de la tarea y consultar los valores calculados de la métrica.

  • Consultar actividades de escalado

    En la pestaña Scaling Activities, consulte los registros de las actividades de escalado del grupo.

Crear una regla con la API

Llame a la operación CreateScalingRule para crear una regla de escalado de seguimiento de objetivo basada en métricas de Hybrid Cloud Monitoring. Parámetros clave:

Parámetros clave

Parámetro

Tipo

Descripción

Configuración

RegionId

String

El ID de la región donde se encuentra el grupo de escalado.

Establezca este parámetro en la región donde reside el grupo de escalado objetivo.

ScalingGroupId

string

El ID del grupo de escalado.

Establezca este parámetro en el ID del grupo de escalado que desea modificar.

ScalingRuleName

string

El nombre de la regla de escalado.

El nombre debe tener entre 2 y 64 caracteres, comenzar con un dígito, una letra o un carácter chino, y puede contener dígitos, guiones bajos (_), guiones (-) y puntos (.).

El nombre debe ser único dentro de la misma región y grupo de escalado para la misma cuenta de Alibaba Cloud.

Si no especifica este parámetro, tomará de forma predeterminada el valor de ScalingRuleId.

ScalingRuleType

string

El tipo de regla de escalado.

Para crear una regla de escalado de seguimiento de objetivo, establezca este parámetro en TargetTrackingScalingRule.

DisableScaleIn

boolean

Especifica si se debe deshabilitar el scale-in. Este parámetro solo aplica a las reglas de escalado de seguimiento de objetivo.

  • true: deshabilita el scale-in.

  • false: habilita el scale-in.

Configure este parámetro según su solución.

TargetValue

integer

El valor objetivo.

El valor de TargetValue debe ser mayor que 0 y puede tener hasta tres decimales.

EstimatedInstanceWarmup

integer

El tiempo de calentamiento de la instancia. Una instancia ECS en estado de calentamiento se agrega al grupo de escalado, pero sus datos de monitoreo no se reportan a Hybrid Cloud Monitoring.

Al calcular el número de instancias para agregar o eliminar, Auto Scaling no cuenta las instancias en estado de calentamiento como parte de la capacidad actual.

Valores válidos: 0 a 86400. Unidad: segundos.

Valor predeterminado: 300.

ScaleOutEvaluationCount

integer

Después de crear una regla de escalado de seguimiento de objetivo, se crea automáticamente una tarea desencadenada por eventos. Este parámetro especifica el número de veces consecutivas que debe cumplirse el umbral para que se active la tarea desencadenada por eventos de scale-out.

Valor predeterminado: 3.

Configure este parámetro según su solución.

ScaleInEvaluationCount

integer

Después de crear una regla de escalado de seguimiento de objetivo, se crea automáticamente una tarea desencadenada por eventos. Este parámetro especifica el número de veces consecutivas que debe cumplirse el umbral para que se active la tarea desencadenada por eventos de scale-in.

Valor predeterminado: 15.

Configure este parámetro según su solución.

MetricType

string

El tipo de métrica.

Para crear una regla de escalado de seguimiento de objetivo basada en métricas de Hybrid Cloud Monitoring, establezca este parámetro en hybrid. Este valor especifica que se utiliza Hybrid Cloud Monitoring como origen de métricas.

HybridMonitorNamespace

string

El ID del namespace de Hybrid Cloud Monitoring.

Para obtener más información sobre cómo gestionar un namespace, consulte Manage a namespace.

Configure este parámetro según su solución.

HybridMetrics

array<object>

La configuración de las métricas de Hybrid Cloud Monitoring.

Un arreglo de métricas de Hybrid Cloud Monitoring.

Subparámetros de HybridMetrics

Id

string

El ID de referencia de una métrica en la expresión de la métrica.

Esto es similar a declarar una variable a la que se hace referencia posteriormente en la expresión.

Puede establecer este parámetro en a, b, c, etc.

MetricName

string

El nombre de la métrica en el namespace de Hybrid Cloud Monitoring.

Configure este parámetro según su solución.

Statistic

string

El método de agregación de la métrica.

Configure este parámetro según su solución. Valores válidos:

  • Average: el promedio de todos los puntos de datos en el periodo especificado.

  • Minimum: el mínimo de todos los puntos de datos en el periodo especificado.

  • Maximum: el máximo de todos los puntos de datos en el periodo especificado.

Expression

string

Una expresión de métrica que combina varias métricas de Hybrid Cloud Monitoring. El resultado del cálculo de la expresión se utiliza para activar actividades de scale-out o scale-in.

La expresión utiliza notación infija y admite los operadores +, -, * y /.

Configure este parámetro según su solución.

Dimensions

object

Las dimensiones de la métrica. Este parámetro se utiliza para especificar el recurso que desea monitorear.

Subparámetros de Dimensions

DimensionKey

string

La clave de la dimensión de la métrica.

Configure este parámetro según su solución.

DimensionValue

string

El valor de la dimensión de la métrica.

Configure este parámetro según su solución.

Solicitud de ejemplo

El siguiente ejemplo utiliza la API para implementar la solución de muestra descrita en Section 1.

El siguiente cuerpo de solicitud muestra la configuración de parámetros para esta solución.

{
    "RegionId": "cn-hangzhou",
    "ScalingGroupId": "asg-bp1******",
    "ScalingRuleType": "TargetTrackingScalingRule",
    "ScalingRuleName": "TrackingQueueLength",
    "DisableScaleIn": false,
    "TargetValue": 3,
    "EstimatedInstanceWarmup": 300,
    "ScaleOutEvaluationCount": 3,
    "ScaleInEvaluationCount": 15,
    "MetricType": "hybrid",
    "HybridMonitorNamespace": "ess-metrics-repo-test",
    "HybridMetrics.1.Id": "a",
    "HybridMetrics.1.MetricName": "AliyunEss_RunningInstanceCount",
    "HybridMetrics.1.Statistic": "Average",
    "HybridMetrics.1.Dimensions.1.DimensionKey": "instanceId",
    "HybridMetrics.1.Dimensions.1.DimensionValue": "asg-bp1******",
    "HybridMetrics.2.Id": "b",
    "HybridMetrics.2.MetricName": "AliyunMnsnew_ActiveMessages",
    "HybridMetrics.2.Statistic": "Average",
    "HybridMetrics.2.Dimensions.1.DimensionKey": "region",
    "HybridMetrics.2.Dimensions.1.DimensionValue": "cn-hangzhou",
    "HybridMetrics.2.Dimensions.2.DimensionKey": "userId",
    "HybridMetrics.2.Dimensions.2.DimensionValue": "******",
    "HybridMetrics.2.Dimensions.3.DimensionKey": "queue",
    "HybridMetrics.2.Dimensions.3.DimensionValue": "test",
    "HybridMetrics.3.Id": "Expression",
    "HybridMetrics.3.Expression": "b/a"
}

Cómo se asignan los campos JSON clave a la fórmula:

  • Declarar la variable a como el valor de la métrica AliyunEss_RunningInstanceCount en el namespace ess-metrics-repo-test, y especificar el ID del grupo de escalado como asg-bp1******.

    Significado: el número de instancias en ejecución en el grupo de escalado cuyo ID es asg-bp1****** .
    "HybridMetrics.1.Id": "a",
    "HybridMetrics.1.MetricName": "AliyunEss_RunningInstanceCount",
    "HybridMetrics.1.Statistic": "Average",
    "HybridMetrics.1.Dimensions.1.DimensionKey": "instanceId",
    "HybridMetrics.1.Dimensions.1.DimensionValue": "asg-bp1******",
  • Declarar la variable b como el valor de la métrica AliyunMnsnew_ActiveMessages en el namespace ess-metrics-repo-test, y especificar las dimensiones de la métrica como region=cn-hangzhou, userId=****** y queue=test.

    Significado: El número de mensajes activos en la cola test en la región China (Hangzhou) bajo la cuenta de usuario especificada.
    "HybridMetrics.2.Id": "b",
    "HybridMetrics.2.MetricName": "AliyunMnsnew_ActiveMessages",
    "HybridMetrics.2.Statistic": "Average",
    "HybridMetrics.2.Dimensions.1.DimensionKey": "region",
    "HybridMetrics.2.Dimensions.1.DimensionValue": "cn-hangzhou",
    "HybridMetrics.2.Dimensions.2.DimensionKey": "userId",
    "HybridMetrics.2.Dimensions.2.DimensionValue": "******",
    "HybridMetrics.2.Dimensions.3.DimensionKey": "queue",
    "HybridMetrics.2.Dimensions.3.DimensionValue": "test",
  • Establecer la fórmula de la métrica en b/a.

    Significado: implementa la fórmula \frac{AliyunMnsnew\_ActiveMessages}{AliyunEss\_RunningInstanceCount} .
    "HybridMetrics.3.Id": "Expression",
    "HybridMetrics.3.Expression": "b/a"
  • Establecer el valor objetivo para el resultado de la fórmula.

    Significado: el valor objetivo para el resultado de la fórmula \frac{AliyunMnsnew\_ActiveMessages}{AliyunEss\_RunningInstanceCount} es 3.
    "TargetValue": 3