目次
はじめに
先日の記事(AWS SNSから別のSNSに通知を転送)でAWS Backupの失敗通知に関する投稿がありました。今回は別の方法でAWS Backupの通知を実装します。
こちらの記事では、Amazon CloudWatchのメトリクスをモニタリングし、ジョブが失敗したときにAmazon SNSでメール通知するという方法をご紹介します。
前提
以下2点は本記事の内容には含みません。
①AWS Backupの設定手順
②SNSトピック作成手順(トピックは事前に作成いただくとスムーズです)
設定手順
1. IAMポリシーの作成
まずは、IAMポリシーを作成します。
このポリシーはAWS Backupで使用するIAMロールにアタッチします。
ロールは次の手順で作成します。
JSONは以下の記載内容をそのままコピペしてください。
ポリシー名は「IAMPassRoleForAWSBackup」としました。
{
"Version"
:
"2012-10-17"
,
"Statement"
: [
{
"Sid"
:
""
,
"Effect"
:
"Allow"
,
"Action"
:
"iam:PassRole"
,
"Resource"
:
"*"
}
]
}
IAMロールの作成
続いて、AWS Backupで使用するIAMロールを作成します。
ロール作成時の「ユースケースの選択」でAWS Backupを指定してください。
ポリシーは以下をアタッチします。
・AWSBackupServiceRolePolicyForRestores
・CloudWatchEventsFullAccess
・IAMPassRoleForAWSBackup
3. バックアップの実行
この段階でAWS Backupでのバックアップ取得を一度実行します。
バックアップが実行されていない状態ではCloudWatchのメトリクス名前空間に「Backup」の項目が表示されず、アラームの設定ができないためです。
(バックアッププラン、オンデマンドバックアップのどちらでも構いません)
AWS Backupの設定手順は省略しますが、バックアップの設定時には先ほど作成したIAMロールを指定してください。
バックアップの取得が完了してしばらくすると、以下のように「Backup」という項目が現れます。
4. CloudWatchアラームの作成
では、アラームを作成していきます。
CloudWatchのコンソールから、「アラームの作成」をクリックします。
メトリクスの選択では、先ほど表示されたBackupの項目から、「Resource Type Metrics by Backup Vault」をクリックします。
以下の画像のようにメトリクスがいくつか表示されます。
今回はバックアップジョブ失敗を通知するので、「NumberOfBackupJobsFailed」を
使用したいのですが、現時点では表示されていません。
そのため、任意のメトリクスを選択し、この後の手順でメトリクス名を手動で変更します。
次に、メトリクスの設定です。
ここでメトリクス名を「NumberOfBackupJobsFailed」に変更します。
また、統計は「合計」に変更してください。
条件は以下のように設定します。
「NumberOfBackupJobsFailed」の値が「1以上」になったとき、つまりバックアップが1度でも失敗した場合に通知することになります。
通知に関しては、利用しているSNSトピックを指定してください。
アラームの作成が完了しました。
5. アラート通知の確認
ここまでで設定は完了ですので、実際にアラートメールが送信されるか確認します。
確認方法として、EC2インスタンスを終了させ、終了したインスタンスを対象にバックアップを取得することで、ジョブを失敗させます。
新たにインスタンスを起動するか、不要なインスタンスを終了させてください。
インスタンスを終了後、AWS Backupのコンソールからオンデマンドバックアップを実行します。
すると、以下のようにジョブが失敗します。
しばらく時間を置くと、以下のようにアラーム状態となり、SNSトピックで指定したメールアドレスに通知が送信されます。
以上で、AWS Backupのジョブ失敗時の通知ができました!