我们需要重新定义AWS CloudWatch告警表达式,以确保在时间和CPU利用率都符合条件的情况下才触发自动缩放。以下是一个示例表达式:
AND(
METRICS_SPECIFIED,
ALARM(),
(
COUNT(
DIMENSION('ecs:service:DesiredCount','AutoScalingGroup')
) = 1
AND
(
AVG(
QUERY('max(TotalCPUUtilization)',$context.alarmNamespace)
, '10 minutes')
>
80
)
),
ANOMALY_DETECTION_BAND(
UPPERBOUND(
QUANTILE(
QUERY('max(TotalCPUUtilization)',$context.alarmNamespace)
, 0.999
, '10 minutes'
) * 1.2,
'10 minutes'
),
0.1
),
RESPONSE()
)
此表达式还包括对异步异常检测的支持,确保系统在缩放前具有恰当的容错能力。