Todos los productos
Search
Centro de documentos

Resource Orchestration Service:ALIYUN::ESS::ScalingRule

Última actualización: Sep 04, 2026

Cree una regla de escalado para Auto Scaling (ESS).

Sintaxis

{
  "Type": "ALIYUN::ESS::ScalingRule",
  "Properties": {
    "AdjustmentValue": Integer,
    "Cooldown": Integer,
    "ScalingGroupId": String,
    "AdjustmentType": String,
    "ScalingRuleName": String,
    "MetricName": String,
    "PredictiveTaskBufferTime": Integer,
    "ScalingRuleType": String,
    "PredictiveValueBuffer": Integer,
    "TargetValue": Number,
    "StepAdjustment": List,
    "PredictiveValueBehavior": String,
    "DisableScaleIn": Boolean,
    "InitialMaxSize": Integer,
    "MinAdjustmentMagnitude": Integer,
    "EstimatedInstanceWarmup": Integer,
    "PredictiveScalingMode": String,
    "ScaleInEvaluationCount": Integer,
    "ScaleOutEvaluationCount": Integer
  }
}

Propiedades

Nombre de la propiedad Tipo Obligatorio Actualización permitida Descripción Restricciones
AdjustmentValue Integer No Sí

Valor de ajuste. Se aplica a reglas de escalado simples y por pasos.

Los valores válidos dependen de AdjustmentType:
  • QuantityChangeInCapacity: de -500 a 500.
  • PercentChangeInCapacity: de -100 a 10,000.
  • TotalCapacity: de 0 a 1,000.
Nota El número de instancias ECS ajustadas en una sola actividad de escalado no puede exceder 500.
Cooldown Integer No Sí Tiempo de enfriamiento. Se aplica únicamente a reglas de escalado simples. Valores válidos: de 0 a 86400.

Unidad: segundos.

El valor predeterminado está vacío.

ScalingGroupId String Sí No ID del grupo de escalado al que pertenece la regla. Ninguna
AdjustmentType String No Sí Método de ajuste. Se aplica a reglas de escalado simples y por pasos. Valores válidos:
  • QuantityChangeInCapacity: agrega o elimina un número específico de instancias ECS.
  • PercentChangeInCapacity: agrega o elimina un porcentaje específico de instancias ECS.
  • TotalCapacity: ajusta el número de instancias ECS del grupo de escalado actual a una cantidad específica.
ScalingRuleName String No Sí Nombre de la regla de escalado. El nombre debe tener entre 2 y 64 caracteres. Puede contener letras, dígitos, guiones bajos (_), guiones (-) y puntos (.). Debe comenzar con una letra o un dígito.

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

MetricName String No No Métrica predefinida. Se aplica a reglas de escalado de seguimiento de objetivo y predictivas. Valores válidos:
  • Para reglas de escalado de seguimiento de objetivo:
    • CpuUtilization: utilización promedio de CPU.
    • ClassicInternetRx: tráfico entrante promedio de Internet a través de la red clásica.
    • ClassicInternetTx: tráfico saliente promedio de Internet a través de la red clásica.
    • VpcInternetRx: tráfico entrante promedio de Internet a través de una VPC.
    • VpcInternetTx: tráfico saliente promedio de Internet a través de una VPC.
    • IntranetRx: tráfico entrante promedio de red privada.
    • IntranetTx: tráfico saliente promedio de red privada.
  • Para reglas de escalado predictivo:
    • CpuUtilization: utilización promedio de CPU.
    • IntranetRx: tráfico entrante promedio de red privada.
    • IntranetTx: tráfico saliente promedio de red privada.
PredictiveTaskBufferTime Integer No No Una regla de escalado predictivo crea automáticamente una tarea predictiva que se ejecuta cada hora. Establezca un tiempo de búfer para ejecutar la tarea con anticipación y preparar los recursos. Valores válidos: de 0 a 60.

Unidad: minutos.

Valor predeterminado: 0.
ScalingRuleType String No No Tipo de regla de escalado. Valores válidos:
  • SimpleScalingRule (predeterminado): regla de escalado simple. Ajusta el número de instancias ECS según AdjustmentType y AdjustmentValue.
  • TargetTrackingScalingRule: regla de escalado de seguimiento de objetivo. Calcula dinámicamente el número de instancias ECS para escalar según una métrica predefinida (MetricName). Esta regla intenta mantener el valor de la métrica cercano al valor objetivo (TargetValue).
  • StepScalingRule: regla de escalado por pasos. Proporciona un método de escalado escalonado basado en umbrales y valores de métricas.
  • PredictiveScalingRule: regla de escalado predictivo. Usa aprendizaje automático para analizar datos históricos de monitoreo del grupo de escalado y predecir valores futuros de métricas. También admite la creación automática de tareas programadas para establecer los límites del grupo de escalado.
PredictiveValueBuffer Integer No No Porcentaje en el que se incrementa el valor predicho. Solo surte efecto cuando PredictiveValueBehavior se establece en PredictiveValueOverrideMaxWithBuffer. Si el valor incrementado supera el valor máximo inicial, se usa el valor incrementado. Valores válidos: de 0 a 100.

Valor predeterminado: 0.

TargetValue Number No No Valor objetivo. Se aplica a reglas de escalado de seguimiento de objetivo y predictivas. El valor de TargetValue puede tener hasta tres decimales y debe ser mayor que 0.
StepAdjustment List No No Procedimiento Para más información, consulte StepAdjustment properties.
PredictiveValueBehavior String No No Acción a realizar sobre el valor máximo para una regla de escalado predictivo. Valores válidos:
  • MaxOverridePredictiveValue (predeterminado): el valor máximo inicial sobrescribe el valor predicho. Si el valor predicho es mayor que el valor máximo inicial, se usa el valor máximo inicial para la tarea predictiva.
  • PredictiveValueOverrideMax: el valor predicho sobrescribe el valor máximo inicial. Si el valor predicho es mayor que el valor máximo inicial, se usa el valor predicho para la tarea predictiva.
  • PredictiveValueOverrideMaxWithBuffer: el valor predicho se incrementa en un porcentaje específico. El valor predicho aumenta según el porcentaje especificado por PredictiveValueBuffer. Si el valor incrementado supera el valor máximo inicial, se usa el valor incrementado.
DisableScaleIn Boolean No No Especifica si se debe deshabilitar la reducción de escala. Se aplica únicamente a reglas de escalado de seguimiento de objetivo. Valores válidos:
  • true
  • false (predeterminado)
InitialMaxSize Integer No No Número máximo de instancias en el grupo de escalado. Se usa junto con PredictiveValueBehavior. El valor predeterminado es el número máximo de instancias (MaxSize) del grupo de escalado.
MinAdjustmentMagnitude Integer No No Número mínimo de instancias a ajustar. Este parámetro solo surte efecto cuando ScalingRuleType es SimpleScalingRule o StepScalingRule y AdjustmentType es PercentChangeInCapacity.
EstimatedInstanceWarmup Integer No No Periodo de calentamiento para las instancias recién agregadas. Se aplica a reglas de escalado de seguimiento de objetivo y por pasos. Valores válidos: de 0 a 86,400.

Unidad: segundos.

Valor predeterminado: 300.

Una instancia ECS en estado de arranque se agrega al grupo de escalado de manera normal, pero sus datos de monitoreo no se reportan a CloudMonitor durante este periodo.

Nota Cuando se calcula dinámicamente el número de instancias ECS a escalar, las instancias en estado de arranque no se cuentan como parte del número actual de instancias.
PredictiveScalingMode String No No Modo de la regla de escalado predictivo. Valores válidos:
  • PredictAndScale (predeterminado): genera resultados de predicción y crea tareas predictivas.
  • PredictOnly: genera resultados de predicción pero no crea tareas predictivas.
ScaleInEvaluationCount Integer No Sí Número de veces consecutivas que se debe cumplir el umbral antes de activar una tarea basada en eventos de reducción de escala. Al crear una regla de escalado de seguimiento de objetivo, se crea automáticamente una tarea basada en eventos.

Valor predeterminado: 15.

ScaleOutEvaluationCount Integer No Sí Número de veces consecutivas que se debe cumplir el umbral antes de activar una tarea basada en eventos de expansión de escala. Al crear una regla de escalado de seguimiento de objetivo, se crea automáticamente una tarea basada en eventos.

Valor predeterminado: 3.

Sintaxis de StepAdjustment

"StepAdjustment": [
  {
    "MetricIntervalUpperBound": Number,
    "ScalingAdjustment": Integer,
    "MetricIntervalLowerBound": Number
  }
]

Propiedades de StepAdjustment

Nombre de la propiedad

Tipo

Obligatorio

Actualización permitida

Descripción

Restricciones

MetricIntervalUpperBound

Number

No

No

Límite superior del paso. Se aplica únicamente a reglas de escalado por pasos.

Valores válidos: de -9.999999E18 a 9.999999E18.

ScalingAdjustment

Integer

No

No

Número de instancias a agregar en el paso. Se aplica únicamente a reglas de escalado por pasos.

Ninguna

MetricIntervalLowerBound

Number

No

No

Límite inferior del paso. Se aplica únicamente a reglas de escalado por pasos.

Valores válidos: de -9.999999E18 a 9.999999E18.

Valores de retorno

Fn::GetAtt

  • ScalingRuleAri: identificador único de la regla de escalado.

  • ScalingRuleId: ID único global generado por el sistema para la regla de escalado.

Ejemplos

  • YAML formato

    ROSTemplateFormatVersion: '2015-09-01'
    Description: Test ESS ScalingRule
    Parameters:
      AutoScalingGroupId:
        Type: String
        AssociationProperty: ALIYUN::ESS::AutoScalingGroup::AutoScalingGroupId
    Resources:
      ScalingRule:
        Type: ALIYUN::ESS::ScalingRule
        Properties:
          AdjustmentType: QuantityChangeInCapacity
          ScalingGroupId:
            Ref: AutoScalingGroupId
          AdjustmentValue: 1
    Outputs: {}
  • JSON formato

    {
      "ROSTemplateFormatVersion": "2015-09-01",
      "Description": "Test ESS ScalingRule",
      "Parameters": {
        "AutoScalingGroupId": {
          "Type": "String",
          "AssociationProperty": "ALIYUN::ESS::AutoScalingGroup::AutoScalingGroupId"
        }
      },
      "Resources": {
        "ScalingRule": {
          "Type": "ALIYUN::ESS::ScalingRule",
          "Properties": {
            "AdjustmentType": "QuantityChangeInCapacity",
            "ScalingGroupId": {
              "Ref": "AutoScalingGroupId"
            },
            "AdjustmentValue": 1
          }
        }
      },
      "Outputs": {
      }
    }