伸缩组的伸缩活动
当伸缩组需要添加/移除伸缩实例,或修改伸缩组关联的负载均衡器时,伸缩组会启动对应的操作流程,该流程被称为伸缩活动。
启动伸缩活动
满足以下条件时,系统会自动启动伸缩活动,停用伸缩组不会中断正在进行中的伸缩活动。
|
启动条件 |
活动类型 |
满足方式 |
说明 |
|---|---|---|---|
|
扩容活动 |
|
- |
|
缩容活动 |
|
- |
|
扩容活动 |
手动移入伸缩实例 |
手动移入或移除实例的指令下发成功后,伸缩组会自动增加或减少期望实例数,您无需再次手动修改伸缩组的期望实例数。 |
|
手动移除伸缩实例 |
缩容活动 |
手动移除伸缩实例 |
|
|
缩容活动 |
将云服务器关机,删除等操作 使用弹性负载均衡健康检查场景:关闭负载均衡器后端节点的端口等操作 |
健康检查失败导致的缩容活动不会修改期望实例数 |
|
ELB迁移 |
手动修改伸缩组关联的负载均衡器 |
修改伸缩组关联的负载均衡器指令下发成功后,伸缩组详细信息中依然显示修改前的负载均衡器信息, ELB迁移活动成功后,伸缩组的负载均衡器信息会自动更新。 |
缩容活动的云服务器删除规则
缩容活动移除实例的同时,会根据云服务器的类型、添加方式和计费方式决定是否同步删除云服务器。
|
云服务器类型 |
添加方式 |
计费方式 |
是否删除 |
|---|---|---|---|
|
自动添加的云服务器 |
伸缩组通过扩容活动自动创建。 |
按需/竞价计费 |
是 |
|
包年包月 此场景为自动添加按需计费云服务器后,您手动将云服务器计费方式修改为包年包月。 |
否 |
||
|
手动添加的云服务器 |
您手动创建的云服务器,并手动移入伸缩组。 |
按需/竞价/包年包月计费 |
否 |
伸缩活动状态
伸缩活动的三种状态如下:
|
状态 |
说明 |
|---|---|
|
正在进行 |
伸缩活动启动后的默认状态 |
|
失败 |
对于扩缩容活动,若存在任意数量的伸缩实例添加或移除失败,则伸缩活动整体状态为“失败”。 例如:某伸缩活动需要添加5个实例,实际成功添加4个,1个实例因资源不足原因添加失败,则伸缩活动状态为失败。 对于ELB迁移活动,任意数量实例重新绑定负载均衡器失败,则伸缩活动整体状态为“失败”。 |
|
成功 |
对于扩缩容活动,所有伸缩实例添加或移除成功,则伸缩活动整体状态为“成功。 对于ELB迁移活动,所有伸缩实例重新绑定负载均衡器成功,则伸缩活动整体状态为“成功。 |
- 伸缩活动失败后,已经添加成功的实例会继续保留在伸缩组中,并同时增加伸缩组的当前实例数
- 某些异常场景下,伸缩活动一定会失败,此时伸缩组会进入“异常”状态,如伸缩配置使用的keypair已经被删除,伸缩组使用的子网不存在等场景。
伸缩活动的自动重试
当伸缩活动失败后,若当前实例数依然不等于期望实例数,则经过一段间隔时间后,伸缩组还会开始新的伸缩活动。
若伸缩活动连续失败,则重新开始伸缩活动的间隔时间逐渐延长,最短为10s,最长为20分钟。
- 间隔时间为参考值,实际间隔时间会根据系统运行情况产生微小差异。
- ELB迁移失败不会重试,您需要重新下发修改伸缩组负载均衡器的指令。
- 伸缩组“异常”状态下,伸缩活动失败后无法重试。
扩容活动的多可用区及规格重试策略
在一次扩容活动内部,若您的伸缩组配置了多个可用区,则扩容活动会尝试在所有可用区创建云服务器,直到扩容成功或在全部可用区下创建失败。可用区的选择优先级由伸缩组的 “多可用区扩展策略”参数决定。
若您的伸缩配置使用了多个云服务器规格,则扩容活动会尝试使用所有规格创建云服务器,直到扩容成功或使用全部规格创建失败。规格的选择优先级由伸缩配置的“多规格使用优先策略”参数决定。
伸缩活动会记录每一次创建过程,您可通过查询伸缩活动历史获取记录列表。
缩容活动的实例移除顺序
当您的伸缩组自动移除实例时,如果伸缩组内存在不属于当前配置的可用区的实例,会优先移除这些实例。其次,再按照配置的实例移除策略移除实例。
弹性伸缩目前支持的实例移除策略,包括如下四种方式:
- 较早创建的实例:创建时间较早的实例优先被移除伸缩组。当您将伸缩组中的实例升级为新的实例类型,可以逐渐将较旧类型的实例替换为较新类型的实例时,此策略非常有用。
- 较晚创建的实例:创建时间较晚的实例优先被移除伸缩组。如果要测试新的伸缩配置但不想在生产中保留它时,此策略非常有用。
- 较早创建的配置中较早创建的实例:较早创建的配置中较早创建的“实例”优先被移除伸缩组。如果要更新某个组并且逐步淘汰先前配置中的实例时,此策略非常有用。
- 较早创建的配置中较晚创建的实例:较早创建的配置中较晚创建的“实例”优先被移除伸缩组。这个场景也需要描述一下,和前面保持一致。
手动移入伸缩组的云服务器不会遵循“实例移除策略”的要求,且实例移除优先级最低,移除时,系统不会删除该云服务器。当有多个手动加入伸缩组的云服务器移出时,先移入的云服务器会被优先移除。
查询伸缩活动历史
- 登录AS控制台。
- 进入伸缩实例页面,单击具体的伸缩组名称。
- 切换到“活动历史”页签。该页签展示进行伸缩活动的历史记录
该页签记录了伸缩活动的ID、状态、活动类型、描述、开始时间和结束时间信息。单击具体的伸缩活动ID前的
按钮,可以查看资源名称、状态和失败原因信息。您也可以使用页签右上角的过滤功能,查看指定时间段内的伸缩活动。