伸缩活动的生命周期为:判断伸缩组的健康状态和边界条件 步骤与 启动 cooldown 步骤之间的所有活动。
伸缩组自动伸缩
自动扩展
判断伸缩组的健康状态和边界条件。
分配 ActivityId 和执行伸缩活动。
创建 ECS 实例。
修改 Total Capacity。
分配 IP。
添加 RDS 白名单。
启动 ECS 实例,等待启动完成。
挂载负载均衡,将权重设为创建伸缩配置时指定的 负载均衡权重。
伸缩活动完成,启动 cooldown。
自动收缩
判断伸缩组的健康状态和边界条件。
分配 ActivityId 和执行伸缩活动。
从负载均衡移除 ECS 实例。
停止 ECS 实例,等待停止完成。
从 RDS 白名单移除。
释放 ECS 实例。
修改 Total Capacity。
伸缩活动完成,启动 cooldown。
用户手工加入和移出既有的 ECS 实例
手工加入
判断伸缩组的健康状态、边界条件和 ECS 实例的状态、类型。
分配 ActivityId 和执行伸缩活动。
加入 ECS 实例。
修改 Total Capacity。
添加 RDS 白名单。
挂载负载均衡,将权重设为当前伸缩组中已激活的伸缩配置上指定的“负载均衡权重”。
注意:目前弹性伸缩要求手工加入实例时,实例的规格必须与伸缩组中已激活的伸缩配置上的规格相同,所以此处使用了伸缩配置上指定的“负载均衡权重”。
伸缩活动完成,启动 cooldown。
手工移出
判断伸缩组的健康状态和边界条件。
分配 ActivityId 和执行伸缩活动。
负载均衡停止向该 ECS 实例转发流量。
等待 60 秒后,从负载均衡移除 ECS 实例。
从 RDS 白名单移除。
修改 Total Capacity。
从伸缩组移出。
伸缩活动完成,启动 cooldown。