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