伸缩组是具有相同应用场景的ECS实例集合。您可以通过伸缩组定义可容纳ECS实例数量的边界值、弹性扩张时创建ECS实例的模板、弹性收缩时移出ECS实例的策略等属性,让伸缩组按照您的需求维护一组ECS实例。

前提条件

  • 如果选择实例启动模板作为自动创建ECS实例的模板,您需要提前创建好实例启动模板,具体操作请参见创建实例启动模板
  • 如果需要为伸缩组关联负载均衡实例,请确保满足以下条件:
    • 您持有一个或多个处于运行中状态的负载均衡实例,具体操作请参见创建负载均衡实例
    • 负载均衡实例和伸缩组必须位于同一地域。
    • 如果负载均衡实例和伸缩组的网络类型均为专有网络,则必须位于同一专有网络。
    • 当负载均衡实例的网络类型为经典网络,伸缩组的网络类型为专有网络时,如果负载均衡实例的后端服务器组中包含专有网络ECS实例,该ECS实例必须与伸缩组位于同一专有网络。
    • 负载均衡实例配置至少一个监听,具体操作请参见监听概述
    • 负载均衡实例必须开启健康检查,具体操作请参见配置健康检查
  • 如果需要为伸缩组关联RDS实例,请确保满足以下条件:
    • 您持有一个或多个处于运行中状态的RDS实例,具体操作请参见什么是云数据库RDS
    • RDS实例和伸缩组必须位于同一地域。

背景信息

您能创建的伸缩组数量存在上限,更多信息请参见使用限制

操作步骤

  1. 登录弹性伸缩控制台
  2. 伸缩组管理页面右上角,单击创建伸缩组
  3. 设置伸缩配置来源。
    1. 选择来源类型。
      来源类型 说明
      选择实例启动模板 扩容时使用实例启动模板中的实例配置信息。
      选择已有实例 提取已有ECS实例的配置信息创建一个默认伸缩配置,作为自动创建ECS实例的模板。提取的配置信息包括实例的实例规格、镜像、网络类型、安全组、登录密码、标签等。
      从0开始创建 不指定自动创建ECS实例的模板,伸缩组创建完成后进入停用状态。您需要继续创建伸缩配置或指定启动模板作为自动创建ECS实例的模板,然后才能启用伸缩组。
    2. 可选:根据伸缩配置来源类型设置必要信息。
      • 如果伸缩配置来源类型为选择实例启动模板,选择已创建的实例启动模板和实例启动模板版本。
      • 如果伸缩配置来源类型为选择已有实例,选择已创建的ECS实例。
  4. 设置伸缩组基本信息。
    1. 填写伸缩组名称。
    2. 填写组内实例数。
      数量类型 说明
      组内最大实例数 当前ECS实例数量超过上限时,弹性伸缩会自动移出ECS实例,使得伸缩组内的ECS实例数量等于上限。
      组内最小实例数 当前ECS实例数量低于下限时,弹性伸缩会自动添加ECS实例,使得伸缩组内的ECS实例数量等于下限。
      组内期望实例数 伸缩组会自动将ECS实例数量维持在期望实例数,更多说明请参见期望实例数
    3. 填写默认冷却时间。
      单位为秒,伸缩组发生伸缩活动后的默认冷却时间。在冷却时间内,伸缩组会拒绝由云监控报警任务触发的伸缩活动请求,但其他类型任务触发的伸缩活动可以绕过冷却时间立即执行,例如手动执行任务、定时任务。
    4. 可选:选择实例移出策略。
      当需要从伸缩组移出ECS实例并且有多种选择时,按该策略选择需要移出的ECS实例。如果按策略筛选后仍有多台ECS实例满足要求,则随机移出一台。
      支持两段设置先筛选再从结果中移出,但不支持为先筛选再从结果中移出设置相同的选项。各选项的含义如下表所示。
      策略选项 说明
      最早伸缩配置对应的实例 此处伸缩配置泛指组内实例配置信息来源,包括伸缩配置和启动模板。

      筛选添加时间最早的伸缩配置和启动模板对应的实例。手动添加的实例没有关联伸缩配置或启动模板,因此不会首先选出手动添加的实例。如果已移出全部关联的实例,仍需要继续移出实例,则随机移出手动添加的实例。

      启动模板的版本号低不代表添加时间早,例如在创建伸缩组时选择实例启动模板lt-foress的版本2,然后修改伸缩组,选择实例启动模板lt-foress的版本1,则对伸缩组来说,启动模板lt-foress的版本2是最早的。

      最早创建的实例 筛选创建时间最早的实例。
      最新创建的实例 筛选创建时间最新的实例。
      无策略 仅在设置再从结果中移出时可选,表示不进行第二段筛选。
      例如,如果第一段设置为先筛选最早伸缩配置对应的实例,则第二段设置仅支持以下选项:
      • 无策略:不进行第二段筛选。
      • 最早创建的实例:在第一段筛选出的实例中,再筛选创建时间最早的实例。
      • 最新创建的实例:在第一段筛选出的实例中,再筛选创建时间最新的实例。
    5. 可选:设置伸缩组删除保护。
      开启伸缩组保护后,您不能在控制台或者通过API删除该伸缩组,有效避免误删除伸缩组。
    6. 添加标签。
      添加标签便于搜索和聚合伸缩组,更多标签介绍请参见标签概述
  5. 完成组内实例扩缩容配置。
    1. 选择网络类型。
      注意 伸缩组创建完成后,不支持修改网络类型。
      网络类型 说明
      专有网络
      • 创建伸缩配置时,只能选择支持专有网络的实例规格。
      • 手动添加已有ECS实例时,只能选择同一专有网络中的实例。
      经典网络
      • 创建伸缩配置时,只能选择支持经典网络的实例规格。
      • 手动添加已有ECS实例时,只能选择经典网络实例。
    2. 可选:如果网络类型为专有网络,配置专有网络相关选项。
      注意 伸缩组创建完成后,不支持修改专有网络、多可用区扩缩容策略和实例回收模式。
      • 专有网络
      • 交换机

        一个交换机只能属于一个可用区,您可以指定多个属于不同可用区的交换机,从而达到多可用区的效果。多可用区可以规避单可用区库存不足的风险,提高扩容成功率。

      • 多可用区扩缩容策略
        策略名称 说明
        优先级策略 先选择的交换机优先级高。当伸缩组无法在优先级较高的交换机所在可用区创建ECS实例时,会自动使用下一优先级的交换机创建ECS实例。
        均衡分布策略 在伸缩组关联多个交换机且交换机分布在两个以上可用区时生效,支持在交换机所在的可用区之间均衡分布ECS实例。如果由于库存不足等原因导致可用区之间ECS实例的数量不均衡,您可以执行再均衡分布操作来平衡ECS实例的分布情况,具体操作请参见ECS实例再均衡分布
        成本优化策略 在伸缩配置中指定了多个可选实例规格时生效,按vCPU单价从低到高尝试创建ECS实例。

        如果伸缩配置中计费方式选择抢占式实例,优先创建抢占式实例。由于库存等原因无法创建各实例规格的抢占式实例时,再自动尝试创建按量付费实例。

        如果您选择成本优化策略,还可以设置以下参数启用混合实例功能:
        混合实例选项 说明
        组内最小按量实例数 伸缩组所需按量付费ECS实例的最小台数,默认为0台。如果伸缩组内的按量付费ECS实例的台数小于该值,将优先创建按量付费实例。
        按量实例所占比例 自动创建ECS实例时按量付费实例所占的比例,默认为70%。计算该值时,不包括组内最小按量实例数对应的台数。
        最低价的多个实例规格 价格最低的实例规格的个数,默认为1个。在伸缩配置中指定了多个可选实例规格时生效。创建抢占式实例时,弹性伸缩会在价格最低的几个实例规格之间均衡创建ECS实例。
        是否开启抢占式实例补偿 开启抢占式实例补偿后,在抢占式实例被回收前5分钟,弹性伸缩会主动创建新的抢占式实例,并替换掉将被回收的抢占式实例。
      • 实例回收模式
        模式名称 说明
        释放模式 在弹性收缩时自动释放合适数量的ECS实例,在弹性扩张时创建新的ECS实例加入伸缩组。
        停机回收模式 使用停机回收模式可以提高扩缩容的效率。
        在弹性收缩时,自动创建的ECS实例将进入停机不收费状态。ECS处于停机不收费状态时,vCPU、内存和固定公网IP被回收,因此vCPU、内存和固定公网带宽不再收费,但是云盘、弹性公网IP等资源仍然保留并收费,更多信息请参见按量付费实例停机不收费。这些处于停机不收费状态ECS实例形成了停机实例池。
        说明 如果ECS实例进入停机不收费状态前有固定公网IP,重新启动时会重新分配一个固定公网IP,但可能发生变化。

        在弹性扩张时,停机实例池内的ECS实例会优先进入运行中状态,在停机实例池内ECS实例数量不足以满足需求时,会继续自动创建新的ECS实例。

        弹性扩张时,停机实例池内ECS实例不能保证成功进入运行中状态。如果由于库存等原因,处于停机不收费状态的ECS实例不能进入运行中状态,弹性伸缩会释放这些ECS实例并创建新的ECS实例,保证弹性扩张的结果达到预期。

    3. 可选:添加已有实例。
      如果同时设置期望实例数并添加已有实例,期望实例数会自动增加。例如,创建伸缩组时设置期望实例数为1,并添加2台已有实例,伸缩组创建完成后,2台已有实例添加至伸缩组,然后期望实例数变为3。
      您可以将已有实例的生命周期托管给伸缩组。
      • 如果选中将实例的生命周期托管给伸缩组复选框,添加的已有实例因处于不健康状态等原因被自动移出伸缩组,或者被手动移出伸缩组时,会被自动释放。
      • 如果清除将实例的生命周期托管给伸缩组复选框,添加的已有实例移出伸缩组时,不会被自动释放。
      说明 伸缩配置来源类型为从0开始创建时不支持配置此项。
  6. 完成高级配置。
    一个伸缩组支持关联的负载均衡实例和RDS实例数量有限,更多信息请参见使用限制
    1. 关联负载均衡实例。
      关联负载均衡实例后,加入伸缩组的ECS实例会自动添加为负载均衡实例的后端服务器。您可以指定ECS实例需要加入的服务器组,支持以下两种服务器组:
      服务器组类型 端口 权重 说明
      默认服务器组 为负载均衡实例配置监听时填写。 默认为50,您也可以在伸缩配置中填写其它权重值。 用来接收前端请求的ECS实例,如果监听没有设置虚拟服务器组或主备服务器组,默认将请求转发至默认服务器组中的ECS实例。
      虚拟服务器组 选择虚拟服务器组时填写。 默认为50,您也可以在选择虚拟服务器组时填写其它权重值。 当您需要将不同的请求转发到不同的后端服务器上时,或需要通过域名和URL进行请求转发时,可以选择使用虚拟服务器组。

      一个伸缩组支持指定多个虚拟服务器组,但是数量有限,更多信息请参见使用限制

      说明 如果您同时指定了默认服务器组和多个虚拟服务器组,ECS实例会同时添加至这些服务器组中。
    2. 关联RDS数据库实例。
      关联RDS实例后,加入伸缩组的ECS实例的内网IP会自动加入RDS实例的访问白名单,允许ECS实例和RDS实例内网通信。
  7. 单击创建伸缩组
  8. 创建伸缩组状态向导对话框,单击查看伸缩组列表
    新创建的伸缩组出现在伸缩组列表中,但伸缩组处于启用状态才可以将ECS实例添加至伸缩组。
    • 如果伸缩配置来源类型为从0开始创建,您需要创建一个伸缩配置或指定一个启动模板,然后再启用伸缩组。具体操作请参见创建伸缩配置启用伸缩组
    • 如果伸缩配置来源类型为选择实例启动模板选择已有实例,伸缩组创建完成后会自动进入启用状态。