伸缩规则的作用由伸缩规则类型决定,可用于触发伸缩活动或者智能设置伸缩组边界值。

背景信息

弹性伸缩支持以下四类伸缩规则:
  • 简单规则

    用于触发伸缩活动。使用简单规则时,支持增加/减少指定数量的实例,或者将实例数量调整至指定值。

  • 目标追踪规则
    用于触发伸缩活动。使用目标追踪规则时,您需要选择一项云监控指标,并指定目标值。弹性伸缩会自动计算所需的实例数量并进行扩缩容,从而将云监控指标维持在目标值附近。
    说明 如果创建了目标追踪规则,会自动创建一项关联报警任务,只能由该报警任务执行目标追踪规则。
  • 预测规则
    用于智能设置伸缩组边界值。预测规则基于机器学习,可以通过分析伸缩组的历史监控数据预测未来监控指标值,并支持自动创建定时任务,智能设置伸缩组边界值。
    说明 预测规则用于调整伸缩组的边界值,即伸缩组最大实例数和伸缩组最小实例数,不能直接扩缩容。
  • 步进规则

    用于触发伸缩活动。步进规则是基于云监控报警服务的分段扩缩容策略,在简单规则的基础上增加了分步定义,可以通过一组策略集合精细地控制扩缩容。

伸缩规则有如下限制条件:
  • 一个伸缩组内可以创建的伸缩规则数量有限,详细信息请参见使用限制
  • 如果执行伸缩规则后,伸缩组内服务中实例数将大于伸缩最大实例数或者小于伸缩最小实例数,弹性伸缩服务会自动调整扩张或收缩的ECS实例数量,保证弹性伸缩结果不会超过数量限制。例如:
    • 您拥有一个伸缩组asg-bp19ik2u5w7esjcu****,伸缩最大实例数为3,伸缩规则add3为增加3台实例。如果当前服务中实例数为2,执行伸缩规则add3时,仅会增加1台ECS实例。
    • 您拥有一个伸缩组asg-bp19ik2u5w7esjcu****,伸缩最小实例数为2,伸缩规则reduce2为减少2台实例。如果当前服务中实例数为3,执行伸缩规则reduce2时,仅会减少1台ECS实例。

操作步骤

  1. 登录弹性伸缩控制台
  2. 找到待操作的伸缩组,选择一种方式打开伸缩组详情页面。
    • 伸缩组名称/ID列中,单击伸缩组名称。
    • 操作列中,单击管理
  3. 在左侧导航栏中,单击伸缩规则
  4. 单击创建伸缩规则
  5. 配置伸缩规则的参数,然后单击创建伸缩规则
    详细的参数说明,请参见简单规则目标追踪规则创建预测规则步进规则

简单规则

简单规则的参数如下:
名称 说明
规则名称 简单规则的名称。
伸缩规则类型 伸缩规则的类型,创建成功后不可修改,选择简单规则
执行的操作 视需要选择一种操作:
  • 调整至N台:执行伸缩规则后,伸缩组内实例的数量变为N台。最多能触发伸缩500台实例。
  • 增加N台:执行伸缩规则后,伸缩组内实例的数量在当前基础上增加N台。增加的数量不可超过500。
  • 增加N%:执行伸缩规则后,伸缩组内实例的数量在当前基础上增加N%。最多能触发伸缩500台实例。
  • 减少N台:执行伸缩规则后,伸缩组内实例的数量在当前基础上减少N台。减少的数量不可超过500。
  • 减少N%:执行伸缩规则后,伸缩组内实例的数量在当前基础上减少N%。最多能触发伸缩500台实例。
冷却时间 可选项,单位为秒。不填写则默认使用伸缩组的冷却时间,更多信息请参见冷却时间

目标追踪规则

目标追踪规则的参数如下:
名称 说明
规则名称 目标追踪规则的名称。
伸缩规则类型 伸缩规则的类型,创建成功后不可修改,选择目标追踪规则
是否配合已有的预测伸缩规则 如果伸缩组内存在预测规则,您可以选择继承预测规则的指标类型和目标值。
指标类型 视需要选择一项云监控指标:
  • 平均CPU使用率
  • 内网入流量的平均值
  • 内网出流量的平均值
  • 公网入流量的平均值
  • 公网出流量的平均值
目标值 云监控指标的目标值,目标追踪规则会将云监控指标值维持在目标值附近。
实例预热时间 单位为秒。处于预热状态的实例正常加入伸缩组,但是不会向云监控上报监控数据。动态计算需要扩缩容的实例数量时,处于预热状态的实例不计入现有实例数量,以免造成指标值波动。
禁用缩容 启用后,目标伸缩规则不会减少伸缩组内实例的数量。
目标追踪规则创建成功后,自动创建的关联报警任务示例如下:

步进规则

步进规则的参数如下:
名称 说明
规则名称 步进规则的名称。
伸缩规则类型 伸缩规则的类型,创建成功后不可修改,选择步进规则
监控类型 根据您需要关联的报警任务选择监控类型。
  • 系统监控:选择该项后,您可以继续指定系统监控报警任务。
  • 自定义监控:选择该项后,您可以继续指定自定义监控报警任务。
执行的时间 指定一个报警任务,该报警任务的触发条件会作为分步步骤的参照条件。

例如,CPU使用率平均值连续3次 >= 80%。

如果没有可用的报警任务,您也可以新建一个报警任务,详细参数说明请参见创建报警任务
说明 如果您在创建步进规则时创建报警任务,该报警任务的监控资源自动设置为当前伸缩组,报警触发规则自动设置为当前步进规则。
执行的操作 基于报警任务触发条件继续设置分步步骤,指定违例规模及相应操作,在报警任务触发后,弹性伸缩会根据违例规模执行相应操作。您至少需要设置一个分步步骤。
例如,
  • 当80 <= CPU使用率平均值 < 90时,增加2台。
  • 当90 <= CPU使用率平均值 < +∞时,增加3台。

每个分步步骤中设置的违例规模受云监控指标的限制。例如,云监控指标为CPU使用率平均值连续3次 >= 80%时,分步步骤必须从>= 80 %开始设置。

步进规则支持的操作和简单规则相同:调整至N台、增加N台、减少N台、增加N%和减少N%,详细说明请参见简单规则

实例预热时间 单位为秒。 处于预热状态的实例正常加入伸缩组,但是不会向云监控上报监控数据。动态计算需要扩缩容的实例数量时,处于预热状态的实例不计入现有实例数量,以免造成指标值波动。

例如,步进规则的实例预热时间为300秒,增加了2台实例,则在实例创建完成后300秒内,计算伸缩组内CPU使用率平均值时不会计入这2台实例的指标值。

步进规则关联到报警任务的效果示例如下: