操作场景
目标追踪策略通过设置一个监控指标目标值,由系统自动计算并调整实例数量,使指标维持在目标值附近。
相比告警策略需要您自己判断"扩到多少台",目标追踪策略只需要回答一个问题:"我希望 CPU 维持在多少?"——适合不清楚合适实例数、或不想反复调阈值的用户。
典型场景:
计算密集型服务:希望 CPU 利用率稳定在 50% 左右。
网关/代理服务:希望网络流入速率稳定在带宽水位以下。
实例数经常需要人工干预、希望由系统自动收敛的在线业务。
工作原理
策略创建后,系统自动生成两条告警规则:一条用于扩容、一条用于缩容(开启"禁用缩容"时只生成扩容规则)。
系统按周期采集伸缩组的监控指标,与目标值比较。
指标持续高于目标值 → 触发扩容;指标低于"目标值 ×(1 − 缩容波动范围)" → 触发缩容。
每次伸缩活动结束后进入"预热时间",预热期内新增实例不上报监控数据,且拒绝本策略触发的伸缩活动,避免新增实例拉低均值后立刻又被判定为需要扩容。
前提条件
伸缩组已启用,且实例内已安装监控 Agent(指标依赖 Agent 上报)。
已确认目标指标与目标值的合理区间(建议参考近 2 周该指标的历史水位)。
操作步骤
登录控制中心。
单击左上角地域下拉框,选择伸缩组所在地域。
单击"计算 > 弹性伸缩服务",进入弹性伸缩管理控制台。
单击目标伸缩组名称,进入伸缩组详情页。
单击"伸缩策略"页签,单击"创建策略"。
策略类型选择"目标追踪策略",按下表配置参数。
单击"确认"。
参数说明
| 参数 | 是否必选 | 参数说明 |
|---|---|---|
| 名称 | 是 | 伸缩策略名称。建议体现指标与目标值,如"CPU-50%"。 |
| 策略类型 | 是 | 选择"目标追踪策略"。 |
| 追踪目标 | 是 | 需追踪的监控指标,支持 CPU 利用率、网络流入速率、网络流出速率。 |
| 目标值 | 是 | 指标期望维持的数值。伸缩策略通过自动增减实例使指标维持在目标值附近。 |
| 缩容波动范围 | 是 | 稳定性保护。伸缩组监控数据低于目标值时不立即缩容,仅当指标 < 目标值 ×(1 − 波动范围)时才触发缩容。 |
| 预热时间 | 是 | 一次伸缩活动结束后的实例预热时长。预热期内新增实例正常加入伸缩组,但不上报监控数据,且拒绝本策略触发的伸缩活动;预热结束后恢复正常上报。 |
| 扩容连续告警次数 | 是 | 系统自动创建的扩容告警规则的连续出现次数,即连续几次满足条件才触发扩容。 |
| 缩容连续告警次数 | 是 | 系统自动创建的缩容告警规则的连续出现次数。 |
| 禁用缩容 | 否 | 默认不开启。开启后本策略只创建扩容规则、不触发缩容,适合"只允许自动扩、缩容由人工或定时策略控制"的场景。 |
配置示例
场景:Web 服务希望 CPU 利用率维持在 50%,允许 10% 的波动,新增实例需要 5 分钟预热。
| 参数 | 取值 |
|---|---|
| 追踪目标 | CPU 利用率 |
| 目标值 | 50 |
| 缩容波动范围 | 10% |
| 预热时间 | 300 秒 |
| 扩容连续告警次数 | 3 |
| 缩容连续告警次数 | 5 |
| 禁用缩容 | 否 |
效果:CPU 持续高于 50% 时扩容;低于 45%(50 × 0.9)并连续 5 次后缩容;新增实例 5 分钟内不参与指标统计。
注意事项
目标值不等于阈值:目标追踪是"收敛到目标值",实际运行会围绕目标值波动,不要按告警策略的阈值思维设置。
缩容波动范围越大越稳定:范围过大则缩容迟钝、成本偏高;范围过小则容易频繁缩容。建议从 10% 起调。
预热时间要与业务启动耗时匹配:启动慢的应用(如 Java 服务)预热时间过短会导致新实例被判定为资源浪费而反复缩容。
与告警策略不要同时盯同一指标:两套逻辑同时作用会互相干扰,同一指标只保留一种策略类型。
部分资源池可用:目标追踪策略仅部分资源池支持,创建前请确认所在地域是否可选。
常见问题
Q1:为什么一直在扩容,停不下来?
多为目标值设置过高(服务本身能力达不到)或预热时间过短。若业务单实例上限有限,目标值应设置在实际可达水位,并适当加大预热时间与连续告警次数。
Q2:为什么缩容很慢?
缩容需同时满足"低于目标值 ×(1 − 波动范围)"和"连续缩容告警次数",可适当减小波动范围或缩容次数,但不要设得过小以免抖动。
Q3:能否只扩不缩?
可以,开启"禁用缩容"后策略只生成扩容规则,缩容交由定时策略或人工执行。