AWS Backup ジョブが失敗したときに通知するメール通知を設定したいと考えています。
簡単な説明
注: 次の解決策では、Amazon Simple Notification Service (Amazon SNS) を使用して、AWS Backup でサポートされているイベントに関するボールトベースの通知を配信します。このソリューションは、1 つのボールト内の AWS Backup ジョブが失敗したときに通知します。AWS アカウントまたは AWS リージョンレベルでの AWS Backup イベント通知については、「失敗した AWS Backup ジョブの Amazon EventBridge 通知はどのように設定すればいいですか?」を参照してください。
通知を送信するように Amazon SNS とバックアップ保管庫を設定するには、次の手順を実行します。
- SNS トピックを作成する
- SNS トピックに通知を送信するようにバックアップボールトを設定します。
- 失敗したバックアップジョブへの通知をフィルタリングする SNS サブスクリプションを作成します。
- E メールの通知を監視します。
復元ジョブや復旧ポイントなどの他のイベントの通知を受け取るには、「Amazon SNS と AWS Backup イベント」を参照してください。
解決策
AWS Backup 通知を送信する SNS トピックを作成する
次の手順を実行します。
- Amazon SNS コンソールを開きます。
- ナビゲーションペインで、[トピック] を選択します。
- [詳細] の [タイプ] で、[標準] を選択します。
- [トピックの作成] を選択します。
- [名前] にポリシーの名前を入力します。
- [トピックの作成] を選択します。
- [詳細] で、[ARN] の値をコピーします。
- [編集] を選択し、[アクセスポリシー] を展開します。
- JSON エディターで、次の権限をポリシーにアタッチします。[リソース] の値を ARN に置き換えます。
{
"Sid": "My-statement-id",
"Effect": "Allow",
"Principal": {
"Service": "backup.amazonaws.com"
},
"Action": "SNS:Publish",
"Resource": "arn:aws:sns:eu-west-1:111111111111:exampletopic"
}
**注:**Amazon SNS トピックを暗号化しないものとして設定することも、保存時に暗号化を使用することもできます。暗号化にデフォルトの AWS Key Management Service (AWS KMS) を使用する場合、AWS Backup は SNS トピックにメッセージを発行できません。Amazon がデフォルトの AWS KMS キーを管理しているため、ポリシーを編集することはできず、カスタマー管理キーを使用する必要があります。カスタマー管理キーは、backup.amazonaws.com に decrypt 権限と generateDataKey 権限を付与する必要があります。
- [変更を保存] を選択します。
SNS トピックに通知を送信するようにバックアップボールトを設定する
次の手順を実行します。
注: AWS コマンドラインインターフェイス (AWS CLI) コマンドの実行中にエラーが発生した場合は、「AWS CLI エラーのトラブルシューティング」を参照してください。また、AWS CLI の最新バージョンを使用していることを確認してください。
- AWS CLI を使用して、put-backup-vault-notifications コマンドを実行します。--backup-vault-events を BACKUP_JOB_COMPLETED に設定します:
aws backup put-backup-vault-notifications --endpoint-url https://backup.eu-west-1.amazonaws.com --backup-vault-name examplevault --sns-topic-arn arn:aws:sns:eu-west-1:111111111111:exampletopic --backup-vault-events BACKUP_JOB_COMPLETED
注:前の例では、--endpoint-url をリージョンバックアップボルトがあるエンドポイントに置き換え、--sns-topic-arn を SNS トピックの 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"
]
}
失敗したバックアップジョブへの通知をフィルタリングする SNS サブスクリプションを作成する
次の手順を実行します。
-
Amazon SNS コンソールを開きます。
-
ナビゲーションペインで、[サブスクリプション] を選択します。
-
[サブスクリプションの作成] を選択します。
-
[トピック ARN] で、SNS トピックの ARN を選択します。
-
[プロトコル] で、[JSON 形式のメール] を選択します。
-
[エンドポイント] で、通知を受け取る E メールアドレスを入力します。
-
[サブスクリプションフィルターポリシー] を展開します。
-
JSON エディターで、[メッセージ属性] を選択し、次の情報を入力します。
{
"State": [
{
"anything-but": "COMPLETED"
}
]
}
-
[サブスクリプションの作成] を選択します。
エンドポイント用に入力したメールアドレスに、購読確認メールが届きます。
E メールの通知を監視
ボールトのバックアップジョブが失敗すると、次のようなメール通知が届きます。
「AWS Backup ジョブが停止しました。リソース ARN : arn:aws:ec2:eu-west-1:111111111111:volume/vol-example56d7w92d4b.バックアップジョブ ID: example4-3dd5-5678-b52d-90bd749355a5」
オンデマンドバックアップを 2 つ作成し、バックアップの 1 つを停止することで、通知をテストできます。停止したバックアップのみに関する E メール通知を受け取ります。
関連情報
AWS Backup のトラブルシューティング