伸缩规则的作用由伸缩规则类型决定,不同类型的伸缩规则可用于触发伸缩活动或者智能设置伸缩组边界值。本文为您介绍创建、执行、修改或删除伸缩规则的方法。

背景信息

  • 弹性伸缩支持四类伸缩规则,各类规则的功能介绍和使用限制请参见伸缩规则概述
  • 一个伸缩组内可以创建的伸缩规则数量有限,数量使用限制与弹性伸缩使用情况有关,请前往配额中心查看配额值。
  • ECS类型的伸缩组创建伸缩规则时支持选择简单规则、步进规则、目标追踪规则以及预测规则类型,而ECI类型的伸缩组创建伸缩规则时仅支持选择简单规则和目标追踪规则类型。

创建伸缩规则

  1. 登录弹性伸缩控制台
  2. 在左侧导航栏中,单击伸缩组管理
  3. 在顶部菜单栏处,选择地域。
  4. 找到待操作的伸缩组,在对应操作列下,单击查看详情
  5. 在页面上方,单击伸缩规则与伸缩活动页签,然后单击伸缩规则页签。
  6. 单击创建伸缩规则
  7. 完成伸缩规则的相关参数配置。
    1. 输入规则名称。
    2. 选择伸缩规则类型并完成对应的参数配置。
      四种伸缩规则类型的参数说明如下所示。

      简单规则参数说明

      名称 说明
      执行的操作 根据需要选择一种操作:
      • 调整至N台:执行伸缩规则后,伸缩组内实例的数量变为N台。最多能触发伸缩500台实例。
      • 增加N台:执行伸缩规则后,伸缩组内实例的数量在当前基础上增加N台。增加的数量不可超过500。
      • 增加N%:执行伸缩规则后,伸缩组内实例的数量在当前基础上增加N%。最多能触发伸缩500台实例。
      • 减少N台:执行伸缩规则后,伸缩组内实例的数量在当前基础上减少N台。减少的数量不可超过500。
      • 减少N%:执行伸缩规则后,伸缩组内实例的数量在当前基础上减少N%。最多能触发伸缩500台实例。
        说明 如果执行的操作选择增加N%或减少N%时,您还需要设置最小调整台数。
      冷却时间 可选项,单位为秒。不填写则默认使用伸缩组的冷却时间,更多信息请参见冷却时间

      步进规则参数说明

      名称 说明
      监控类型 根据您需要关联的报警任务选择监控类型。
      • 系统监控:指云监控为您采集的监控指标。选择该项后,您可以继续指定系统监控报警任务。
      • 自定义监控:指您自主上报至云监控的自定义监控指标。选择该项后,您可以继续指定自定义监控报警任务。
      执行的时间 指定一个报警任务,该报警任务的触发条件会作为分步步骤的参照条件。

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

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

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

      步进规则支持的操作和简单规则相同:调整至N台、增加N台、减少N台、增加N%和减少N%。

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

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

      目标追踪规则参数说明

      名称 说明
      指标类型 根据需要选择一项云监控指标:
      • (ECS)平均CPU使用率
      • (ECS)内网入流量的平均值
      • (ECS)内网出流量的平均值
      • (ECS)公网入流量的平均值
      • (ECS)公网出流量的平均值
      目标值 云监控指标的目标值,目标追踪规则会将云监控指标值维持在目标值附近。
      实例预热时间 单位为秒。处于预热状态的实例正常加入伸缩组,但是不会向云监控上报监控数据。动态计算需要扩缩容的实例数量时,处于预热状态的实例不计入现有实例数量,以免造成指标值波动。
      扩容报警触发的阈值次数 创建目标追踪规则后,会自动创建报警任务。该参数指定自动创建出的扩容报警任务触发报警时,所需连续满足阈值条件的次数。
      缩容报警触发的阈值次数 创建目标追踪规则后,会自动创建报警任务。该参数指定自动创建出的缩容报警任务触发报警时,所需连续满足阈值条件的次数。
      禁用缩容 是否禁用缩容影响自动创建的报警任务的数量:
      • 如果禁用缩容,目标伸缩规则只创建一个用于扩容的报警任务,因此不会从伸缩组移出ECS实例。
      • 如果允许缩容,目标伸缩规则会创建两个报警任务,一个用于扩容,一个用于缩容。

      预测规则参数说明

      说明 一个伸缩组内只能创建一条预测规则。
      名称 说明
      配合已有目标追踪规则 是否配合已有的目标追踪规则。如果之前已有目标追踪规则,您可以选择沿用目标追踪规则的指标类型目标值
      选择规则 只有开启配合已有目标追踪规则功能后才会出现该参数项,您可以继续选择一条目标追踪规则,自动沿用该目标追踪规则的指标类型目标值
      指标类型 根据需要选择一项云监控指标:
      • (ECS)平均CPU使用率,单位为%。
      • (ECS)内网入流量的平均值,单位为KB/Min。
      • (ECS)内网出流量的平均值,单位为KB/Min。
      目标值 所选云监控指标的目标值,预测规则将综合目标值等因素计算出合适的实例数量。

      如果您修改了目标值,伸缩组会清空现存的预测任务,并在一小时内创建新的预测任务。

      预测模式 根据需要选择预测模式:
      • 只预测不伸缩:产生预测结果,但不会创建预测任务。
      • 预测并伸缩:产生预测结果并创建预测任务。

      建议您先选择只预测不伸缩,如果预测效果符合预期,再修改为预测并伸缩。您可以在伸缩规则详情中查看预测规则效果,具体操作请参见查看预测规则效果

      预设最大值 伸缩组实例数上限,和最大值处理方式结合使用。

      默认值为当前的伸缩组内最大实例数。

      最大值处理方式 当预测值大于预设最大值时,预测值的处理方式分为以下几种:
      • 预测值会覆盖预设最大值:预测值大于预设最大值时,预测任务的实例数最大值采用预测值。
      • 预设最大值会覆盖预测值:预测值大于预设最大值时,预测任务的实例数最大值采用预设最大值。
      • 预测值会附加一定比例:和增加比例结合使用。

      默认值为预测值会覆盖预设最大值

      增加比例 只有最大值处理方式预测值会附加一定比例时才会出现该参数项,当前预测值会按照该比例增加,并作为新的预测值。例如,当前预测值为100,增加比例为10%,则预测任务的实例数最大值采用110。

      增加比例的默认值为0%,最大值为100%。

      预启动时间 预测规则自动创建的预测任务默认均在整点执行,您可以设置预启动时间提前执行预测任务,预先准备资源。

      预启动时间的单位为分钟,默认值为0分钟,最大值为60分钟。

  8. 单击确认
    伸缩规则创建成功后,在伸缩规则列表页找到已创建的伸缩规则,单击伸缩规则ID,您可以查看伸缩规则类型、伸缩规则标识符、执行的时间以及执行的操作等详细信息。

执行伸缩规则

通过执行伸缩规则可以实现手动或自动伸缩ECS实例或ECI实例资源,其中,对于简单规则和步进规则,您才需要手动执行伸缩规则,而对于目标追踪规则和预测规则,弹性伸缩会自动执行伸缩规则。伸缩规则成功执行的前提条件如下所示:

  • 账号未欠费。如果您的账号欠费,所有伸缩规则都会执行失败。为正常使用弹性伸缩,请确保账号可用额度充足。
  • 伸缩规则所在的伸缩组必须为启用状态。
  • 伸缩组未开启期望实例数时,伸缩规则所在伸缩组不允许存在执行中的伸缩活动;伸缩组开启期望实例数时,伸缩规则所在的伸缩组不允许存在执行中的非并行伸缩活动,更多信息,请参见期望实例数

手动执行伸缩规则

如果您临时需要伸缩ECS实例或ECI实例资源,可以手动执行伸缩规则。当伸缩组内不存在执行中的伸缩活动时,手动执行规则触发的伸缩活动可以立即执行,无需等待冷却时间。在冷却时间内,伸缩组仅拒绝由云监控报警任务触发的伸缩活动请求。

  1. 登录弹性伸缩控制台
  2. 在左侧导航栏中,单击伸缩组管理
  3. 在顶部菜单栏处,选择地域。
  4. 找到待操作的伸缩组,在对应操作列下,单击查看详情
  5. 在页面上方,单击伸缩规则与伸缩活动页签,然后单击伸缩规则页签。
  6. 找到待执行的伸缩规则,在对应操作列下,单击执行
  7. 单击确定

自动执行伸缩规则

执行方式 说明
通过定时任务执行伸缩规则 针对需求量有规律的业务,您可以选用定时任务,在创建定时任务时指定一条伸缩规则,弹性伸缩服务会在指定的时间点自动执行该伸缩规则。关于如何创建定时任务,请参见配置定时任务
通过报警任务执行伸缩规则 针对需求量并没有明显规律的业务,您可以选用基于监控项的报警任务,在创建报警任务时指定一条伸缩规则,弹性伸缩服务会在满足报警条件时自动执行该伸缩规则。关于如何创建报警任务,请参见配置报警任务。报警任务的更多信息,请参见报警任务概述

修改或删除伸缩规则

  • 创建伸缩规则后,如果当前伸缩规则不再满足需求,您可以修改一项或者多项伸缩规则属性,无需重新创建。
  • 创建伸缩规则后,如果不再需要一条伸缩规则,您可以删除该伸缩规则,空出伸缩规则配额。
  1. 登录弹性伸缩控制台
  2. 在左侧导航栏中,单击伸缩组管理
  3. 在顶部菜单栏处,选择地域。
  4. 找到待操作的伸缩组,在对应操作列下,单击查看详情
  5. 在页面上方,单击伸缩规则与伸缩活动页签,然后单击伸缩规则页签。
  6. 修改或删除伸缩规则。
    操作项 步骤
    修改伸缩规则
    1. 找到待修改的伸缩规则,在对应操作列下,单击修改
    2. 根据需要修改参数,然后单击确认

      详细的参数说明,请参见创建伸缩规则

      说明 伸缩规则均不支持修改伸缩规则类型,且步进规则不支持修改执行的时间
    删除伸缩规则
    1. 找到待删除的伸缩规则,在对应操作列下,单击删除
    2. 在弹出的确认对话框,单击确定