【AWS Health】RDSメンテナンスなどのアカウント内イベントをメールに通知してみよう

2023.03.23

今回のテーマ

こんにちは、AWS事業本部コンサルティング部のこーへいです。

今回のテーマは「RDSメンテナンスなどのアカウント内イベントをメールに通知してみよう」です。

AWS Healthとは

AWS Health の概要でも記載されているように、アカウント内にて影響のある障害やイベントを公式からお知らせしてくれるサービスです。

例えばRDSやEC2のハードウェアメンテナンスやバージョンアップの通知や、各種AWSサービスで発生した障害通知などサービス内にてお知らせしてくれます。

なので今回はAWS Healthにて追加されたお知らせをメールに通知して、お知らせの把握漏れを防ぐようにしてみましょう。

また以前は「Service Health Dashboard」「Personal Health Dashboard」に分かれていたのですが、現在は統合され「AWS Health」となっております。

全体構成図

非常に簡単な構成です。

AWS Healthにてイベントが追加されるとEventBridgeが起動しSNS経由でメールに通知されます。

試してみよう

EventBridgeを作成する

1. マネジメントコンソール画面より、EventBridge > ルール > ルールを作成を選択する

2. ルールの詳細を定義する

フィールド名 設定値
名前 任意の値
ルール イベントパターンを持つルール

その他のパラメータは画像の通りデフォルトの状態で設定し、「次へ」を選択します。

2-1. イベントパターンを構築する

フィールド名 設定値
イベントソース AWS イベントまたは EventBridge パートナーイベント
作成のメソッド パターンフォームを使用する

2-2. イベントパターンを設定する

イベントパターンの設定を変更することで、AWS Health Dashboardに追加されるイベントから必要なイベントを柔軟に選択して通知できます。

すべてのイベントに一致させる場合は以下の設定となります。

フィールド名 設定値
イベントソース AWSのサービス
AWSのサービス Health
イベントタイプ すべてのイベント

逆に通知するイベントを絞る場合、例えばRDSのメンテナンス時に通知したい場合の設定は以下のようになります。

フィールド名 設定値
イベントソース AWSのサービス
AWSのサービス Health
イベントタイプ 特定のヘルスイベント
特定のサービス RDS
特定のイベントタイプのカテゴリ scheduledChange
任意のイベントタイプのコード -
任意のリソース -

3. ターゲットを選択する

事前にSNSトピックを作成する必要があるので、もしトピックが無い場合は以下の記事を参考に作成してください。

4. タグを設定する

必要であればタグを設定してください。

5. レビューと作成を行う

設定のレビュー画面にて誤りがないか確認し、「ルールの作成」を選択して完了です。

メールを確認する

1. マネジメントコンソール画面より、AWS Health Dashboard > Event log > 「Event log」タブを選択

例として上記は東京リージョンにてAPIに関する障害が発生したとAWSからのお知らせがAWS Healthに追加されていますね。

実際にこちらのお知らせが追加される前に本記事の構成を構築していたので、Gmailに上記メールが届きました。

メール文を加工したい場合は、EventBridgeの入力トランスフォーマー機能を使用しましょう。

通知が来ないなと感じたら

AWS Health の AWS リージョンについてにも記載されているように、東京リージョンにてEventBridgeやSNSを構築した場合は東京リージョンに関するイベント通知しかされません。

必要なリージョン、例えばバージニア北部に関するイベントを通知したい場合は、本構成をバージニア北部にも構築していただく必要があります。

まとめ

メンテナンスなどのイベントに関するお知らせの把握漏れ防止のため、RDSのメンテナンス通知を特定のメールアドレスに通知したいという要望などに対して本記事が役に立てば幸いです。