ALIYUN::ESS::ScalingRule类型用于创建伸缩规则。
语法
{
  "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
  }
}属性
| 属性名称 | 类型 | 必须 | 允许更新 | 描述 | 约束 | 
|---|---|---|---|---|---|
| AdjustmentValue | Integer | 否 | 是 | 伸缩规则的调整值,适用于简单规则和步进规则。 | 不同调整方式对应的取值范围: 
 
           说明 任何情况下,单次调整的ECS实例台数都不能超过500。
           | 
| Cooldown | Integer | 否 | 是 | 伸缩规则的冷却时间,仅适用于简单规则。 | 取值范围:0~86400。 单位:秒。 默认值为空。 | 
| ScalingGroupId | String | 是 | 否 | 伸缩规则所属的伸缩组ID。 | 无 | 
| AdjustmentType | String | 否 | 是 | 伸缩规则的调整方式,适用于简单规则和步进规则。 | 取值: 
 | 
| ScalingRuleName | String | 否 | 是 | 伸缩规则的名称。 | 长度为2~64个字符,以数字、字母或汉字开头。可包含数字、字母、汉字、下划线(_)、短划线(-)和英文句点(.)。 如果没有指定该参数,默认为ScalingRuleId的取值。 | 
| MetricName | String | 否 | 否 | 预定义监控项,适用于目标追踪规则和预测规则。 | 取值: 
 | 
| PredictiveTaskBufferTime | Integer | 否 | 否 | 预测规则自动创建的预测任务,默认在整点执行。您可以设置预启动时间提前执行预测任务,预先准备资源。 | 取值范围:0~60。 单位:分钟。默认值:0。 | 
| ScalingRuleType | String | 否 | 否 | 伸缩规则类型。 | 取值: 
 | 
| PredictiveValueBuffer | Integer | 否 | 否 | PredictiveValueBehavior为PredictiveValueOverrideMaxWithBuffer时生效,预测值会按照该比例增加,当增加后的值大于初始最大值时,会采用增加后的值。 | 取值范围:0~100。 默认值:0。 | 
| TargetValue | Number | 否 | 否 | 目标值,适用于目标追踪规则和预测规则。 | TargetValue最多保留小数点后三位,且必须大于0。 | 
| StepAdjustment | List | 否 | 否 | 分步步骤。 | 更多信息,请参见StepAdjustment属性。 | 
| PredictiveValueBehavior | String | 否 | 否 | 预测规则最大值处理方式。 | 取值: 
 | 
| DisableScaleIn | Boolean | 否 | 否 | 是否禁用缩容,仅适用于目标追踪规则。 | 取值: 
 | 
| InitialMaxSize | Integer | 否 | 否 | 伸缩组实例数上限,和PredictiveValueBehavior结合使用。 | 默认值为伸缩组最大实例数(MaxSize的取值)。 | 
| MinAdjustmentMagnitude | Integer | 否 | 否 | 伸缩规则最小调整实例数。 | 仅当伸缩规则类型为SimpleScalingRule或StepScalingRule,且AdjustmentType为PercentChangeInCapacity时该参数生效。 | 
| EstimatedInstanceWarmup | Integer | 否 | 否 | 实例预热时间,适用于目标追踪规则和步进规则。 | 取值范围:0~86,400。 单位:秒。默认值:300。 处于预热状态的ECS实例将正常的加入伸缩组,但是期间将不会向云监控上报监控数据。 
           说明 动态计算需要扩缩容的ECS实例数量时,处于预热状态的实例不计入现有实例数量。
           | 
| PredictiveScalingMode | String | 否 | 否 | 预测规则的模式。 | 取值: 
 | 
| ScaleInEvaluationCount | Integer | 否 | 是 | 指定对应的缩容报警任务触发报警时,需要连续满足阈值条件的次数。 | 创建目标追踪规则后,会自动创建报警任务。 默认值:15。 | 
| ScaleOutEvaluationCount | Integer | 否 | 是 | 指定对应的扩容报警任务触发报警时,需要连续满足阈值条件的次数。 | 创建目标追踪规则后,会自动创建报警任务。 默认值:3。 | 
StepAdjustment语法
"StepAdjustment": [
  {
    "MetricIntervalUpperBound": Number,
    "ScalingAdjustment": Integer,
    "MetricIntervalLowerBound": Number
  }
]StepAdjustment属性
| 属性名称 | 类型 | 必须 | 允许更新 | 描述 | 约束 | 
|---|---|---|---|---|---|
| MetricIntervalUpperBound | Number | 否 | 否 | 分步步骤的上边界,仅适用于步进规则。 | 取值范围:-9.999999E18~9.999999E18。 | 
| ScalingAdjustment | Integer | 否 | 否 | 分步步骤对应的实例扩展数量,仅适用于步进规则。 | 无 | 
| MetricIntervalLowerBound | Number | 否 | 否 | 分步步骤的下边界,仅适用于步进规则。 | 取值范围:-9.999999E18~9.999999E18。 | 
返回值
Fn::GetAtt
- ScalingRuleAri:伸缩规则的唯一标识符。
- ScalingRuleId:伸缩规则的ID。由系统生成,全局唯一。
示例
- JSON格式- { "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": { } }