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:
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:
|
| 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:
|
| 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:
|
| 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:
|
| 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:
|
| 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:
|
| 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
-
YAMLformatoROSTemplateFormatVersion: '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: {} -
JSONformato{ "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": { } }