伸缩规则的作用由伸缩规则的类型来决定,可用于触发伸缩活动或者智能设置伸缩组边界值。本文为您介绍伸缩规则的几种类型、使用限制以及相关操作。
伸缩规则类型
弹性伸缩支持的伸缩规则类型包括简单规则、步进规则、目标追踪规则和预测规则。其中,简单规则、步进规则和目标追踪规则用于触发伸缩活动,而预测规则用于智能设置伸缩组边界值。按照使用用途不同,具体说明如下:
用于触发伸缩活动的伸缩规则
伸缩规则类型
说明
简单规则
定义了伸缩组扩缩容的行为,即支持增加或减少指定数量的实例,或者将实例数量调整至指定值。相比目标追踪规则和预测规则,执行简单规则后只能触发扩容活动,或者只能触发缩容活动,而不能同时触发扩容和缩容活动。
说明如果简单规则由报警任务触发时,则需要等待冷却时间结束后才可触发成功。
步进规则
基于云监控报警服务的分段扩缩容策略,在简单规则的基础上增加了分步定义,可以通过一组策略集合精细地控制扩缩容。
目标追踪规则
您需要选择一项云监控指标,并指定目标值。弹性伸缩会自动计算所需的实例数量并进行扩缩容,从而将云监控指标维持在目标值附近。更多信息,请参见目标追踪规则。
说明创建目标追踪规则后,伸缩组会自动创建关联的报警任务。当伸缩组的数据指标达到您设定的目标时,触发此报警任务执行关联的目标追踪规则。如果您不再需要此报警任务,您必须删除关联的目标追踪规则,伸缩组会同步删除报警任务。
用于智能设置伸缩组边界值的伸缩规则
预测规则
预测规则指系统可以通过分析伸缩组在至少24小时内的历史监控数据,利用机器学习能力预测未来48小时的监控指标值,然后计算出伸缩组每小时需要的实例数(即预测值),并支持自动创建定时任务,智能设置伸缩组边界值。预测结果每天更新一次,并为未来48小时创建48个预测任务。
优点
在创建伸缩组时,如果您并不了解业务运行情况,设置的伸缩组边界值可能与实际需求存在偏差,而采用预测规则智能设置伸缩组边界值时,会避免出现如下情况:
当伸缩组内最小实例数过高时,会导致系统购入过多计算资源,浪费成本。
当伸缩组内最大实例数过低时,会导致系统计算资源不足,影响服务的稳定性。
注意事项
创建伸缩规则时,如果您选择了预测规则类型,请注意以下事项:
预测规则需要至少24小时的监控数据才会有预测结果产生。
如果您修改了预测规则的目标值,当前的预测任务会被清空,新的预测任务会在1小时内自动生成。
预测规则会自动调整伸缩组的边界值,即伸缩组最大实例数和伸缩组最小实例数,不能直接扩缩容实例。
预测规则可以与其他伸缩规则同时使用。当与目标追踪规则同时使用时,推荐您设置相同的指标类型和目标值,防止因为指标差异造成伸缩组实例数抖动。
建议您先选择预测模式为只预测不伸缩,查看预测效果符合预期时,再将预测模式修改为预测并伸缩。更多信息,请参见查看预测规则效果。
使用限制
弹性伸缩的伸缩规则有如下限制条件:
一个伸缩组内可以创建的伸缩规则数量有限,和弹性伸缩使用情况有关,请前往配额中心查看配额值。
如果执行伸缩规则后,伸缩组内服务中状态的实例数将大于伸缩最大实例数或者小于伸缩最小实例数,弹性伸缩服务会自动调整扩张或收缩的实例数量,保证弹性伸缩结果不会超过数量限制。例如:
您拥有一个伸缩组(例如asg-bp19ik2u5w7esjcu****),伸缩组的最大实例数为3,设置伸缩规则add3目的是为伸缩组增加3台实例。如果当前伸缩组内服务中状态的实例数为2,执行伸缩规则add3时,仅会增加1台实例。
您拥有一个伸缩组(例如asg-bp19ik2u5w7esjcu****),伸缩组的最小实例数为2,设置伸缩规则reduce2目的为伸缩组减少2台实例。如果当前伸缩组内服务中状态的实例数为3,执行伸缩规则reduce2时,仅会减少1台实例。
如果您的账号欠费,所有伸缩规则都会执行失败。
重要为正常使用弹性伸缩,请确保账号可用额度充足。
如何配置伸缩规则
配置伸缩规则的相关文档如下所示:
控制台文档 | 操作项 | API文档 |
创建伸缩规则 | ||
执行伸缩规则 | 无 | |
修改伸缩规则 | ||
删除伸缩规则 | ||
查看预测规则效果 | 无 |