【AWSサービス 基礎編】AWS User Notifications で AWS イベントの通知を一元管理する

目次

概要

AWS を運用していると、さまざまなサービスからイベント通知が発生します。EC2 インスタンスの状態変更、Health イベント、CloudWatch アラーム、Security Hub の検出結果など、それぞれのサービスで個別に通知設定を行っていると管理が煩雑になりがちです。

AWS User Notifications は、AWS アカウント内で発生するイベントの通知を一元的に管理するサービスです。複数の AWS サービスからのイベントを 1 つのハブに集約し、E メールや AWS Chatbot(Slack・Microsoft Teams 連携)などのチャネルで受け取れます。

本記事では、AWS User Notifications の基本概念を理解し、通知設定の作成からイベント受信の確認までを体験します。

AWS User Notifications の全体像(各 AWS サービスのイベント → User Notifications → E メール / Chatbot / Console への配信)を示す図解を挿入
AWS User Notifications の全体像(各 AWS サービスのイベント → User Notifications → E メール / Chatbot / Console への配信)を示す図解を挿入

この記事のメリット

  • AWS User Notifications で通知ルールを作成し、特定のイベントを E メールで受け取る方法を習得できる
  • 通知ハブとチャネルの概念を理解し、通知先の追加・管理方法を把握できる
  • EventBridge ルールとの違いを理解し、適切な使い分けを判断できるようになる
  • AWS Health イベントなどの重要な運用通知を見逃さない仕組みの構築方法を体験できる

執筆者とキャラクター紹介

執筆者:土肥(とひ)

株式会社ジェニュインの代表であり元エンジニア。これまでオンプレミスと AWS 環境のインフラ業務を担当。AWS 認定資格の学習で得た知識を、ハンズオンとともに解説するのが得意。直近では新人の教育も行っており、これから技術を学ぶ方が納得できる解説を心がけています。基礎編・Cloud Practitioner の記事では、解説役としても登場します。

土肥

クラウドおさる

クラウドおさる

はじめましてでござる。弊猿はクラウドおさる。IT インフラが異常に発達した猿山から、雲に乗って地上の AWS を学びに降りてきたのでござる。

クラウドおさる

基礎編や Cloud Practitioner の記事では、とひさんに素朴な疑問をぶつける役でござるな。Security - Specialty などの記事では、要所でワンポイントや注意点をひとこと添えるでござる。

クラウドおさる

猿山にもデータセンターや監視当番があって、地上で起きることはだいたい猿山にも同じ仕組みがあるのでござる。例え話がつい猿山に寄るのは、弊猿の癖でござる。

技術解説

AWS User Notifications とは

クラウドおさる

とひさん、AWS って色んなサービスから通知が来ますよね。EC2 の状態変化とか、Health イベントとか…。それぞれ個別に設定するのが大変だなって思ってたんですけど、まとめて管理する方法ってあるんですか?

土肥

まさにその悩みを解決してくれるのが AWS User Notifications なんだ。AWS アカウント内のイベントを集約して、指定したチャネルに通知を配信してくれるサービスだよ。

クラウドおさる

イベントを集約してくれるんですね。設定は難しくないですか?

土肥

マネジメントコンソールから簡単に設定できるし、追加料金もかからないんだ。主なユースケースとしては、こんなものがあるよ。

  • AWS Health イベント(メンテナンス通知、サービス障害)の受信
  • CloudWatch アラームの状態変化の通知
  • Security Hub の検出結果の通知
  • EC2 インスタンスの状態変更の通知
  • Cost Anomaly Detection の異常検出通知
クラウドおさる

運用で気になるイベントがひととおりカバーされてるんですね。無料で使えるのもうれしいです。

通知設定の構成要素

クラウドおさる

User Notifications を使うには、どんな要素を設定すればいいんですか?

土肥

大きく 4 つの要素で構成されているよ。まず表で整理するとこんな感じだね。

要素説明
通知設定(Notification configuration)どのイベントを通知するかを定義するルール
イベントルール(Event rule)通知対象のイベントソースとフィルタ条件
チャネル(Channel)通知の配信先(E メール、Chatbot)
通知ハブ(Notification hub)特定のリージョンで通知を処理するエンドポイント
クラウドおさる

通知設定の中にイベントルールとチャネルがあって、通知ハブがリージョンごとに処理する…という構造ですか?

土肥

そのとおり。「何を通知するか」をイベントルールで決めて、「どこに届けるか」をチャネルで決める。それを通知設定としてまとめるイメージだよ。

通知設定・イベントルール・チャネルの関係を示す図解
通知設定・イベントルール・チャネルの関係を示す図解
クラウドおさる

役割が分かれているから、あとからチャネルだけ追加したりもできそうですね。

イベントソース

クラウドおさる

イベントルールで指定する「イベントソース」って、どんなサービスに対応してるんですか?

土肥

User Notifications は EventBridge を通じていろんな AWS サービスのイベントを受信できるんだ。代表的なものを挙げるとこんな感じだよ。

イベントソース通知の例
AWS Healthメンテナンス予定、サービス中断
Amazon EC2インスタンスの状態変更
CloudWatchアラームの状態変化
Security Hubセキュリティ検出結果
AWS Cost Anomaly Detectionコスト異常の検出
クラウドおさる

セキュリティ系からコスト系まで幅広いですね。裏側で EventBridge が動いてるんですね。

土肥

そうなんだ。EventBridge のイベントバスに流れてくるイベントを User Notifications がキャッチして、人間に届けてくれる仕組みだよ。

通知ハブ

クラウドおさる

さっき出てきた「通知ハブ」って、もう少し詳しく教えてもらえますか?

土肥

通知ハブは、特定のリージョンで通知を集約・処理するためのエンドポイントなんだ。通知設定を作成すると、指定したリージョンに通知ハブが自動的に有効化されるよ。

クラウドおさる

リージョンごとに処理されるということは、東京リージョンのイベントは東京の通知ハブで処理されるんですか?

土肥

そのとおり。ただし注意点があって、IAM や CloudFront のようなグローバルサービスのイベントを受信するには、us-east-1 リージョンの通知ハブを有効化する必要があるんだ。

クラウドおさる

なるほど、グローバルイベントは us-east-1 に集まるんですね。忘れずに有効化しないといけないですね。

EventBridge ルールとの違い

クラウドおさる

EventBridge ルールでも通知って設定できますよね? User Notifications とどう使い分ければいいんですか?

土肥

いい質問だね。どちらもイベントに基づく通知ができるんだけど、用途が違うんだ。比較表で見てみよう。

観点AWS User NotificationsEventBridge ルール
主な用途人への通知(運用チーム向け)システム間連携(自動化)
設定の容易さコンソールから簡単に設定ルールとターゲットの詳細設定が必要
通知先E メール、Chatbot、コンソールLambda、SQS、SNS など多数
フィルタリングサービス単位・イベントタイプ単位イベントパターンの詳細なマッチング
クラウドおさる

User Notifications は「人に知らせる」ためのもので、EventBridge ルールは「システムを動かす」ためのものなんですね。

土肥

そういうこと。運用チームが目で見て判断するような通知には User Notifications、イベントをトリガーに Lambda を起動したり SQS にメッセージを送ったりする自動化には EventBridge ルール、と覚えておくとわかりやすいよ。

クラウドおさる

目的に合わせて使い分ければいいんですね。すっきりしました。

新卒・未経験の方へ
クラウドおさる

AWS を仕事にしたい方へ ── 新卒・未経験から

この記事を書いているのは、AWS の設計・構築を仕事にしている現役エンジニアです。運営元の株式会社ジェニュインでは、新卒・未経験の方を募集しています。プログラミング未経験から入社して活躍しているメンバーもいます。

  • ✓システム開発・WEB エンジニア / インフラ構築などの職種で、未経験から応募できます
  • ✓未経験から入社した社員の声を含む社員アンケートを掲載
  • ✓応募フォームから 1 分で応募できます

実践

前提条件

  • リージョン: ap-northeast-1(東京)
  • IAM ユーザーまたはロールに AWS User Notifications、EC2 の操作権限があること
  • 通知を受け取る E メールアドレスが利用可能であること

作成するリソース一覧

リソース種別リソース名用途
通知設定ec2-state-change-notificationEC2 インスタンスの状態変更通知
E メール受信者csl-notify通知の配信先(配信チャネル)
EC2 インスタンスnotif-demo通知を発生させるための検証用(既存のインスタンスでも可)

ステップ1: AWS User Notifications コンソールにアクセスする

  • AWS マネジメントコンソールにログインし、リージョンが ap-northeast-1(東京)であることを確認します
  • 上部の検索バーに User Notifications と入力し、表示された「AWS User Notifications」を選択します
  • 「通知センター」が表示されます。User Notifications はグローバルサービスなので、右上のリージョンは「グローバル」になります
  • 「最新の通知」には、通知設定を作らなくても届く AWS Health の通知(メンテナンスや仕様変更のお知らせ)がすでに並んでいます
User Notifications ダッシュボード画面
User Notifications ダッシュボード画面

ステップ2: 通知設定を作成する

  • 左側ナビゲーションの「通知設定」を選択し、「通知設定を作成」をクリックします
通知設定一覧画面(「通知設定を作成」ボタンが表示されている状態)
通知設定一覧画面(「通知設定を作成」ボタンが表示されている状態)
  • 「名前と説明」に以下の内容を入力します
  • 名前: ec2-state-change-notification
  • 説明: EC2 インスタンスの状態変更を通知

ステップ3: イベントルールを設定する

  • 「イベントルール」の「パターンビルダー」で以下を設定します。ドロップダウンは検索欄に文字を入力すると絞り込めます
  • AWS のサービスの名前: EC2
  • イベントタイプ: EC2 Instance State-change Notification(「任意の状態」「任意のインスタンス」はデフォルトのまま)
  • リージョン: Asia Pacific (Tokyo)
  • 「集約設定」は「5 分以内に受領 (推奨)」のままにします。短時間に同じ種類のイベントが続いても、まとめて 1 通で届く設定です
イベントルールの設定画面(イベントソースとイベントタイプを選択した状態)
イベントルールの設定画面(イベントソースとイベントタイプを選択した状態)

ステップ4: チャネルを設定する

  • 「配信チャネル – オプション」で「E メール」のタイルを選択します
  • 表示された「受信者」に、通知を受け取る E メールアドレスと、受信者の名前(例: csl-notify)を入力します
  • 「通知ハブの選択」は、通知データを保存するリージョンです。デフォルトの US East (N. Virginia) のままで構いません
チャネル設定画面(E メールアドレス入力済みの状態)
チャネル設定画面(E メールアドレス入力済みの状態)
  • 「通知設定を作成」をクリックします
  • 通知設定の一覧に ec2-state-change-notification が追加されるので、名前をクリックして詳細を開きます
  • 「ステータス」が「アクティブ」、「イベントルール」に EC2 のルールが「アクティブ」で登録され、「配信チャネル」の E メールは検証が済むまで「保留中」と表示されます
通知設定の作成完了画面(詳細画面。ステータスがアクティブ、E メールが保留中の状態)
通知設定の作成完了画面(詳細画面。ステータスがアクティブ、E メールが保留中の状態)

ステップ5: E メールアドレスを確認する

  • 入力した E メールアドレス宛に AWS から確認メールが届きます
  • メール内の確認リンクをクリックして、E メールアドレスの検証を完了します。検証が済むと配信チャネルのステータスが「アクティブ」になり、以降の通知がメールで届くようになります
  • 検証前でも、コンソールの通知センターには通知が表示されます

ステップ6: 通知の動作を確認する

通知が正しく動作することを確認するために、EC2 インスタンスの状態を変更します。

  • 上部の検索バーに EC2 と入力し、表示された「EC2」を選択します
  • 左側ナビゲーションの「インスタンス」を選択します
  • 検証用のインスタンス(notif-demo)を選択し、「インスタンスの状態」→「インスタンスを停止」を選択します
  • 確認ダイアログで「停止」をクリックします

インスタンスの状態が変更されると、イベントが通知設定に届きます。集約設定が「5 分以内に受領」なので、通知センターやメールに現れるまで数分かかります。

ステップ7: 通知センターで通知を確認する

  • AWS User Notifications コンソールに戻り、左側ナビゲーションの「通知センター」を選択します
  • 「最新の通知」に「Multiple events — There were 2 ec2 notifications within 5 minutes」のような通知が表示されていることを確認します。集約設定により、停止中(STOPPING)と停止済み(STOPPED)の 2 つのイベントが 1 通にまとめられています
  • 通知のタイトルをクリックすると、まとめられた個々のイベント(インスタンス ID と状態)、通知設定の名前、リンクされた通知の一覧が確認できます。上部ナビゲーションのベルアイコンからも同じ通知が見られます
通知センターに EC2 インスタンスの状態変更通知が表示されている画面
通知センターに EC2 インスタンスの状態変更通知が表示されている画面

まとめ

  • AWS User Notifications は、AWS アカウント内のイベント通知を一元管理するサービスである
  • 通知設定でイベントソースとイベントタイプを指定し、E メールや Chatbot で受け取れる
  • 通知ハブはリージョンごとにイベントを集約する仕組みで、グローバルイベントには us-east-1 の有効化が必要である
  • EventBridge ルールがシステム間連携向けであるのに対し、User Notifications は人への通知に特化している
  • AWS Health イベントやセキュリティ検出結果など、運用上重要な通知の見落とし防止に有効である

参照先

キャリア相談
クラウドおさる

独学の先に、AWS の仕事がある ── ジュニアおさるのキャリア相談

CLF には受かったけれど、次に何をすればいいのか分からない。独学で AWS を学ぶジュニアおさるの相談に、株式会社ジェニュイン代表の土肥が答えています。

  • ✓資格はゴールか、CLF の次に何から手を付けるか
  • ✓EC2 の次に作ってみる構成と、IaC・コスト管理
  • ✓実務経験ゼロでも、面接で話せる「これまで」の作り方
新卒・未経験の方へ
クラウドおさる

AWS を仕事にしたい方へ ── 新卒・未経験から

この記事を書いているのは、AWS の設計・構築を仕事にしている現役エンジニアです。運営元の株式会社ジェニュインでは、新卒・未経験の方を募集しています。プログラミング未経験から入社して活躍しているメンバーもいます。

  • ✓システム開発・WEB エンジニア / インフラ構築などの職種で、未経験から応募できます
  • ✓未経験から入社した社員の声を含む社員アンケートを掲載
  • ✓応募フォームから 1 分で応募できます

この記事が気に入ったら
フォローしてね!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

株式会社ジェニュイン(https://genuine-pt.jp)の代表取締役.

2018年〜インフラエンジニアとしてキャリアをスタートし、オンプレミスのネットワーク・サーバ環境で3年半、クラウド環境で4年半の8年間エンジニアとして従事。
2021年に佐藤氏の創業した株式会社Luxyを引き継ぎ、代表に就任。
その後アガルートグループ内の株式会社ジェニュインと合併。
合併後同社代表に就任。

目次