You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Pulumi创建Route 53健康检查告警遇CloudWatch自定义指标不支持错误

解决Route53健康检查关联自定义CloudWatch告警的报错问题

报错原因

Route53的CLOUDWATCH_METRIC类型健康检查有个硬性限制:不能关联用metricQueries定义的复合指标告警,只能对接单一指标的CloudWatch告警,且告警必须直接配置metric的基础参数,不能通过metricQueries构建复合查询。

修正后的代码

1. 调整CloudWatch MetricAlarm配置

删掉metricQueries,改用直接配置metric的属性:

const otHealthCheck = new aws.cloudwatch.MetricAlarm("prd198-custom-alarm", {
    alarmDescription: "service is down",
    comparisonOperator: "GreaterThanOrEqualToThreshold",
    evaluationPeriods: 1,
    insufficientDataActions: [],
    datapointsToAlarm: 1,
    okActions: [],
    alarmActions: [],
    // 替换metricQueries为直接的metric参数
    metricName: "ERRORS",
    namespace: "prd198-custom",
    dimensions: {
        ERRORCODE: "500",
    },
    period: 120,
    statistic: "Sum", // Pulumi的AWS provider中参数为statistic而非stat
    threshold: 1,
});

2. 修复Route53健康检查的语法错误

原代码中cloudwatchAlarmRegion的值缺失闭合引号,补上即可:

const autoFailoverPrimary = new aws.route53.HealthCheck("prd198-Primary", {
    cloudwatchAlarmName: "prd198-custom-alarm",
    cloudwatchAlarmRegion: "us-east-1", // 补上缺失的闭合引号
    insufficientDataHealthStatus: "Unhealthy",
    type: "CLOUDWATCH_METRIC",
});

重要注意事项

  • Route53健康检查仅支持关联单指标CloudWatch告警,使用metricQueries的复合指标告警会直接触发你遇到的错误。
  • 确保CloudWatch告警的statistic参数属于Route53支持的类型:Sum、Average、SampleCount、Maximum、Minimum均兼容。
  • 通过putMetricData发送自定义指标时,维度、命名空间需与告警配置完全匹配,否则告警无法正常获取数据。

内容的提问来源于stack exchange,提问作者gaurav bansal

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.25 12:36:14