伸缩规则(Scaling Rule)定义了具体的扩展或收缩操作,例如加入或移出N个实例。
如果伸缩规则的执行会造成伸缩组的ECS实例数低于MinSize或高于MaxSize时,则弹性伸缩会自动调整需要加入或移出的ECS实例数,使之按照“将伸缩组的实例数调整到MinSize”或“将伸缩组的实例数调整到MaxSize”的规则执行。
- 例:某个伸缩组,MaxSize = 3,当前实例数Total Capacity =2,伸缩规则指定“加3台ECS实例”,则在实际执行过程中只会加1台ECS实例。(伸缩规则当中的值不会调整)
- 例:某个伸缩组,MinSize = 2,当前实例数Total Capacity = 3,伸缩规则指定“减去5台ECS实例”,则在实际执行过程中只会减1台ECS实例。(伸缩规则当中的值不会调整)
描述
根据传入参数创建伸缩规则。
当AdjustmentType是TotalCapacity时,表示将当前伸缩组的ECS实例数量调整到指定数量,对应的AdjustmentValue值必须大于等于0。
当AdjustmentType是QuantityChangeInCapacity或PercentChangeInCapacity,对应的AdjustmentValue值为正数表示增加实例、为负数表示减少实例。
当AdjustmentType是PercentChangeInCapacity,弹性伸缩服务以伸缩组当前实例数(Total Capacity) * AdjusmentValue/100,并使用四舍五入原则来确认增加或减少的ECS实例个数。
当伸缩规则指定了冷却时间(Cooldown),则执行该伸缩规则的伸缩活动完成后,会以伸缩规则中指定的冷却时间对伸缩组进行冷却处理,如果伸缩规则未指定冷却时间,则以伸缩组指定的冷却时间(DefaultCooldown)为准。
一个伸缩组内最多只能创建50条伸缩规则。
返回的伸缩规则唯一标识符(ScalingRuleAri),主要可以被以下接口所使用:在执行伸缩规则(ExecuteScalingRule)的ScalingRuleAri参数中指定,用户可以手工执行该伸缩规则。- 在创建定时任务(CreateScheduledTask)的ScheduledAction参数中指定,用户可以定时执行该伸缩规则。
请求参数
返回参数
示例
请求示例
- http://ess.aliyuncs.com/?Action=CreateScalingRule
- &ScalingGroupId=AG6CQdPU8OKdwLjgZcJ2eaQ
- &AdjustmentType=QuantityChangeInCapacity
- &AdjustmentValue=-10
- &<公共请求参数>
返回示例
XML格式:
- <CreateScalingRuleResponse>
- <ScalingRuleAri>ari:acs:ess:cn-qingdao:1344371:scalingrule/eMKWG8SRNb9dBLAjweNI1Ik</ScalingRuleAri>
- <ScalingRuleId>eMKWG8SRNb9dBLAjweNI1Ik</ScalingRuleId>
- <RequestId>570C84F4-A434-488A-AFA1-1E3213682B33</RequestId>
- </CreateScalingRuleResponse>
JSON格式:
- {
- "RequestId": "04F0F334-1335-436C-A1D7-6C044FE73368",
- "ScalingRuleId": "eMKWG8SRNb9dBLAjweNI1Ik",
- "ScalingRuleAri":"ari:acs:ess:cn-qingdao:1344371:scalingrule/eMKWG8SRNb9dBLAjweNI1Ik"
- }
错误码
对于所有接口的通用性错误,请参考
客户端错误表或
服务器端错误表。
[tr=rgb(239, 251, 255)][td]InvalidScalingRuleName.Duplicate
The specified value of parameter <parameter name> is duplicated. | 400 | 伸缩规则名字已存在 |
QuotaExceeded.ScalingRule | Scaling rule quota exceeded in the specified scaling group. | 400 | 用户的伸缩规则使用个数达到上限 |