更新时间:2025-12-29 GMT+08:00
分享

伸缩组的伸缩活动

当伸缩组需要添加/移除伸缩实例,或修改伸缩组关联的负载均衡器时,伸缩组会启动对应的操作流程,该流程被称为伸缩活动。

启动伸缩活动

满足以下条件时,系统会自动启动伸缩活动,停用伸缩组不会中断正在进行中的伸缩活动。

启动条件

活动类型

满足方式

说明

  • 伸缩组状态为“启用”
  • 期望实例数大于当前实例数

扩容活动

  • 手动修改期望实例数
  • 伸缩策略执行

-

  • 伸缩组状态为“启用”
  • 期望实例数小于当前实例数

缩容活动

  • 手动修改期望实例数
  • 伸缩策略执行

-

  • 伸缩组状态为“启用”
  • 手动移入伸缩实例

扩容活动

手动移入伸缩实例

手动移入或移除实例的指令下发成功后,伸缩组会自动增加或减少期望实例数,您无需再次手动修改伸缩组的期望实例数。

手动移除伸缩实例

缩容活动

手动移除伸缩实例

  • 伸缩组状态为“启用”
  • 健康检查失败

缩容活动

将云服务器关机,删除等操作

使用弹性负载均衡健康检查场景:关闭负载均衡器后端节点的端口等操作

健康检查失败导致的缩容活动不会修改期望实例数

  • 伸缩组状态为“启用”
  • 修改伸缩组关联的负载均衡器

ELB迁移

手动修改伸缩组关联的负载均衡器

修改伸缩组关联的负载均衡器指令下发成功后,伸缩组详细信息中依然显示修改前的负载均衡器信息, ELB迁移活动成功后,伸缩组的负载均衡器信息会自动更新。

缩容活动的云服务器删除规则

缩容活动移除实例的同时,会根据云服务器的类型、添加方式和计费方式决定是否同步删除云服务器。

表1 云服务器删除规则

云服务器类型

添加方式

计费方式

是否删除

自动添加的云服务器

伸缩组通过扩容活动自动创建。

按需/竞价计费

包年包月

此场景为自动添加按需计费云服务器后,您手动将云服务器计费方式修改为包年包月。

手动添加的云服务器

您手动创建的云服务器,并手动移入伸缩组。

按需/竞价/包年包月计费

伸缩活动状态

伸缩活动的三种状态如下:

状态

说明

正在进行

伸缩活动启动后的默认状态

失败

对于扩缩容活动,若存在任意数量的伸缩实例添加或移除失败,则伸缩活动整体状态为“失败”。

例如:某伸缩活动需要添加5个实例,实际成功添加4个,1个实例因资源不足原因添加失败,则伸缩活动状态为失败。

对于ELB迁移活动,任意数量实例重新绑定负载均衡器失败,则伸缩活动整体状态为“失败”。

成功

对于扩缩容活动,所有伸缩实例添加或移除成功,则伸缩活动整体状态为“成功。

对于ELB迁移活动,所有伸缩实例重新绑定负载均衡器成功,则伸缩活动整体状态为“成功。

  • 伸缩活动失败后,已经添加成功的实例会继续保留在伸缩组中,并同时增加伸缩组的当前实例数
  • 某些异常场景下,伸缩活动一定会失败,此时伸缩组会进入“异常”状态,如伸缩配置使用的keypair已经被删除,伸缩组使用的子网不存在等场景。

伸缩活动的自动重试

当伸缩活动失败后,若当前实例数依然不等于期望实例数,则经过一段间隔时间后,伸缩组还会开始新的伸缩活动。

若伸缩活动连续失败,则重新开始伸缩活动的间隔时间逐渐延长,最短为10s,最长为20分钟。

  • 间隔时间为参考值,实际间隔时间会根据系统运行情况产生微小差异。
  • ELB迁移失败不会重试,您需要重新下发修改伸缩组负载均衡器的指令。
  • 伸缩组“异常”状态下,伸缩活动失败后无法重试。

扩容活动的多可用区及规格重试策略

在一次扩容活动内部,若您的伸缩组配置了多个可用区,则扩容活动会尝试在所有可用区创建云服务器,直到扩容成功或在全部可用区下创建失败。可用区的选择优先级由伸缩组的 “多可用区扩展策略”参数决定。

若您的伸缩配置使用了多个云服务器规格,则扩容活动会尝试使用所有规格创建云服务器,直到扩容成功或使用全部规格创建失败。规格的选择优先级由伸缩配置的“多规格使用优先策略”参数决定。

伸缩活动会记录每一次创建过程,您可通过查询伸缩活动历史获取记录列表。

缩容活动的实例移除顺序

当您的伸缩组自动移除实例时,如果伸缩组内存在不属于当前配置的可用区的实例,会优先移除这些实例。其次,再按照配置的实例移除策略移除实例。

弹性伸缩目前支持的实例移除策略,包括如下四种方式:

  • 较早创建的实例:创建时间较早的实例优先被移除伸缩组。当您将伸缩组中的实例升级为新的实例类型,可以逐渐将较旧类型的实例替换为较新类型的实例时,此策略非常有用。
  • 较晚创建的实例:创建时间较晚的实例优先被移除伸缩组。如果要测试新的伸缩配置但不想在生产中保留它时,此策略非常有用。
  • 较早创建的配置中较早创建的实例:较早创建的配置中较早创建的“实例”优先被移除伸缩组。如果要更新某个组并且逐步淘汰先前配置中的实例时,此策略非常有用。
  • 较早创建的配置中较晚创建的实例:较早创建的配置中较晚创建的“实例”优先被移除伸缩组。这个场景也需要描述一下,和前面保持一致。

手动移入伸缩组的云服务器不会遵循“实例移除策略”的要求,且实例移除优先级最低,移除时,系统不会删除该云服务器。当有多个手动加入伸缩组的云服务器移出时,先移入的云服务器会被优先移除。

查询伸缩活动历史

  1. 登录AS控制台
  2. 进入伸缩实例页面,单击具体的伸缩组名称。
  3. 切换到“活动历史”页签。该页签展示进行伸缩活动的历史记录

    该页签记录了伸缩活动的ID、状态、活动类型、描述、开始时间和结束时间信息。单击具体的伸缩活动ID前的按钮,可以查看资源名称、状态和失败原因信息。您也可以使用页签右上角的过滤功能,查看指定时间段内的伸缩活动。

相关文档