背景
原弹性伸缩ESS服务限定,由伸缩组弹出的ECS机器的生命周期完全由伸缩组管理,而伸缩组会时刻对机器做健康检查,如果检测到伸缩组下的机器为不健康状态,便会释放该机器。所以弹性伸缩ESS新支持了standby状态,处于此状态的机器不会进行健康检查以及释放操作,而且如果对应伸缩组配置了负载均衡SLB,则该standby实例的slb权重会置零。此时,该实例的生命周期交由用户管理,而非弹性伸缩ESS。
功能特性
- 将实例转为备用状态,实例保持此状态,直至手动退出备用状态。(如果伸缩组设置了负载均衡,则把负载均衡对应的实例权重设置为0)
- 将实例移出备用状态,实例将恢复运行状态。 (如果伸缩组设置了负载均衡,则会将权重重新设置回伸缩配置定义的权重值)
- 当实例处于备用状态的时候,如果用户手动执行
移出伸缩组并释放
,可以正常执行。 - 当实例处于备用状态的时候,由于伸缩组数量的变化或监控任务触发的自动缩容的伸缩活动不会移除处于备用状态的实例。
- 当实例处于备用状态的时候,实例如果出现非健康状态(停止、重启等),实例的健康检查状态不会被更新,只有实例退出备用状态时候才会重新更新健康检查状态。
- 当伸缩组被删除的时候,如果存在备用状态的实例,所有备用状态的实例会被重置为服务中,然后进行删除操作。
用户痛点
针对伸缩组内管理的ECS实例,用户无法控制其生命周期。而伸缩组对实例的非健康状态的释放操作,也阻碍了用户对伸缩出来的ECS实例进行停机相关的操作,使得用户无法充分利用ECS服务提供的弹性能力。
目前的按量ECS有如下操作涉及到停止实例:
- 更改实例规格(升降配)
- 重启
- 更换系统盘
- 初始化磁盘
- 经典网络实例迁移专有网络
适用场景
- 需要对弹性伸缩弹出的ECS实例进行更改规格,重启等变更操作的场景,用户通过将目标ECS实例置为standby,目标ECS实例的生命周期会交由用户管理,用户可进行ECS服务所支持的全部弹性操作,操作完成后,在通过移出standby状态,交还ECS实例的生命周期。
- 用户通过伸缩组配置负载均衡的方式来管理业务机器,当伸缩组中的某台实例出现业务问题,用户可以通过standby操作对这台实例的原有流量分流,进行一系列离线排查验证(登陆机器,排查,重启等)操作后,在确认该机器已经ready后,在移出standby状态,重新处理业务流量
控制台操作步骤
- 【弹性伸缩ESS控制台】-> 【伸缩组】->【ECS实例列表】
- 选择想要进行相关停机操作的实例,然后转为备用状态
实例上单独操作:
实例列表的批量操作:
- 成功将实例置为standby状态后,用户就可以随意控制这些实例的生命周期,而不会被弹性伸缩释放
- 当用户操作完毕后,需要将standby状态下的实例重新交还给弹性伸缩ESS管理,此时需要对实例进行移除standby操作
实例上单独操作:
实例列表的批量操作:
小结
弹性伸缩ESS服务通过对ECS实例新增standby状态,将伸缩实例的生命周期控制权交给用户,方便用户对实例进行相关停机操作,极大的丰富了用户在伸缩组内对实例的弹性能力,以适用各种业务场景。