本章节介绍伸缩组内ECS实例的生命周期管理方式,并列出可能的服务状态。弹性伸缩管理ECS实例的生命周期时,会检查ECS实例是否健康,并及时移出甚至释放不健康的ECS实例。

伸缩组内ECS实例的生命周期管理方式

根据ECS实例加入伸缩组的方式,ECS实例可以分为自动创建的ECS实例和手动创建的ECS实例,对应的生命周期管理方式如下表所示。
ECS实例类型 加入方式 生命周期管理方式
自动创建的ECS实例 根据伸缩组的实例配置信息来源自动创建的ECS实例。 弹性伸缩管理ECS实例的全生命周期,弹性扩张时负责创建ECS实例,弹性收缩时负责停止和释放ECS实例。
手动创建的ECS实例 由您手动创建,然后手动添加至伸缩组的ECS实例。 由是否将ECS实例的生命周期托管给伸缩组决定:
  • 已托管给伸缩组:弹性收缩时负责停止和释放ECS实例。
  • 未托管给伸缩组:弹性收缩时负责将ECS实例移出伸缩组,但不会释放ECS实例。

伸缩组内ECS实例的服务状态

从加入伸缩组到移出伸缩组,一台ECS实例可能的服务状态如下表所示。
服务状态 说明
加入中(Pending) ECS实例正在加入伸缩组,包括加入负载均衡实例的后端服务器、RDS实例的访问白名单等过程。
加入挂起中(Pending:Wait) 如果伸缩组内创建了适用于弹性扩张活动的生命周期挂钩,ECS实例在加入伸缩组时被挂起并等待挂钩超时时间结束。
服务中(InService) ECS实例已成功加入伸缩组并正常提供服务。
备用中(Standby) ECS实例不提供服务,负载均衡权重被置为零,且弹性伸缩不管理ECS实例的生命周期,而是由您手动管理。
保护中(Protected) ECS实例正常提供服务,但弹性伸缩不管理ECS实例的生命周期,而是由您手动管理。
停用中(Stopped) ECS实例已停机,不提供服务。
移出中(Removing) ECS实例正在移出伸缩组,包括移出负载均衡实例的后端服务器、RDS实例的访问白名单等过程。
移出挂起中(Removing:Wait) 如果伸缩组内创建了适用于弹性收缩活动的生命周期挂钩,ECS实例在移出伸缩组时被挂起并等待挂钩超时时间结束。

伸缩组内ECS实例的健康检查

弹性伸缩管理伸缩组内ECS实例的生命周期时,会定期检查ECS实例的运行状态,如果发现一台ECS实例未处于运行中状态,则判定该ECS实例不健康。
说明 ECS实例的运行状态是ECS实例从创建开始到释放结束的可能状态,并非ECS实例在伸缩组内的服务状态,详情请参见实例生命周期介绍
弹性伸缩会移出伸缩组中不健康的ECS实例,具体动作如下:
  • 如果ECS实例由弹性伸缩自动创建,或者由您手动添加至伸缩组但生命周期已托管给伸缩组,弹性伸缩会移出并释放ECS实例。
  • 如果ECS实例由您手动添加至伸缩组且生命周期未托管给伸缩组,弹性伸缩会从伸缩组移出ECS实例,但不会释放该ECS实例。
移出不健康的ECS实例时不受最小实例数的限制,可能导致组内实例数低于最小实例数。此时弹性伸缩会自动创建对应数量的ECS实例,使得组内实例数等于最小实例数。
警告 请确保账号可用额度充足。如果账号欠费,所有后付费的ECS实例(包括按量付费实例和抢占式实例)都会停机,甚至被释放。欠费后伸缩组内ECS实例状态变化,请参见欠费说明