CloudWatch PromQL告警现可触发Auto Scaling:EC2组支持简单和步进策略、不支持目标跟踪,指南表格显示Application Auto Scaling只支持步进,与通知开头的“步进和简单”不一致;查询须返回单个序列

Published · AI Daily — AI-assisted deep research, methodology & disclosure

2026年11月10日,AWS宣布用PromQL编写的CloudWatch告警现在可以触发EC2 Auto Scaling和Application Auto Scaling的扩缩容策略,可基于CloudWatch OpenTelemetry指标扩缩EC2 Auto Scaling组。通知说EC2组支持简单和步进策略,目标跟踪目前不支持;步进策略按查询值超出阈值的幅度选择步骤,查询必须返回单个序列并与阈值比较。通知开头称“EC2和Application Auto Scaling”都支持步进与简单,但告警操作指南的表格列出Application Auto Scaling对PromQL告警只支持步进,两者不一致。复合告警不能触发Auto Scaling,PromQL告警通知不含状态原因,也不支持EC2停止/重启、OpsItem、Incident Manager和CloudWatch调查。适用于提供PromQL告警的所有区域,按标准告警价格;来源没有响应速度的测量。

2026年11月10日,AWS宣布,使用Prometheus查询语言(PromQL)编写的Amazon CloudWatch告警,现在可以触发Amazon EC2 Auto Scaling和Application Auto Scaling的扩缩容策略。通知说,你可以用与仪表板和告警相同的PromQL查询,基于CloudWatch的OpenTelemetry指标来扩缩EC2 Auto Scaling组。对正在迁往OpenTelemetry的团队,声明的好处是容量可以跟随与其他监控相同的指标,而不必另外保留一套只为扩缩容服务的经典指标告警。本文依据AWS通知和两页CloudWatch用户指南,一页讲PromQL告警,一页讲告警操作。本文没有创建告警,也没有运行扩缩容测试。

最重要的一点是什么被支持、什么没有。通知说,PromQL告警现在支持EC2 Auto Scaling的简单(simple)和步进(step)扩缩容策略,而目标跟踪(target tracking)目前不是PromQL告警支持的策略类型。告警操作页面有一张表,把它与其他告警类型并列。对Auto Scaling组操作,标准指标告警支持简单、步进和目标跟踪,PromQL告警支持简单和步进,Metrics Insights多时间序列告警和日志告警都列为不支持。对Application Auto Scaling操作,标准指标告警支持步进和目标跟踪,PromQL告警只支持步进。这与通知的开头一句不一致,该句说PromQL告警可以触发“Amazon EC2和Application Auto Scaling的步进与简单扩缩容策略”。指南的表更具体。本文的谨慎建议(这是本文的判断,不是AWS的说法)是:打算用PromQL告警扩缩ECS服务、DynamoDB表、Aurora副本或Spot Fleet的读者,在AWS澄清前按只支持步进策略来规划。

告警如何驱动策略,需要记住一条规则。对步进扩缩容,通知说PromQL查询里的值超出阈值多远,决定使用哪一步。查询必须返回单个序列,并与阈值比较。PromQL指南在创建PromQL告警的普通步骤里也这样写:查询必须返回单个时间序列,告警才能评估。同一指南另有一节讲异常检测,其中每条越界的时间序列在整个集群中被作为单独的贡献者跟踪,告警操作表也把PromQL告警的某些操作列在贡献者级别。两份来源都没有说这种贡献者模式可以驱动扩缩容策略,所以本文不作这种假定。这条要求针对的是结果:查询最终必须只得到一个序列。若想把多个实例或标签的指标合成一个扩缩容信号,按所需语义聚合是一种办法,例如聚合成整个集群的一个数值;用哪种聚合取决于指标的含义。通知没有给出示例查询,所以本文也不写。

第二个条件关于重复。告警操作指南说,除Auto Scaling操作外,告警操作只在状态转换时发生,条件持续数小时或数天也不会再次执行。Auto Scaling操作是例外,这意味着条件持续时它们可以重复。指南对Auto Scaling操作总体这样说,不是专门针对PromQL告警,并且没有描述冷却或预热行为。把扩缩容逻辑从经典告警迁到PromQL告警的团队,应检查EC2 Auto Scaling策略里管控重复触发的设置,因为来源没有说明。

设置用的是熟悉的工具。通知说,你可以在创建或编辑告警时,在CloudWatch控制台中添加EC2 Auto Scaling和Application Auto Scaling操作,也可以用PutMetricAlarm API、AWS CLI、AWS SDK或AWS CloudFormation。PromQL指南描述了控制台路径:在“告警”页面选择创建告警,选择“选择指标”,再选PromQL选项卡,输入查询,设置阈值、评估周期和触发告警的数据点,并配置操作。它还说,当查询返回单个时间序列时,可以从Query Studio里运行的查询创建告警。对简单和步进扩缩容,告警操作指南说你创建CloudWatch指标告警并把它附到扩缩容策略上。对目标跟踪,则由Auto Scaling服务自己创建和管理告警,你不应编辑或删除它们。指南把这一点写成告警的管理方式,没有把它说成PromQL告警不支持目标跟踪的原因,通知也没有给出原因。

指南里能看到两个运行限制。复合告警不能触发Auto Scaling操作。并且,与单指标告警会显示导致状态变化的具体数据点不同,PromQL告警的通知不包含状态原因或状态原因数据。当一次扩缩容事件看起来不对时,告警消息里能解释原因的细节会少一些。团队应计划直接检查PromQL查询和底层指标。来源还列出PromQL告警不支持EC2操作(如停止或重启)、Systems Manager OpsItem和事件、以及CloudWatch调查,所以用于扩缩容的PromQL告警不能同时带上这些操作。

在可用性和费用上,通知说该功能在提供CloudWatch PromQL告警的所有AWS区域可用,适用标准CloudWatch告警定价。它没有点出区域,也没有价格。来源没有给出PromQL告警比经典指标告警反应快慢的测量,所以对短时突发做扩缩容的团队,应测试指标变化到容量变化之间的延迟。来源支持的是一个窄的结论:对于EC2 Auto Scaling组,简单和步进策略现在可以由返回单个序列的PromQL告警驱动,而目标跟踪不行。

Sources

FAQ

PromQL告警能驱动哪些扩缩容策略?

通知说EC2组支持简单和步进策略,目标跟踪不支持。指南表格显示Application Auto Scaling只支持步进,与通知开头不一致,扩缩ECS或DynamoDB的读者应先按步进假设。

用于扩缩容的PromQL查询必须满足什么条件?

通知说查询必须返回单个序列并与阈值比较(指南也要求单个时间序列);步进策略按值超出阈值的幅度选择步骤。若想把多个实例的指标合成一个扩缩容信号,按所需语义聚合是一种办法,例如汇总成整个集群的一个数值。通知没有给出示例查询。

扩缩容告警的通知里能看到触发的原因吗?

不能从状态原因看到。指南说PromQL告警的通知不包含状态原因或状态原因数据,而单指标告警会显示导致状态变化的数据点。出现异常的扩缩容时,需要直接检查PromQL查询和底层指标。复合告警也不能触发Auto Scaling。