文档

伸缩组概述

伸缩组是弹性伸缩的核心单元,用来管理一组具有相同应用场景和相同实例类型的实例。如果您有多个应用场景,您可以创建多个伸缩组,弹性伸缩会按照您的配置分别为每个伸缩组调整实例数量,以满足业务需求。

不同伸缩组支持的功能对比

当伸缩组类型为ECS时,弹性伸缩为该伸缩组扩缩容ECS实例。当伸缩组类型为ECI时,弹性伸缩为该伸缩组扩缩容ECI实例。不同伸缩组类型支持的功能有所区别,功能支持情况如下表所示。

说明

ECS类型伸缩组支持手动添加或移出托管实例,但不会管理托管实例的生命周期,移出后的托管实例并不会被释放。更多信息,请参见手动添加托管实例

功能类别

功能

ECS

ECI

控制台文档

API文档

伸缩组

基础配置

支持

支持

配置伸缩组

CreateScalingGroup

伸缩组删除保护

支持

支持

SetGroupDeletionProtection - 为伸缩组开启或关闭删除保护

健康检查

支持

支持

伸缩组内实例的健康检查

关联负载均衡

支持

支持

为伸缩组添加和移出负载均衡实例

关联RDS

支持

支持

为伸缩组添加和移除RDS实例

实例配置来源

启动模板

支持

不支持

实例启动模板概述

CreateLaunchTemplate

伸缩配置

支持

支持

更新镜像任务

支持

不支持

实例列表

自动创建实例

支持

支持

手动添加实例

支持

支持

手动添加ECS实例或ECI实例

AttachInstances

托管实例

支持

不支持

手动添加托管实例

AttachInstances - 为伸缩组手动添加实例

监控

支持

支持

伸缩规则与报警任务

伸缩规则

支持

支持

配置伸缩规则

CreateScalingRule

定时任务

支持

支持

配置定时任务

CreateScheduledTask

报警任务

支持

支持

配置报警任务

CreateAlarm

伸缩活动

支持

支持

伸缩活动概述

生命周期挂钩

支持

支持

配置生命周期挂钩

CreateLifecycleHook

消息通知

支持

支持

配置事件通知

CreateNotificationConfiguration

滚动升级

支持

支持

滚动升级

健康诊断

支持

支持

健康诊断

伸缩组状态

弹性伸缩的伸缩组状态如下所示:

状态

API对应的状态

说明

控制台文档

API文档

创建中/已创建

Inactive

  • 创建伸缩组但未完成创建操作,此时伸缩组处于创建中状态。

  • 已成功创建伸缩组,但伸缩组未显示在伸缩组列表中,此时伸缩组处于已创建状态。

启用中

Inactive

将处于停用状态的伸缩组重新启用,此时伸缩组处于启用中状态。

启用伸缩组

EnableScalingGroup

运行中

Active

伸缩组启动成功后,您可以对其进行相应修改,此时伸缩组处于运行中状态。

停用中/已停用

Inactive

  • 新创建成功的伸缩组刚出现在伸缩组列表中时,此时伸缩组处于停用中状态。

  • 将处于启用状态的伸缩组重新停用后,此时伸缩组处于停用状态。

停用伸缩组

DisableScalingGroup

删除中

Deleting

删除伸缩组列表中不再需要的伸缩组,此时伸缩组处于删除中状态。

删除伸缩组

DeleteScalingGroup

组内实例配置信息来源

在创建伸缩组时,您需要为伸缩组选择组内实例配置信息来源。包括启动模板选择已有实例(默认已创建一条伸缩配置)以及从零开始创建(后续手动创建伸缩配置)三种方式,区别如下所示:

方式

适用范围

区别

启动模板

只适用于伸缩组类型为ECS的伸缩组,伸缩组类型为ECI的伸缩组暂不支持该配置方式。

  • 创建伸缩组后可直接启用伸缩组。

  • 可通过调整对应启动模板的默认模板/最新版本,来调整伸缩组伸缩实例的配置,但启动模板不支持配置多种实例规格。

    说明

    所选启动模板的付费模式为包年包月,弹性伸缩会自动转换为按量付费的模式。

选择已有实例

适用于伸缩组类型为ECS和ECI的伸缩组。

  • 创建伸缩组后可直接启用伸缩组。

  • 伸缩组使用选择的已有实例的配置信息(包括所在地域和可用区、镜像、磁盘、网络配置、安全组等),默认创建一个伸缩配置作为伸缩组创建ECS实例或ECI实例的模板。

  • 伸缩配置的镜像来源于已有实例使用的基础镜像(即已有实例创建时使用的镜像),而不是来源于已有实例上新生成的镜像数据。

从零开始创建

适用于伸缩组类型为ECS和ECI的伸缩组。

创建伸缩组后,您还需要继续创建伸缩配置或启动模板作为伸缩组创建ECS实例或ECI实例的模板才能开始使用。

伸缩组内只能有一项生效的组内实例配置信息来源。例如,启用一条新的伸缩配置后,当前生效的实例启动模板或伸缩配置会失效。更多信息,请参见实例配置来源概述

伸缩规则和伸缩活动

伸缩组创建成功过后,您需要设置伸缩规则来实现手动或自动伸缩ECS实例或者ECI实例资源。

伸缩规则

通过设置伸缩规则,您可以触发伸缩组的伸缩活动或者智能设置伸缩组边界值。更多信息,请参见伸缩规则概述

  • 功能:在计算和执行过程中,伸缩规则可以根据伸缩组的最小实例数、最大实例数或者期望实例数自动调整可以增加或减少的ECS实例数或ECI实例数。例如:

    伸缩规则中指定将伸缩组的ECS实例数调整至50台,但伸缩组最大实例数只支持45台,则整个伸缩规则会按调整至45台来计算和执行。

    说明

    关于期望实例数的更多信息,请参见期望实例数

  • 执行方式:您可以通过以下几种方式执行伸缩规则。

伸缩活动

在执行伸缩规则、手动添加或移出已有ECS实例或ECI实例时,均会触发伸缩活动实现扩张或收缩操作。更多信息,请参见伸缩活动概述

  • 特点

    • 伸缩活动不可以中断。例如,伸缩组创建20台ECS实例的伸缩活动正在执行中,当创建到第5台ECS实例时,您无法强行终止该伸缩活动。

    • 伸缩活动有ECS实例加入伸缩组失败时,需要保持ECS实例级事务的完整性,而非伸缩活动级事务的完整性,即只进行ECS实例级回滚,而不是伸缩活动级回滚。例如,当伸缩组创建了20台ECS实例,但只有19台ECS实例成功加入负载均衡时,则只对不成功的1台ECS实例进行自动释放操作。

    • 由于弹性伸缩是借助阿里云的RAM(Resource Access Management)服务,通过ECS OpenAPI弹性创建ECS实例,所以回滚的ECS实例在被释放前仍然会被扣费。

    • 伸缩活动存在冷却时间,在该冷却时间内,伸缩组只会拒绝云监控报警任务类型的伸缩活动请求,其他类型的触发任务(例如手动执行伸缩规则、定时任务等)可以绕过冷却时间立即执行伸缩活动。

      说明

      每个伸缩活动的最后一个ECS实例或ECI实例成功加入或移出伸缩组后,整个伸缩组的冷却时间才开始计时。关于冷却时间的更多信息,请参见冷却时间

  • 注意事项

    伸缩组关联负载均衡或关联RDS后,伸缩组触发扩缩容活动时,您需要注意以下事项:

    场景描述

    事项说明

    伸缩组已关联负载均衡或负载均衡服务器组。

    • 如果负载均衡或负载均衡服务器组被删除(不存在),则伸缩组扩缩容时会显示扩缩容失败。

    • 弹性伸缩会定期扫描伸缩组是否存在关联的负载均衡或负载均衡服务器,如果检测负载均衡或负载均衡服务器组被删除(不存在),则系统会自动解绑伸缩组与该负载均衡或负载均衡服务器组(不存在)的关联关系。

      重要

      系统自动解绑与负载均衡(不存在)或负载均衡服务器组(不存在)的关联关系后,伸缩组再次扩缩容时,不会出现因该已解绑的负载均衡或该已解绑的负载均衡服务器组而导致扩缩容失败的情况。

    伸缩组已关联RDS实例。

    • 如果RDS实例被删除(不存在),则伸缩组扩缩容时会显示扩缩容失败。

    • 弹性伸缩会定期扫描伸缩组是否存在关联的RDS实例,如果检测RDS实例被删除(不存在),则系统会自动解绑伸缩组与该RDS实例(不存在)的关联关系。

      重要

      系统自动解绑与RDS实例(不存在)的关联关系后,伸缩组再次扩缩容时,不会出现因该已解绑的RDS实例而导致扩缩容失败的情况。

  • 本页导读 (1)
文档反馈