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

CloudFormation部署Route53健康检查报Invalid Request报错排查

问题根因

部署失败由三个配置错误共同导致:

  • 参数传值类型不匹配:AWS::Route53::HealthCheck资源的AlarmIdentifier.Name字段要求传入CloudWatch告警的名称字符串,但模板中使用!Ref rEventBusCwAlarm引用告警资源时,AWS::CloudWatch::Alarm类型资源的Ref返回值是告警的完整ARN,而非告警名称,传入ARN会被Route53直接判定为参数非法。
  • 告警周期不满足服务约束:关联Route53健康检查的CloudWatch告警,周期必须为60秒及以上且为60的整数倍,模板中配置的Period: 10不符合该要求。
  • 告警缺少必填指标维度:AWS/Events命名空间下的FailedInvocations指标必须携带EventBusName维度才能匹配到对应的监控数据,模板未配置维度,即使资源创建成功也无法正常工作。
修复后的参考模板
rEventBusCwAlarm:
  Type: AWS::CloudWatch::Alarm
  Properties:
    ActionsEnabled: FALSE
    AlarmDescription: Alarm that monitors the health of event busses in current region by counting Failed Invocations
    ComparisonOperator: GreaterThanThreshold
    EvaluationPeriods: 5
    MetricName: FailedInvocations
    Namespace: AWS/Events
    Threshold: 10
    Statistic: Sum
    Period: 60 # 调整为符合Route53要求的60秒周期
    Dimensions: # 补充指标必填维度
      - Name: EventBusName
        Value: default # 可替换为你实际需要监控的自定义事件总线名称

rEventBusHealthCheck:
  Type: AWS::Route53::HealthCheck
  Properties:
    HealthCheckConfig:
      Type: CLOUDWATCH_METRIC
      InsufficientDataHealthStatus: Healthy
      AlarmIdentifier:
        Name: !GetAtt rEventBusCwAlarm.AlarmName # 通过GetAtt获取告警名称,而非Ref返回的ARN
        Region: !Ref AWS::Region # 直接使用CloudFormation内置区域变量,保证和告警部署区域一致

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 20:57:22