如何在CloudFormation中实现备份连续两次失败的告警推送?
实现方案
完全可以通过CloudWatch告警配合CloudFormation实现该需求,具体逻辑和配置示例如下:
核心实现思路
AWS Backup默认会向CloudWatch上报FailedJobs指标,你只需要配置对应的告警规则匹配连续两次失败的条件,触发后推送通知到SNS主题即可:
- 指标维度指定你要监控的Backup Vault名称
- 统计周期和你的备份任务运行周期保持一致(比如每日备份就设为86400秒)
- 配置连续2个统计周期内
FailedJobs的和≥1时触发告警 - 告警动作绑定目标SNS主题
CloudFormation配置示例
你可以直接在你的CloudFormation模板中添加以下资源声明:
SNS主题(已有可跳过)
BackupFailNotificationTopic: Type: AWS::SNS::Topic Properties: DisplayName: Backup Vault Failure Alert Subscription: - Endpoint: your-notification-address@example.com Protocol: email # 可替换为sms、http等其他支持的协议
CloudWatch告警规则
BackupTwoConsecutiveFailAlarm: Type: AWS::CloudWatch::Alarm Properties: AlarmName: BackupVault-TwoConsecutiveFailureAlert Namespace: AWS/Backup MetricName: FailedJobs Dimensions: - Name: BackupVaultName Value: your-target-backup-vault-name # 替换为实际备份库名称 Statistic: Sum Period: 86400 # 替换为实际备份任务的运行间隔,单位为秒 EvaluationPeriods: 2 # 连续统计2个周期,匹配需求 DatapointsToAlarm: 2 # 2个周期都满足阈值才触发告警 Threshold: 1 ComparisonOperator: GreaterThanOrEqualToThreshold TreatMissingData: notBreaching # 无备份任务运行时不触发告警 AlarmActions: - !Ref BackupFailNotificationTopic # 替换为你的SNS主题ARN
补充说明
如果你的备份任务运行频率不固定,也可以通过EventBridge捕获备份失败事件写入自定义CloudWatch指标,再基于自定义指标配置告警,该方案同样支持在CloudFormation中全量声明。
配置完成后建议手动触发一次测试备份失败,验证告警和通知流程是否正常。
内容的提问来源于stack exchange,提问作者Myra Faisal
相关产品推荐
相关产品推荐

