我想设置电子邮件通知,以获取 AWS Backup 作业失败通知。
解决方法
创建 SNS 主题以发送 AWS Backup 通知
使用 Amazon Simple Notification Service (Amazon SNS) 控制台创建 SNS 主题。展开 Access policy(访问策略)部分。在 JSON 编辑器中,将以下权限添加到您的策略:
{ "Sid": "My-statement-id",
"Effect": "Allow",
"Principal": {
"Service": "backup.amazonaws.com"
},
"Action": "SNS:Publish",
"Resource": "arn:aws:sns:eu-west-1:111111111111:exampletopic"
}
**注意:**请将 Resource 的值替换为主题的 Amazon 资源名称 (ARN)。
您可以将 SNS 主题配置为未加密,也可以使用静态加密。如果使用默认的 AWS Key Management Service (AWS KMS) 进行加密,则 AWS Backup 无法向 SNS 主题发布消息。由于 AWS 管理着默认 AWS KMS 密钥,因此您无法编辑该策略。而是必须使用客户管理型密钥。客户管理型密钥必须向 backup.amazonaws.com 授予 Decrypt 和 GenerateDataKey 权限。
更新后的访问策略示例:
{ "Version": "2008-10-17",
"Id": "__default_policy_ID",
"Statement": [{
"Sid": "__default_statement_ID",
"Effect": "Allow",
"Principal": {
"AWS": "*"
},
"Action": ["SNS:Publish", "SNS:RemovePermission", "SNS:SetTopicAttributes", "SNS:DeleteTopic", "SNS:ListSubscriptionsByTopic", "SNS:GetTopicAttributes", "SNS:Receive", "SNS:AddPermission", "SNS:Subscribe"],
"Resource": "arn:aws:sns:eu-west-1:111111111111:exampletopic",
"Condition": {
"StringEquals": {
"AWS:SourceOwner": "111111111111"
}
}
}, {
"Sid": "My-statement-id",
"Effect": "Allow",
"Principal": {
"Service": "backup.amazonaws.com"
},
"Action": "SNS:Publish",
"Resource": "arn:aws:sns:eu-west-1:111111111111:exampletopic"
}]
}
创建 SNS 订阅以接收备份作业失败的通知
使用 Amazon SNS 控制台为端点订阅 SNS 主题。对于 Protocol(协议),请选择 Email/Email-JSON,然后在 Endpoint(端点)中输入您的电子邮件地址。您还可以配置筛选策略以接收除 Completed(已完成)之外的任何其他通知。
要确认订阅,请打开您收到的确认电子邮件,然后选择 Confirm subscription(确认订阅)。
配置备份保管库以向 SNS 主题发送通知
**注意:**如果您在运行 AWS 命令行界面 (AWS CLI) 命令时收到错误,请参阅 AWS CLI 错误故障排除。此外,请确保您使用的是最新版本的 AWS CLI。
要开启备份保管库的通知,请运行 put-backup-vault-notifications AWS CLI 命令:
aws backup put-backup-vault-notifications --backup-vault-name examplevault --sns-topic-arn arn:aws:sns:eu-west-1:111111111111:exampletopic --backup-vault-events "BACKUP_JOB_COMPLETED"
**注意:**请将 backup-vault-name 替换为备份保管库的名称,并将示例 ARN 替换为主题的 ARN。
要确认您已开启通知,请运行 get-backup-vault-notifications 命令:
aws backup get-backup-vault-notifications --backup-vault-name examplevault
输出示例:
{ "BackupVaultName": "examplevault",
"BackupVaultArn": "arn:aws:backup:eu-west-1:111111111111:backup-vault:examplevault",
"SNSTopicArn": "arn:aws:sns:eu-west-1:111111111111:exampletopic",
"BackupVaultEvents": ["BACKUP_JOB_COMPLETED"]
}
监控电子邮件通知
如果保管库的备份作业失败,您会收到一封类似于以下内容的电子邮件通知:
“AWS Backup 作业已停止。资源 ARN:arn:aws:ec2:eu-west-1:111111111111:volume/vol-example56d7w92d4b。BackupJob ID:example4-3dd5-5678-b52d-90bd749355a5”
要测试通知,请创建两个按需备份。然后,停止其中一个备份。您只能收到停止备份的电子邮件通知。
相关信息
如何为失败的 AWS Backup 作业配置 Amazon EventBridge 通知?
Amazon SNS 和 AWS Backup 活动
AWS Backup 故障排除
Amazon SNS 筛选策略示例