AWS Backup を用いた通知オプション - AWS Backup

AWS Backup を用いた通知オプション

AWS Backup に関する通知を受け取るには次の 2 通りの方法があります。

  • User Notifications は、Amazon CloudWatch アラーム、AWS サポート、およびその他のサービスの通知などの通知を送信できます。

  • Amazon Simple Notification Service では、AWS Backup イベントを通知できます。

User Notifications および AWS Backup

AWS Backup は、User Notifications コンソールからのバックアップ通知の管理をサポートします。User Notifications を使用すると、バックアップ、コピー、復元ジョブの進行状況や、バックアップポリシー、ボールト、復旧ポイント、設定の変更をユーザー通知センターから確認できます。

コンソールから管理できる通知の種類には、Amazon CloudWatch、Amazon EventBridge アラーム、AWS サポート ケース更新などがあります。さらに、E メール、チャットアプリケーションでの Amazon Q Developer 通知、AWS Console Mobile Application プッシュ通知など、複数の配信オプションを設定できます。

Amazon SNS と AWS Backup イベント

AWS Backup では、Amazon Simple Notification Service (Amazon SNS) によって提供される堅牢な通知が利用できます。Amazon SNS コンソールからの AWS Backup イベントを通知するように Amazon SNS を設定できます。

制限
  • Amazon SNS サービスではクロスアカウント通知が可能ですが、AWS Backup では、現在この機能はサポートされていません。独自の AWS アカウント ID とトピックのリソース ARN を指定する必要があります。

  • AWS Backup は、SNS のベストエフォートによる重複排除の標準トピックをサポートしていますが、現在、AWS Backup は厳格な重複排除の SNS FIFO トピックをサポートしていません。

一般的なユースケース

  • AWS Premium Support の「失敗した AWS Backup ジョブの通知を表示するには」の手順に従って、失敗したバックアップジョブの通知を設定します。

  • 以下の「イベントの例」一覧表で、完了、失敗、期限切れのバックアップジョブのサンプル Amazon SNS 通知 JSON を確認します。

Amazon SNS の詳細については、Amazon Simple Notification Service 開発者ガイドの「Amazon SNS の開始方法」を参照してください。

AWS Backup 通知 API

Amazon SNS コンソールまたは AWS Command Line Interface (AWS CLI) を使用してトピックを作成したら、以下の AWS Backup API オペレーションを使用してバックアップ通知を管理できます。

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
復旧ポイントのインデックス作成 RECOVERY_POINT_INDEX_COMPLETED | RECOVERY_POINT_INDEX_DELETED | RECOVERY_POINT_INDEXING_FAILED

S3 用の AWS Backup は、次の 2 つのイベントをサポートしています。

  • S3_BACKUP_OBJECT_FAILED がバックアップジョブ中に AWS Backup がバックアップに失敗した S3 オブジェクトを通知します。

  • S3_RESTORE_OBJECT_FAILED が復元ジョブ中に AWS Backup が復元に失敗した S3 オブジェクトを通知します。

イベントの例

例: バックアップジョブの完了
{ "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"} } } }] }
例: バックアップジョブの失敗
{ "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"} } } }] }
例: 復旧ポイントのインデックス作成が完了
{ "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 backup index job was completed. Indexed recovery point arn: arn:aws:backup:us-west-2:1112233445566:recovery-point:abcd1234-5678-abcd-9012-abcdef123456", "Timestamp": "2025-05-25T18:46:02.788Z", ... "MessageAttributes" : { "EventType" : {"Type":"String","Value":"RECOVERY_POINT_INDEXING_COMPLETED"}, "AccountId" : {"Type":"String","Value":"123456789012"}, "IndexStatus" : {"Type":"String","Value":"ACTIVE"}, "IsIndexingContinuous" : {"Type":"String","Value":"false"}, "RecoveryPointArn" : {"Type":"String","Value":"arn:aws:backup:us-west-2:1112233445566:recovery-point:abcd1234-5678-abcd-9012-abcdef123456"} } } }] }

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 を指定する必要があります。

AWS Backup イベントの追跡に使用する Amazon SNS トピックのアクセスポリシーに次の JSON を含めます。トピックのリソースの Amazon リソースネーム (ARN) を指定する必要があります。

{ "Sid": "My-statement-id", "Effect": "Allow", "Principal": { "Service": "backup.amazonaws.com" }, "Action": "SNS:Publish", "Resource": "arn:aws:sns:region:account-id:myTopic" }

Amazon SNS アクセスポリシーでのサービスプリンシパルの指定の詳細については、Amazon Simple Notification Service デベロッパーガイドの「トピックにパブリッシュする AWS リソースのいずれかを許可する」を参照してください。

注記

トピックが暗号化されている場合は、ポリシーに追加のアクセス権限を追加して、AWS Backup がそのトピックに公開することを許可する必要があります。暗号化されたトピックにサービスを発行できるようにする方法については、Amazon Simple Notification Service デベロッパーガイドの「AWS サービスと暗号化されたトピックのイベントソース間の互換性を保つ方法」を参照してください。