伸缩组是什么
伸缩组是云上自动调整实例数量的管理单元,它绑定启动模板(伸缩配置)、可用区与负载均衡后端,按定时任务、报警任务或动态策略触发扩容与缩容,并负责实例的健康检查与替换。它的价值是把「容量随负载变化」自动化,减少人工扩容的等待时间与长期闲置成本。
基本信息
| 组成 | 伸缩组 + 启动模板/伸缩配置 + 伸缩规则 |
|---|---|
| 触发方式 | 定时任务、报警任务(CPU/内存等)、动态策略 |
| 关联资源 | 负载均衡后端组、RDS 白名单、多可用区交换机 |
| 关键参数 | 最小/最大/期望实例数、冷却时间、健康检查类型 |
典型使用场景
- 多可用区配置:扩容时按策略分散到不同可用区,规避单可用区故障
- 关联负载均衡后端组与监听端口,新实例自动注册并接流量
- 健康检查类型与间隔要和业务就绪时间匹配,避免刚启动就被判不健康
- 实例回收策略与保护:对关键实例开启保护,避免被缩容回收
- 设置扩容重试与失败告警,避免静默失败导致容量不足
配置自检思路
配置自检思路
# 查看伸缩组:期望实例数、实际实例数、最大最小值
aliyun ess DescribeScalingGroups # 其他厂商有对应 OpenAPI
# 确认伸缩组绑定的启动模板版本是否为最新发布版本
# 检查冷却时间是否大于实例启动加就绪的总耗时
# 检查最大实例数上限是否被账号配额卡住
# 检查受保护实例数量是否挤压了缩容空间巡检项与判定
| 检查项 | 正常表现 | 异常表现 |
|---|---|---|
| 期望实例数 | 与实际运行实例数一致 | 长期不相等:扩容失败或实例被健康检查持续替换 |
| 启动模板版本 | 与最新发布版本一致 | 扩容出的实例跑旧版本代码 |
| 冷却时间 | 大于实例启动与就绪耗时 | 实例尚未就绪就触发下一轮伸缩,反复扩缩 |
| 受保护实例数 | 小于最大实例数并留出缩容空间 | 受保护实例过多,缩容长期不达标 |
| 健康检查 | 间隔与业务就绪时间匹配 | 启动慢的服务被反复判定不健康并替换 |
伸缩组扩容使用启动模板/伸缩配置快照,模板更新后要确认新实例实际用到的版本,尤其是模板存在多版本时。
调低期望实例数会立即触发缩容:改小前确认业务容量冗余,并留意受保护实例数量对缩容的约束。