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