- 停机回收模式的产生背景
首先介绍下默认的释放模式,该模式下伸缩规则在缩容时会释放所有ECS实例资源;在扩容时重新调配资源,创建新的ECS实例。这种模式在处理大规模的扩容时,由于库存不足或者资源创建缓慢等原因,不能快速的完成扩容。
在大量创建ECS实例时,云盘资源容易出现资源争抢导致资源创建缓慢,而云盘资源本身的费用很低,例如20GB高效云盘,存储费用每小时几分钱。停机回收模式就是基于云盘资源的这种特性,通过改变释放和创建资源的方式,大幅提高扩缩容的时间效率。
- 停机回收模式的实现方式
ECS实例的资源大体可由计算资源、网络资源、存储资源组成。停机回收模式在缩容实例时,只是释放计算资源和网络资源而保留存储资源;在扩容时,只需要重新获取计算资源和网络资源。如图所示:
在停机回收模式下,当触发缩容规则时,自动创建的ECS实例将进入停止状态,此状态下实例的CPU和内存不收费,云盘(包括系统盘、数据盘)、弹性公网IP和带宽仍旧收费,公网IP将被回收待启动时重新分配(弹性公网IP仍旧保留)。这些停机的实例形成了停机实例池。
触发扩容规则时,停机实例池内的实例会优先变为运行状态,如果停机实例池数量不足则会新启动实例。
停机实例池的数量和服务中实例总和不会超过伸缩组的最大实例数,如果用户修改减少了伸缩组的最大实例数,会优先释放停机实例池的实例。
伸缩组仍会保证服务中的实例的最小数量等于伸缩组的最小实例数,如果用户修改增加了伸缩组的最小实例数,会优先启动停机实例池的实例。、
- 停机回收模式的性能
在停机回收模式下弹100个实例的性能做了简单的对比,同一个实例规格同一个region下面,对比全新创建100个实例整体流程执行时间,停机回收模式下启动100个实例走完流程的时间,速度提升非常明显,实例数量越多效果越显著。
- 停机回收模式的开启和界面说明
- 在创建伸缩组时,选择专有网络,配置好专有网络后,即可以在回收模式中选择,如下图。
- 当伸缩组有停止的实例时,可以通过ECS实例列表查看“停用中”的实例数量。
- 可以通过状态过滤查看停用中的实例。
- 点击实例ID可以跳转到ECS实例详情页面,在底部的付费信息里可以查看停止模式。
- 停机回收模式的注意事项
1. 只有VPC实例的伸缩组才能开启这个模式。
2. 在停机回收模式的伸缩组中,非弹性伸缩触发进入停止状态的实例,包括不限于用户主动停机、ecs实例异常等,会被认为是非健康实例,健康检查任务会释放这些实例。
3. 所有本地盘实例,包括但不限于d1、d1ne、ga1、gn5、i1和i2,不支持此模式。
4. 扩容时,停机实例池的实例不能保证成功进入运行状态。如果由于库存等其他原因,停止的实例不能正常进入运行状态,该实例会被释放,并重新创建实例,保证伸缩规则的执行结果达到预期。
5. 伸缩组设置为停机回收模式后,暂不支持修改。