本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
带有的通知选项 AWS Backup
有两种方式可以接收有关 AWS Backup以下内容的通知:
-
用户通知服务 可以发送通知,包括 Amazon CloudWatch 警报和其他服务的通知。 AWS Support
-
Amazon 简单通知服务可以将 AWS Backup 事件通知您。
用户通知服务 和 AWS Backup
AWS Backup 支持通过用户通知服务 控制台
您可以通过控制台管理其他类型的通知,包括亚马逊、亚马逊 EventBridge 警报和 AWS Support 案例更新。 CloudWatch此外,您还可以设置多个配送选项,包括电子邮件、 AWS Chatbot 通知和 AWS Console Mobile Application 推送通知。
Amazon SNS 和 AWS Backup 活动
AWS Backup 利用了亚马逊简单通知服务 (AmazonSNS) 提供的强大通知。您可以将 Amazon 配置SNS为通过亚马逊SNS控制台向您发送 AWS Backup 事件通知。
限制
-
虽然 Amazon SNS 服务允许跨账户通知, AWS Backup 但目前不支持此功能。您必须指定自己的 AWS 账户 ID 和主题资源ARN。
-
AWS Backup 支持SNS尽力删除重复数据的标准主题,但目前 AWS Backup 不支持严格重复数据删除SNSFIFO的主题。
常见使用案例
-
按照如何获取失败任务的通知?中的步骤设置失败的备份 AWS Backup 任务的通知
来自 AWS 高级支持。 -
在下方的事件示例表中,查看已完成、失败和已过期的备份任务的 Amazon SNS 通知JSONs示例。
有关亚马逊SNS的更多信息,请参阅《亚马逊简单通知服务开发者指南》SNS中的 “亚马逊入门”。
AWS Backup 通知 APIs
使用 Amazon SNS 控制台或 AWS Command Line Interface (AWS CLI) 创建主题后,您可以使用以下 AWS Backup API操作来管理备份通知。
-
DeleteBackupVaultNotifications - 删除有关指定备份保管库的事件通知。
-
GetBackupVaultNotifications - 列出指定的备份保管库的所有事件通知。
-
PutBackupVaultNotifications - 打开指定主题和事件的通知。
AWS Backup 支持以下事件:
作业类型 | 事件 |
---|---|
备份作业 | BACKUP_JOB_STARTED | BACKUP_JOB_COMPLETED | CONTINUOUS_BACKUP_INTERRUPTED |
复制作业 | COPY_JOB_STARTED | COPY_JOB_SUCCESSFUL |
COPY_JOB_FAILED |
还原作业 | RESTORE_JOB_STARTED | RESTORE_JOB_COMPLETED |
恢复点 | RECOVERY_POINT_MODIFIED |
AWS Backup for S3 支持另外两个事件:
-
S3_BACKUP_OBJECT_FAILED
会通知您在备份作业期间 AWS Backup 未能备份的任何 S3 对象。 -
S3_RESTORE_OBJECT_FAILED
会通知您在还原作业期间 AWS Backup 未能还原的任何 S3 对象。
事件示例
例 示例:Backup 任务已完成
{ "Records": [{ "EventSource": "aws:sns", "EventVersion": "1.0", "EventSubscriptionArn": "arn:aws:sns:...-a3802aa1ed45", "Sns": { "Type": "Notification", "MessageId": "12345678-abcd-123a-def0-abcd1a234567", "TopicArn": "arn:aws:sns:us-west-1:123456789012:backup-2sqs-sns-topic", "Subject": "Notification from AWS Backup", "Message": "An AWS Backup job was completed successfully. Recovery point ARN: arn:aws:ec2:us-west-1:123456789012:volume/vol-012f345df6789012d. Resource ARN : arn:aws:ec2:us-west-1:123456789012:volume/vol-012f345df6789012e. BackupJob ID : 1b2345b2-f22c-4dab-5eb6-bbc7890ed123", "Timestamp": "2019-08-02T18:46:02.788Z", ... "MessageAttributes": { "EventType": {"Type":"String","Value":"BACKUP_JOB"}, "State": {"Type":"String","Value":"COMPLETED"}, "AccountId": {"Type":"String","Value":"123456789012"}, "Id": {"Type":"String","Value":"1b2345b2-f22c-4dab-5eb6-bbc7890ed123"}, "StartTime": {"Type":"String","Value":"2019-09-02T13:48:52.226Z"} } } }] }
例 示例:Backup 任务失败
{ "Records": [{ "EventSource": "aws:sns", "EventVersion": "1.0", "EventSubscriptionArn": "arn:aws:sns:...-a3802aa1ed45", "Sns": { "Type": "Notification", "MessageId": "12345678-abcd-123a-def0-abcd1a234567", "TopicArn": "arn:aws:sns:us-west-1:123456789012:backup-2sqs-sns-topic", "Subject": "Notification from AWS Backup", "Message": "An AWS Backup job failed. Resource ARN : arn:aws:ec2:us-west-1:123456789012:volume/vol-012f345df6789012e. BackupJob ID : 1b2345b2-f22c-4dab-5eb6-bbc7890ed123", "Timestamp": "2019-08-02T18:46:02.788Z", ... "MessageAttributes": { "EventType": {"Type":"String","Value":"BACKUP_JOB"}, "State": {"Type":"String","Value":"FAILED"}, "AccountId": {"Type":"String","Value":"123456789012"}, "Id": {"Type":"String","Value":"1b2345b2-f22c-4dab-5eb6-bbc7890ed123"}, "StartTime": {"Type":"String","Value":"2019-09-02T13:48:52.226Z"} } } }] }
例 示例:备份任务无法在备份窗口内完成
{ "Records": [{ "EventSource": "aws:sns", "EventVersion": "1.0", "EventSubscriptionArn": "arn:aws:sns:...-a3802aa1ed45", "Sns": { "Type": "Notification", "MessageId": "12345678-abcd-123a-def0-abcd1a234567", "TopicArn": "arn:aws:sns:us-west-1:123456789012:backup-2sqs-sns-topic", "Subject": "Notification from AWS Backup", "Message": "An AWS Backup job failed to complete in time. Resource ARN : arn:aws:ec2:us-west-1:123456789012:volume/vol-012f345df6789012e. BackupJob ID : 1b2345b2-f22c-4dab-5eb6-bbc7890ed123", "Timestamp": "2019-08-02T18:46:02.788Z", ... "MessageAttributes" : { "EventType" : {"Type":"String","Value":"BACKUP_JOB"}, "State" : {"Type":"String","Value":"EXPIRED"}, "AccountId" : {"Type":"String","Value":"123456789012"}, "Id" : {"Type":"String","Value":"1b2345b2-f22c-4dab-5eb6-bbc7890ed123"}, "StartTime" : {"Type":"String","Value":"2019-09-02T13:48:52.226Z"} } } }] }
AWS Backup 通知命令示例
您可以使用 AWS CLI 命令订阅、列出和删除 AWS Backup 活动的 Amazon SNS 通知。
放置备份保管库通知示例
以下命令订阅指定备份库的 Amazon SNS 主题,该主题会在还原任务开始或完成或修改恢复点时通知您。
aws backup put-backup-vault-notifications --backup-vault-name
myBackupVault
--sns-topic-arn arn:aws:sns:region
:account-id
:myBackupTopic
--backup-vault-events RESTORE_JOB_STARTED RESTORE_JOB_COMPLETED RECOVERY_POINT_MODIFIED
获取备份保管库通知示例
以下命令列出了当前订阅指定备份库的 Amazon SNS 主题的所有事件。
aws backup get-backup-vault-notifications --backup-vault-name
myVault
示例输出如下所示:
{ "SNSTopicArn": "arn:aws:sns:region:account-id:myBackupTopic", "BackupVaultEvents": [ "RESTORE_JOB_STARTED", "RESTORE_JOB_COMPLETED", "RECOVERY_POINT_MODIFIED" ], "BackupVaultName": "myVault", "BackupVaultArn": "arn:aws:backup:region:account-id:backup-vault:myVault" }
删除备份保管库通知示例
以下命令取消订阅指定备份库的 Amazon SNS 主题。
aws backup delete-backup-vault-notifications --backup-vault-name
myVault
指定 AWS Backup 为服务主体
注意
AWS Backup 要允许代表您发布SNS主题,您必须指定 AWS Backup 为服务主体。
JSON在用于跟踪 AWS Backup 事件的 Amazon SNS 主题的访问策略中加入以下内容。您必须指定主题的资源 Amazon 资源名称 (ARN)。
{ "Sid": "My-statement-id", "Effect": "Allow", "Principal": { "Service": "backup.amazonaws.com" }, "Action": "SNS:Publish", "Resource": "arn:aws:sns:
region
:account-id
:myTopic
" }
有关在亚马逊SNS访问策略中指定服务主体的更多信息,请参阅《亚马逊简单通知服务开发者指南》中的 “允许任何 AWS 资源发布到主题”。
注意
如果您的主题已加密,则必须在策略中包含其他权限才能 AWS Backup 向其发布内容。有关启用服务发布到加密主题的更多信息,请参阅《Amazon 简单通知服务开发者指南》中的 “启用来自 AWS 服务的事件源和加密主题之间的兼容性”。