Todos los productos
Search
Centro de documentos

Auto Scaling:CreateScalingRule

Última actualización: Sep 02, 2026

La función de una regla de escalado está determinada por su tipo, que se puede utilizar para activar una actividad de escalado o establecer de manera inteligente los valores límite de un grupo de escalado. Según sus requisitos empresariales, puede invocar la API CreateScalingRule para crear diferentes tipos de reglas de escalado. Por ejemplo, si su negocio solo requiere establecer los valores límite de un grupo de escalado, le recomendamos seleccionar el tipo de regla predictiva.

Descripción de la operación

Una regla de escalado define operaciones específicas de escalado horizontal o vertical, como agregar o eliminar N instancias. Si la ejecución de una regla de escalado provocara que el número de instancias ECS o ECI en el grupo de escalado cayera por debajo de MinSize o excediera MaxSize, el escalado automático ajusta automáticamente el número de instancias ECS o ECI que se deben agregar o eliminar para que el recuento real de instancias alcance MinSize o MaxSize. Sin embargo, el valor configurado de la regla de escalado permanece sin cambios. A continuación, se presentan algunos ejemplos:

  • Para un grupo de escalado con MaxSize=3 y una capacidad total actual de 2, si la regla de escalado especifica agregar 3 instancias ECS, en realidad solo se agregará 1 instancia ECS durante la ejecución, pero el valor configurado de la regla de escalado seguirá siendo 3.

  • Para un grupo de escalado con MinSize=2 y una capacidad total actual de 3, si la regla de escalado especifica eliminar 5 instancias ECS, en realidad solo se eliminará 1 instancia ECS durante la ejecución, pero el valor configurado de la regla de escalado seguirá siendo 5.

Tenga en cuenta las siguientes descripciones relacionadas con los parámetros:

  • Cuando AdjustmentType es TotalCapacity, significa ajustar el número actual de instancias ECS o ECI en el grupo de escalado a la cantidad especificada. El AdjustmentValue correspondiente debe ser mayor o igual a 0.

  • Cuando AdjustmentType es QuantityChangeInCapacity o PercentChangeInCapacity, un AdjustmentValue positivo indica agregar instancias, mientras que un valor negativo indica eliminar instancias.

  • Cuando AdjustmentType es PercentChangeInCapacity, el servicio de escalado automático calcula el número de instancias ECS o ECI que se deben agregar o eliminar multiplicando el recuento actual de instancias (capacidad total) por AdjustmentValue/100 y aplicando luego el redondeo.

  • Si se especifica un tiempo de enfriamiento (Cooldown) en la regla de escalado, el grupo de escalado entra en un periodo de enfriamiento durante la duración especificada después de que finaliza la actividad de escalado activada por esta regla. Si no se especifica un tiempo de enfriamiento en la regla de escalado, se utiliza el tiempo de enfriamiento predeterminado (DefaultCooldown) del grupo de escalado.

  • Existe un límite en el número de reglas de escalado que se pueden crear dentro de un solo grupo de escalado. Para obtener más información, consulte Límites.

  • El identificador único devuelto (ScalingRuleAri) de la regla de escalado se puede utilizar con las siguientes API:
    • Especifíquelo en el parámetro ScalingRuleAri al invocar ExecuteScalingRule para ejecutar manualmente la regla de escalado.

    • Especifíquelo en el parámetro ScheduledAction al crear una tarea programada (CreateScheduledTask) para ejecutar la regla de escalado a una hora programada.

Pruébelo ahora

Pruebe esta API en OpenAPI Explorer sin necesidad de firma manual. Las llamadas exitosas generan automáticamente código SDK acorde a sus parámetros. Descárguelo con seguridad de credenciales integrada para uso local.

Test

Autorización de RAM

La siguiente tabla describe la autorización necesaria para invocar esta API. Puede definirla en una directiva de Resource Access Management (RAM). A continuación, se detallan las columnas de la tabla:

  • Action: Estas acciones se utilizan en el elemento Action de las declaraciones de directivas de permisos de RAM para otorgar permisos que permitan realizar la operación.

  • API: La API que debe invocarse para llevar a cabo la acción.

  • Nivel de acceso: Nivel de acceso predefinido que se concede para cada API. Valores válidos: create, list, get, update y delete.

  • Tipo de recurso: Tipo de recurso que admite autorización para ejecutar la acción. Indica si la acción es compatible con permisos a nivel de recurso. El recurso especificado debe ser compatible con la acción; de lo contrario, la directiva no surtirá efecto.

    • En las API con permisos a nivel de recurso, los tipos de recursos obligatorios se marcan con un asterisco (*). Especifique el Alibaba Cloud Resource Name (ARN) correspondiente en el elemento Resource de la directiva.

    • Para las API sin permisos a nivel de recurso, se muestra All Resources. Utilice un asterisco (*) en el elemento Resource de la directiva.

  • Clave de condición: Claves de condición definidas por el servicio. Permiten un control granular y se aplican ya sea solo a acciones o a acciones asociadas con recursos específicos. Además de las claves de condición específicas del servicio, Alibaba Cloud proporciona un conjunto de common condition keys aplicables a todos los servicios compatibles con RAM.

  • Acción dependiente: Acciones dependientes necesarias para ejecutar la acción principal. Para completar la operación, el usuario de RAM o el rol de RAM debe contar con permisos para realizar todas las acciones dependientes.

Action

Nivel de acceso

Tipo de recurso

Clave de condición

Acción dependiente

ess:CreateScalingRule

create

*ScalingGroup

acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}

Ninguna Ninguna

Parámetros de la solicitud

Parámetro

Tipo

Obligatorio

Descripción

Ejemplo

ScalingGroupId

string

Sí

El ID del grupo de escalado al que pertenece la regla de escalado.

asg-bp1ffogfdauy0jw0****

ScalingRuleName

string

No

El nombre de la regla de escalado. El nombre debe tener entre 2 y 64 caracteres de longitud, y puede contener letras, dígitos, guiones bajos (_), guiones (-) y puntos (.). El nombre debe comenzar con una letra o un dígito.

El nombre de cada regla de escalado debe ser único bajo la misma cuenta dentro de una región.

Si deja este parámetro vacío, se utiliza el ID de la regla de escalado.

scalingrule****

Cooldown

integer

No

El tiempo de enfriamiento de la regla de escalado. Este parámetro está disponible solo si establece el parámetro ScalingRuleType en SimpleScalingRule. Valores válidos: 0 a 86400. Unidad: segundos.

De forma predeterminada, este parámetro se deja vacío.

60

MinAdjustmentMagnitude

integer

No

El número mínimo de instancias que se deben escalar cuando el parámetro AdjustmentType se establece en PercentChangeInCapacity. Este parámetro surte efecto solo si establece el parámetro ScalingRuleType en SimpleScalingRule o StepScalingRule.

1

AdjustmentType

string

No

El método de escalado de la regla de escalado. Este parámetro es obligatorio solo si establece el parámetro ScalingRuleType en SimpleScalingRule o StepScalingRule. Valores válidos:

  • QuantityChangeInCapacity: agrega el número especificado de instancias ECS al grupo de escalado o elimina el número especificado de instancias ECS del grupo de escalado.

  • PercentChangeInCapacity: agrega el porcentaje especificado de instancias ECS al grupo de escalado o elimina el porcentaje especificado de instancias ECS del grupo de escalado.

  • TotalCapacity: ajusta el número de instancias ECS en el grupo de escalado a un número especificado.

QuantityChangeInCapacity

AdjustmentValue

integer

No

El número de instancias que se deben escalar según la regla de escalado. Este parámetro es obligatorio solo si establece el parámetro ScalingRuleType en SimpleScalingRule o StepScalingRule. El número de instancias ECS que se escalan en una sola actividad de escalado no puede exceder 1,000.

  • Valores válidos si establece el parámetro AdjustmentType en QuantityChangeInCapacity: -1000 a 1000.

  • Valores válidos si establece el parámetro AdjustmentType en PercentChangeInCapacity: -100 a 10000.

  • Valores válidos si establece el parámetro AdjustmentType en TotalCapacity: 0 a 2000.

100

ScalingRuleType

string

No

El tipo de regla de escalado. Valores válidos:

  • SimpleScalingRule: una regla de escalado simple. Después de ejecutar una regla de escalado simple, Auto Scaling ajusta el número de instancias ECS o instancias de contenedor elástico en el grupo de escalado según los valores de AdjustmentType y AdjustmentValue.

  • TargetTrackingScalingRule: una regla de escalado de seguimiento de objetivo. Después de ejecutar una regla de escalado de seguimiento de objetivo, Auto Scaling calcula dinámicamente el número de instancias ECS o instancias de contenedor elástico que se deben escalar según la métrica predefinida (MetricName) e intenta mantener el valor de la métrica cerca del valor esperado (TargetValue).

  • StepScalingRule: una regla de escalado por pasos. Después de ejecutar una regla de escalado por pasos, Auto Scaling escala las instancias paso a paso según los umbrales predefinidos y los valores de las métricas.

  • PredictiveScalingRule: una regla de escalado predictivo. Después de ejecutar una regla de escalado predictivo, Auto Scaling utiliza aprendizaje automático para analizar datos históricos de monitoreo del grupo de escalado y predice los valores futuros de las métricas. Además, Auto Scaling crea automáticamente tareas programadas para ajustar los valores límite del grupo de escalado.

Valor predeterminado: SimpleScalingRule.

SimpleScalingRule

EstimatedInstanceWarmup

integer

No

El periodo de calentamiento de una instancia. Este parámetro está disponible solo si establece el parámetro ScalingRuleType en TargetTrackingScalingRule o PredictiveScalingRule. Auto Scaling agrega instancias ECS que están en estado de calentamiento a un grupo de escalado, pero no reporta datos de monitoreo a CloudMonitor durante el periodo de calentamiento.

Nota

Auto Scaling calcula el número de instancias ECS que se deben escalar. Las instancias ECS en estado de calentamiento no se cuentan para la capacidad actual del grupo de escalado.

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

Valor predeterminado: 300.

300

MetricName

string

No

La métrica predefinida que desea monitorear. Si establece ScalingRuleType en TargetTrackingScalingRule o PredictiveScalingRule, debe especificar este parámetro.

Valores válidos si establece ScalingRuleType en TargetTrackingScalingRule:

  • CpuUtilizationAgent (recomendado): la utilización de CPU.

  • MemoryUtilization (recomendado): el uso de memoria.

  • CpuUtilization: la utilización promedio de CPU.

  • IntranetTx: el tráfico de salida a través de una red interna.

  • IntranetRx: el tráfico de entrada promedio a través de una red interna.

  • VpcInternetTx: el tráfico de salida desde una nube privada virtual (VPC) hacia Internet.

  • VpcInternetRx: el tráfico de entrada desde Internet hacia una VPC.

  • LoadBalancerRealServerAverageQps: las consultas por segundo (QPS) por grupo de servidores de Application Load Balancer (ALB).

Valores válidos si establece ScalingRuleType en PredictiveScalingRule:

  • CpuUtilization: la utilización promedio de CPU.

  • IntranetRx: el tráfico de entrada promedio a través de una red interna.

  • IntranetTx: el tráfico de salida promedio a través de una red interna.

Para obtener más información, consulte Tareas activadas por eventos del tipo de monitoreo del sistema.

CpuUtilization

TargetValue

number

No

El valor objetivo. Este parámetro es obligatorio solo si establece el parámetro ScalingRuleType en TargetTrackingScalingRule o PredictiveScalingRule. El valor debe ser mayor que 0 y puede tener hasta tres decimales.

0.125

DisableScaleIn

boolean

No

Especifica si se debe deshabilitar el escalado vertical. Este parámetro está disponible solo si establece ScalingRuleType en TargetTrackingScalingRule.

Valor predeterminado: false.

false

ScaleInEvaluationCount

integer

No

El número de veces consecutivas que la tarea activada por eventos creada para actividades de escalado vertical debe cumplir las condiciones de umbral antes de que se active una alerta. Después de crear una regla de escalado de seguimiento de objetivo, se crea automáticamente una tarea activada por eventos y luego se asocia con la regla de escalado de seguimiento de objetivo.

Valor predeterminado: 15.

15

ScaleOutEvaluationCount

integer

No

El número de veces consecutivas que la tarea activada por eventos creada para actividades de escalado horizontal debe cumplir las condiciones de umbral antes de que se active una alerta. Después de crear una regla de escalado de seguimiento de objetivo, se crea automáticamente una tarea activada por eventos y luego se asocia con la regla de escalado de seguimiento de objetivo.

Valor predeterminado: 3.

3

PredictiveScalingMode

string

No

El modo de la regla de escalado predictivo. Valores válidos:

  • PredictAndScale: genera predicciones y crea tareas de predicción.

  • PredictOnly: genera predicciones pero no crea tareas de predicción.

Valor predeterminado: PredictAndScale.

PredictAndScale

PredictiveValueBehavior

string

No

El valor máximo para las tareas de predicción. Valores válidos:

  • MaxOverridePredictiveValue: utiliza la capacidad máxima inicial como valor máximo para las tareas de predicción si el valor predicho es mayor que la capacidad máxima inicial.

  • PredictiveValueOverrideMax: utiliza el valor predicho como valor máximo para las tareas de predicción si el valor predicho es mayor que la capacidad máxima inicial.

  • PredictiveValueOverrideMaxWithBuffer: aumenta el valor predicho en un porcentaje especificado por el parámetro PredictiveValueBuffer. Si el valor predicho aumentado por el porcentaje es mayor que la capacidad máxima inicial, el valor aumentado se utiliza como valor máximo para las tareas de predicción.

Valor predeterminado: MaxOverridePredictiveValue.

MaxOverridePredictiveValue

PredictiveValueBuffer

integer

No

La proporción según la cual se aumenta el valor predicho cuando establece PredictiveValueBehavior en PredictiveValueOverrideMaxWithBuffer. Si el valor predicho aumentado por esta proporción es mayor que la capacidad máxima inicial, el valor aumentado se utiliza como valor máximo para las tareas de predicción. Valores válidos: 0 a 100.

Valor predeterminado: 0.

50

PredictiveTaskBufferTime

integer

No

La cantidad de tiempo de búfer antes de que se ejecute la tarea de predicción. De forma predeterminada, todas las tareas de predicción que se crean automáticamente para una regla de escalado predictivo se ejecutan en punto. Puede especificar una cantidad de tiempo de búfer para la preparación de recursos antes de que se ejecuten las tareas de predicción. Valores válidos: 0 a 60. Unidad: minutos.

Valor predeterminado: 0.

30

InitialMaxSize

integer

No

El número máximo de instancias ECS que puede contener el grupo de escalado. Si especifica InitialMaxSize, debe especificar PredictiveValueBehavior.

El valor predeterminado de este parámetro es el valor de MaxSize.

100

StepAdjustments

array<object>

No

Detalles de los ajustes por pasos.

object

No

Detalles de los ajustes por pasos.

MetricIntervalUpperBound

number

No

El límite superior especificado en un ajuste por pasos. Valores válidos: -9.999999E18 a 9.999999E18.

5.0

ScalingAdjustment

integer

No

El número de instancias ECS que desea escalar en un ajuste por pasos. Este parámetro está disponible solo si establece el parámetro ScalingRuleType en StepScalingRule.

1

MetricIntervalLowerBound

number

No

El límite inferior especificado en un ajuste por pasos. Este parámetro está disponible solo si establece el parámetro ScalingRuleType en StepScalingRule. Valores válidos: -9.999999E18 a 9.999999E18.

1.0

RegionId

string

No

El ID de la región del grupo de escalado.

cn-hangzhou

AlarmDimensions

array<object>

No

Las dimensiones de la métrica. Este parámetro es aplicable a las reglas de escalado de seguimiento de objetivo. Si su métrica predefinida requiere dimensiones adicionales, debe especificar este parámetro. Por ejemplo, si utiliza LoadBalancerRealServerAverageQps como métrica predefinida, debe usar este parámetro para especificar la dimensión rulePool.

object

No

Valores de información de dimensión para métricas de monitoreo. Este parámetro se aplica a las reglas de seguimiento de objetivo y se utiliza cuando se requiere información de dimensión adicional para una métrica. Por ejemplo, la métrica LoadBalancerRealServerAverageQps requiere especificar el par clave-valor de dimensión rulePool.

DimensionKey

string

No

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

rulePool

DimensionValue

string

No

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

sgp-l1cbirz451yxuxxx

MetricType

string

No

El tipo de métrica. Valores válidos:

  • system: métricas del sistema de CloudMonitor.

  • custom: métricas personalizadas que se reportan a CloudMonitor.

  • hybrid: métricas de Monitoreo de Nube Híbrida.

system

HybridMonitorNamespace

string

No

El ID del espacio de nombres de Monitoreo de Nube Híbrida.

Para obtener información sobre cómo administrar espacios de nombres de Monitoreo de Nube Híbrida, consulte Administrar espacios de nombres.

aliyun-test

HybridMetrics

array<object>

No

Las métricas de Monitoreo de Nube Híbrida. Para obtener más información, consulte Crear una regla de escalado de seguimiento de objetivo personalizada.

array<object>

No

Id

string

No

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

a

Expression

string

No

La expresión de la métrica que consta de múltiples métricas de Monitoreo de Nube Híbrida. Calcula un resultado utilizado para activar eventos de escalado.

La expresión debe escribirse en formato de Notación Polaca Inversa (RPN) y solo admite los siguientes operadores: +, -, *, /.

(a+b)/2

MetricName

string

No

El nombre de la métrica de Monitoreo de Nube Híbrida.

AliyunSmq_NumberOfMessagesVisible

Statistic

string

No

El método estadístico del valor de la métrica. Valores válidos:

  • Average: calcula el valor promedio de todos los valores de la métrica dentro de un intervalo especificado.

  • Minimum: calcula el valor mínimo de todos los valores de la métrica dentro de un intervalo especificado.

  • Maximum: calcula el valor máximo de todos los valores de la métrica dentro de un intervalo especificado.

Average

Dimensions

array<object>

No

Las dimensiones de la métrica. Puede utilizar este parámetro para especificar los recursos monitoreados.

object

No

DimensionKey

string

No

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

queue

DimensionValue

string

No

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

testQueue

AlarmOptions

object

No

Definición de propiedades de alerta.

Period

integer

No

El periodo para agregar datos de métricas de monitoreo en una regla de seguimiento de objetivo, en segundos. Valores válidos:

  • 15

  • 60

  • 120

  • 300

  • 900

Nota

Valor predeterminado: 60.

60

Elementos de la respuesta

Elemento

Tipo

Descripción

Ejemplo

object

ScalingRuleAri

string

El identificador único de la regla de escalado.

ari:acs:ess:cn-hangzhou:140692647406****:scalingrule/asr-bp1dvirgwkoowxk7****

RequestId

string

El ID de la solicitud.

473469C7-AA6F-4DC5-B3DB-A3DC0DE3****

ScalingRuleId

string

El ID de la regla de escalado, que es generado por el sistema y es único a nivel global.

asr-bp1dvirgwkoowxk7****

Ejemplos

Respuesta exitosa

JSON Formato

{
  "ScalingRuleAri": "ari:acs:ess:cn-hangzhou:140692647406****:scalingrule/asr-bp1dvirgwkoowxk7****",
  "RequestId": "473469C7-AA6F-4DC5-B3DB-A3DC0DE3****",
  "ScalingRuleId": "asr-bp1dvirgwkoowxk7****"
}

Códigos de error

Consulte Códigos de error para ver la lista completa.

Notas de la versión

Consulte Notas de la versión para ver la lista completa.