跳至内容

如何获取 AWS Backup 作业失败的通知?

2 分钟阅读
0

我想设置电子邮件通知,以便在 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 授予 DecryptGenerateDataKey 权限。

更新后的访问策略示例:

{    "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 订阅以接收备份作业失败的通知

完成以下步骤:

  1. 打开 Amazon SNS 控制台

  2. 在导航窗格中,选择 Subscriptions(订阅)。

  3. 选择 Create subscription(创建订阅)。

  4. 对于 Topic ARN(主题 ARN),选择您的 SNS 主题的 ARN。

  5. 对于 Protocol(协议),选择 Email-JSON

  6. 对于 Endpoint(端点),输入希望接收通知的电子邮件地址。

  7. 展开 Subscription filter policy(订阅筛选策略)。

  8. JSON 编辑器中,选择 Message attributes(消息属性),然后输入以下信息:

    {
      "State": [
        {
          "anything-but": "COMPLETED"
        }
      ]
    }
  9. 选择 Create 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

**注意:**请将 backup-vault-name 替换为您的备份保管库名称。

输出示例:

{    "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"]
}

监控电子邮件通知

如果保管库的备份作业失败,您会收到一封类似于以下内容的电子邮件通知:

"An AWS Backup job was stopped.Resource 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 筛选策略示例

AWS 官方已更新 3 个月前