
# 伸缩组内实例概述
伸缩组管理的云服务器称为伸缩实例。每一个伸缩实例映射到唯一一个云服务器，并具备伸缩组赋予的其他属性。若您对云服务器本身做出修改，伸缩实例的数据不会改变。
#### 伸缩实例支持的能力
| 支持能力     | 说明                                     |
|:---|:---|
| 手动添加伸缩实例 | 您可以手动将伸缩组外的云服务器移入伸缩组。手动移入的云服务器不限制计费模式。 |
| 手动移除伸缩实例 | 您可以手动指定组内的实例，将其移除。                     |
| 实例保护     | 您可以手动指定组内的实例，使其进入或退出保护状态。              |
| 实例备用     | 您可以手动指定组内的实例，使其进入或退出备用状态。              |
   
#### 伸缩实例健康状态
| 状态  | API中的状态      | 说明                   |
|:---|:---|:---|
| 初始化 | INITIALIZING | 伸缩实例正在加入时，健康状态为"初始化" |
| 正常  | NORMAL       | 伸缩实例加入成功后，默认处于"正常"状态 |
| 异常  | ERROR        | 由健康检查机制自动修改          |
   
#### 伸缩组的实例数量
伸缩组的实例数量属性包含期望实例数，当前实例数，最大实例数，最小实例数，说明如下：
| 属性    | 说明                                                                                                               |
|:---|:---|
| 当前实例数 | 伸缩组内实际包含的实例数量。无法通过手动修改伸缩组参数和伸缩策略执行改变当前实例数。                                                                       |
| 期望实例数 | 伸缩组内实例数量的目标值。伸缩组的当前实例数与期望实例数不同时，伸缩组会开启扩缩容活动，使组内实例数量达到期望值。 可通过手动修改伸缩组参数和伸缩策略执行改变期望实例数。 |
| 最大实例数 | 期望实例数可达到的最大值。                                                                                                    |
| 最小实例数 | 期望实例数可达到的最小值。                                                                                                    |
   
期望实例数的大小介于最小实例数和最大实例数之间。您可以手动调整伸缩组的期望实例数，也可以通过系统自动触发方式（例如：定时/周期/告警策略）来调整期望实例数。期望实例数量变化的示例场景如下所示：
| 场景            | 执行过程                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 | 结果                                                                |
|:---|:---|:---|
| 手动修改伸缩组的期望实例数 | **扩容活动：** 假设伸缩组当前实例数为1，期望实例数为1，业务高峰时需要增加1台实例数。手动修改步骤如下： 1. 登录[AS控制台](https://console.huaweicloud.com/ecm/?#/as/manager/groupConfigInfo/groupList)。  2. 在目标伸缩组所在行的"操作"列下，单击"更多 \> 修改"。  3. 在弹出的"修改伸缩组"对话框中，修改期望实例数为2。  4. 修改完成后单击"确定"。   | 伸缩组的期望实例数被手动修改为2，伸缩组开启扩容活动，添加一个实例。扩容活动成功后，当前实例数自动修改为2，与期望实例数一致。   |
| 手动修改伸缩组的期望实例数 | **缩容活动：** 假设伸缩组当前实例数为2，期望实例数为2，业务低峰时需要减少1台实例数。手动修改步骤如下： 1. 登录[AS控制台](https://console.huaweicloud.com/ecm/?#/as/manager/groupConfigInfo/groupList)。  2. 在目标伸缩组所在行的"操作"列下，单击"更多 \> 修改"。  3. 在弹出的"修改伸缩组"对话框中，修改期望实例数为1。  4. 修改完成后单击"确定"。              | 伸缩组的期望实例数被手动修改为1，伸缩组开启缩容活动，移除一个实例。缩容活动成功后，当前实例数自动修改为1，与期望实例数一致。   |
| 系统自动修改期望实例数   | **扩容活动：** 假设伸缩组当前实例数为1，期望实例数为1，业务高峰时需要增加1台实例数。执行过程如下： 1. 为伸缩组[创建告警策略](https://support.huaweicloud.com/usermanual-as/as_03_0102.html#as_03_0102__section28492877113953)，设置告警策略的执行动作为增加1个实例。  2. 当满足伸缩条件时，系统自动修改期望实例数为2，从而触发扩容活动，伸缩活动自动向伸缩组内增加1个实例。  3. 扩容活动成功后，伸缩组当前实例数变为2，期望实例数变为2。                   | 伸缩组的期望实例数被系统自动修改为2，伸缩组开启扩容活动，添加一个实例。扩容活动成功后，当前实例数自动修改为2，与期望实例数一致。 |
| 系统自动修改期望实例数   | **缩容活动：** 假设伸缩组当前实例数为2，期望实例数为2，业务低峰时需要减少1台实例数。执行过程如下： 1. 为伸缩组[创建告警策略](https://support.huaweicloud.com/usermanual-as/as_03_0102.html#as_03_0102__section28492877113953)，设置告警策略的执行动作为减少1个实例。  2. 当满足伸缩条件时，系统自动修改期望实例数为1，从而触发缩容活动，伸缩活动自动移出伸缩组内1个实例。  3. 缩容活动成功后，伸缩组当前实例数变为1，期望实例数变为1。                   | 伸缩组的期望实例数被系统自动修改为1，伸缩组开启缩容活动，移除一个实例。缩容活动成功后，当前实例数自动修改为1，与期望实例数一致。 |
   
最小实例数只规定了期望实例数的最小值，但是当前实例数有可能小于最小实例数，此时伸缩组会开启新的扩容活动增加当前实例数。示例场景如下：
| 场景                                                  | 执行过程                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  | 结果                                                        |
|:---|:---|:---|
| 健康检查移除实例   | 假设伸缩组当前实例数为1，期望实例数为1，最小实例数为1 ，伸缩组内一个伸缩实例被关机，系统执行过程如下： 1. 伸缩实例被关机后，弹性伸缩健康检查检测到此实例状态异常，系统触发缩容活动。  2. 缩容活动成功后，会将异常实例从伸缩组移除，当前实例数减为0。  3. 由于当前实例数小于期望实例数，系统触发扩容活动。  4. 扩容活动成功后，会创建新的实例，当前实例数变为1。   | 弹性伸缩健康检查会将异常的实例从伸缩组中移除，伸缩组会重新创建新的实例，来维持伸缩组的当前实例数和期望实例数一致。 |
   
#### 伸缩实例生命周期状态
| 状态   | API中的状态       |
|:---|:---|
| 正在加入 | PENDING       |
| 正在移出 | REMOVING      |
| 加入挂起 | PENDING_WAIT  |
| 移出挂起 | REMOVING_WAIT |
   
伸缩实例的生命周期状态在伸缩活动中的变化如下所示
![](https://support.huaweicloud.com/usermanual-as/zh-cn_image_0000002532375201.png "点击放大")
若您使用了生命周期挂钩，则生命周期状态变化如下所示
![](https://support.huaweicloud.com/usermanual-as/zh-cn_image_0000002532215227.png "点击放大")
