APC 技術ブログ

株式会社エーピーコミュニケーションズの技術ブログです。

株式会社 エーピーコミュニケーションズの技術ブログです。

【初心者・入門】AWS User Notifications を設定しEメール通知を検証

目次


はじめに

こんにちは、エーピーコミュニケーションズ クラウド事業部の高橋です。

3本目のブログは、AWS User Notifications という通知サービスについて、基本的な設定方法を実際に設定しながら書いてみます!
AWS には Amazon SNS や Amazon SES といった通知サービスもあるので、簡単な比較もしつつ AWS User Notifications について説明できたらと思います!
どうぞよろしくお願いします!


どんなひとに読んで欲しい

  • AWS の通知サービスについて概要を知りたい人
  • AWS User Notifications を実際に設定したり実装してみたい人
  • AWS User Notifications でエラー通知を受け取りたい人


AWS User Notifications とは

AWS User Notifications (日本語名だと「AWS ユーザー通知」と呼びます) は、2023年5月に提供を開始した比較的新しい AWS の通知サービスです。
複数の AWS アカウント/リージョン/サービスにおける AWS 通知を、AWS コンソール内で一元的に設定し、一覧で表示することができます。
サービスについては、AWS Health イベント、Amazon CloudWatch アラーム、EC2 インスタンスの状態変化、S3 のオブジェクトイベント等々、100以上の AWS サービスに対応しています。

AWS の通知サービスとなると、他にも Amazon SNS や Amazon SES がありますので、AWS 初心者の自分としては「何が違うのか?」と疑問が湧いてきたので、簡単に比較してみました!


確認してみたところ、Amazon SES はアラートなどの通知や検知というよりも、Eメールを効率的にユーザーへ配信できるサービスということが分かりました。
また、Amazon SNS と AWS User Notifications は、どちらも障害やアラートなどの通知や検知として利用するケースが多いかと思われます。
しかし、Amazon SNS ではユーザー通知以外に他アプリ (システム) への連携や詳細なフィルタリング設定などができる分導入や構築が若干難しく、一方で、AWS User Notifications はユーザー通知に特化してコンソール上からの一元管理や一覧表示により比較的容易に導入できそうな印象を持ちました!


AWS User Notifications の基本的な設定方法

今回のブログでは、昨年からサービス提供した AWS User Notifications の基本的な設定方法を実際に検証し、どれほど簡単に設定できるのか確認してみたいと思います!

今回の検証では、前回のブログで AWS Backup を検証したので、AWS Backup のバックアップ時に AWS User Notifications を利用して通知を Gmail に飛ばせるか検証してみたいと思います!


① 通知ハブの設定
まず、通知ハブを設定します。
通知ハブでは、通知データが保存・処理されるリージョンの選択、また、通知データが複製されるリージョンを追加することができます。(最大3リージョンまで)
余談ですが、生成された通知データが通知ハブで保存される期間は90日間です。
Adding or removing a notification hub - AWS User Notifications

However, notifications expire 90 days after they are generated.


今回の検証では、東京リージョンを選択し、「更新」をクリックします。



② 配信チャネルの設定
続いて、配信チャネルを設定します。
今回の検証では、配信チャネルに自分の Gmail を設定して、通知が飛ぶか確認してみたいと思います!

AWS User Notifications の配信チャネルから「Eメールの追加」をクリックしてください。



画面が遷移したら、通知したいEメールアドレスとその名前を入力して、「Eメールの追加」をクリックしてください。



すると、自動的に画面が遷移し、追加したEメールアドレスが検証ステータス「保留中」となりましたので、しばらく待ちます。



5分ほど待ちつつ、何回か画面を更新しましたが「保留中」のステータスから変わりませんでした・・。
そのとき、追加したEメールアドレス宛にメールが届いていたため、確認してみると・・・、以下のように追加したEメールアドレスに AWS からEメールアドレスの検証メールが届いていました!
なので、ここは「Verify email」をクリックします。(黒字で伏せている箇所は自分の AWS アカウント ID です)



「Verify email」をクリックすると自動的に画面が遷移し、追加したEメールアドレスの検証が完了しました。



また、先ほどの検証ステータスも無事に「アクティブ」に変化していることが確認できました!
これにて、通知したいメールアドレスの配信チャネルへの設定が完了しました。



③ 通知設定 (通知したい内容の設定)
次に、通知設定、すなわち、通知したい内容を設定していきたいと思います!

AWS User Notifications の通知設定から「通知設定を作成」をクリックしてください。



すると、設定画面に遷移します。
まずは、作成する通知設定について名前を入力します。



続いて、イベントルール、すなわち、通知したい内容の設定です。
プルダウンにて、通知を受け取りたい AWS サービスを選択します。
今回の検証では「Backup」を選択します。
イベントタイプは「Backup Job State Change」を選択してみます。
リージョンは東京リージョンを選択します。



続いて、集約設定です。
表示されているように、通知の受信頻度について設定します。
ここは通知の内容にもよりけりだと思いますが、通知が来過ぎても来なさ過ぎてもダメかと思いますので、今回は推奨である「5分以内に受領」を選択します!



続いて、先ほど設定した配信チャネルを入力します。
「Eメール」を選択し、「受信者」に先ほど設定したEメールアドレスを入力します。(Eメールアドレスを入力すると自動的に名前は入力されました)
以上の入力が完了したら、右下の「通知設定を作成」をクリックしてください。



通知設定を確認したところ、無事にステータスが「アクティブ」で作成されていました!
これにて、通知内容の設定は完了です!



④ Eメールアドレスへの通知検証
それでは、Eメールアドレスに通知が届くか、実際に検証してみたいと思います!

先ほどの通知設定にてイベントタイプは「Backup Job State Change」を選択したので、AWS Backup にてバックアップジョブが動く操作を仕込んでみます。

前回のブログで作成した EC2 をバックアッププランに、改めて今回の検証用にリソースを割り当て、バックアップジョブを動かします。


しばらく待って、問題なくバックアップジョブは完了しました!



それでは、設定した Gmail にバックアップジョブの通知が正常に届いているか確認してみます・・!

無事に通知メールは届いていました!
ありがたいことに3通も!


メールの内容を確認してみると以下の内容でした。

左が「CREATED」、中央が「RUNNING」、右が「COMPLETED」の状態で、この順番で通知が来ていました。

前回のブログで触れたとおり、バックアップジョブが正常に流れると、ステータスは「(日本語表示で) 作成済み→実行中→完了」の順番で変化していきます。
どうやら、AWS User Notifications の通知もこのステータスの変化に合わせてメールが3通届いた模様です!
イベントタイプで選択した「Backup Job State Change」は、あくまで「State Change」なので、エラーに特化した通知設定の内容でなく、あくまでステータスが変化したタイミングで通知される設定ということです。(自分も薄々そうなんだろうな・・とは思っていましたが。。)

ただ、こういったユーザーへの通知としては、やはり問題なくジョブ等が完了したといった内容ではなく、ジョブ等がエラーになったという内容をユーザーが検知できることを目的や手段とすることが殆どかと思います。
なので、次の項目では、AWS User Notifications でエラー通知はどうすれば検知できるようになるのかを確認してみたいと思います!

一旦、この項目としては、AWS User Notifications を利用してEメールにて問題なく通知できる基本設定を確認することができました!


AWS User Notifications の通知設定をカスタムする

それでは前項を踏まえて、どうすればエラー通知を検知できるようになるか、確認していきたいと思います!

作成した通知設定からイベントルールを確認すると、クリック可能な「マネージドルール」という表示がありましたのでクリックしてみました。



すると、別ウィンドウにて Amazon EventBridge の画面が開きました。
Amazon EventBridge とは、AWS 内外のさまざまなソースやサービスから発生するイベントをトリガーとして、ルールに基づいて他のソースやサービスに橋渡しするような役割のサービスです。
どうやら AWS User Notifications にて通知設定をする際に、Amazon EventBridge 配下にルールが自動で作成される仕組みのようです。
そして、そのルールには JSON 形式の「イベントパターン」があるので、それを編集すればエラー通知としてメールを飛ばすことができると思い、早速編集しようと思います!



しかし、「編集」ボタンがグレーアウトし、イベントパターンを編集できないようになっていました・・!
また、タイプという項目が「管理」と表示され、管理者が「notifications.amazonaws.com」と表示されております・・。
どうやら、AWS User Notifications にて通知設定した際に作成された Amazon EventBridge のルールについては AWS 側で管理されているため、編集することができない模様です!



そうなると、どこで通知設定を編集することができるかと言いますと・・、以下のように通知設定のイベントルールを入力する際にオプションとして「高度なフィルター」がありましたので、ここで詳細な通知設定をしてみたいと思います!



先ほどの Amazon EventBridge にあったイベントパターンをコピーして、バックアップが「FAILED」となったときに通知が作動するルールを付け加えた JSON 式を入力し、通知設定を更新しました。



あとは、バックアップジョブが失敗するように仕込んで、エラー通知としてメールが届くか確認します!
※検証とは関係ないので割愛しますが、バックアッププランやバックアップルールの設定自体はそのままにして、バックアップを指定している EC2 インスタンスを削除することでエラーを発生させました。

しばらくしますと・・・想定通り、バックアップジョブが「FAILED」状態となった内容のメール通知が届いていることを確認できました!



おわりに

今回は、昨年提供開始した、比較的新しい通知サービスである AWS User Notifications の基本設定方法を実際に検証して確認してみました!
今回の検証では AWS Backup に関するメール通知でしたが、AWS User Notifications の通知設定におけるイベントタイプの基本設定だけではかなり粗い通知設定しか出来ないようなので、エラー検知に限らず AWS User Notifications を実装する際は「高度なフィルター」を利用した詳細な設定することは必須になるだろうと感じました!
少しでも参考にしていただけたら幸いです!

今回もご拝読いただき、ありがとうございました!


お知らせ

APCはAWS Advanced Tier Services(アドバンストティアサービスパートナー)認定を受けております。


その中で私達クラウド事業部はAWSなどのクラウド技術を活用したSI/SESのご支援をしております。
www.ap-com.co.jp

https://www.ap-com.co.jp/service/utilize-aws/

また、一緒に働いていただける仲間も募集中です!
今年もまだまだ組織規模拡大中なので、ご興味持っていただけましたらぜひお声がけください。

www.ap-com.co.jp