本記事ではEventBridgeとAmazon SNSを使用してルートユーザのログインを通知する仕組みを作成します。
Simple Notification Service (Amazon SNS)とは
Amazon SNSとは、サーバレスでメッセージの配信を可能にするサービスです。エンドポイントとしてAmason SQL、AWS Lambda、HTTP、Eメールなどがサポートされています。
EventBridgeとは
EventBridgeとは、AWSで発生するイベントを様々なアプリケーションに配信するサービスです。今回はルートユーザログインをトリガーとするEventBridgeルールを作成しAmazon SNSに連携します。
早速やってみる
今回はこちらの手順でメール通知を行います。
また、今回の構成図はこちらになります。
EventBridgeでログイン検知→Amazon SNSからメール送信
Amazon SNSの設定
1.リージョンを「バージニア北部」に変更し、Amazon SNS > トピック >トピックの作成を選択します。タイプを「スタンダード」にし名前を入力後、トピックを作成します。(今回はTestで作成)
2.トピックの作成が完了したら「サブスクリプションの作成」を選択します。
3.先ほど作成したトピックとプロトコルにEメールを選択します。
エンドポイントにメールアドレスを入力し、「サブスクリプションの作成」を選択します。
4.入力したメールアドレスに以下のメールが届いていることを確認します。
「Confirm subscription」にアクセスし「Subscription confirmed!」の表示を確認します。
5.作成したトピックを開きステータスが「確認済み」になっていれば完了です。
EventBridgeの設定
1.リージョンを「バージニア北部」に変更し、EventBridge>ルール>ルールを作成を選択します。ルールタイプを「イベントパターンを持つルール」にし名前を入力後「次へ」(今回はtestで作成)
2.作成のメソッドで「カスタムパターン」を選択し、イベントパターンに以下のJSONを入力し「次へ」(その他は初期設定)
3.ターゲットタイプで「AWSのサービス」を選択し、先ほど作成したSNSトピックを選択し「レビューと作成」まで進みルールを作成します。(タグは未設定)
動作確認
1.リソースを作成したアカウントにルートユーザでログインします。
2.「AWS Notification Message」というメールが届いたら完了です。
終わりに
本記事ではAmazon SNSとEventBridgeを用いたルートユーザ通知を行いました。
EventBridgeのターゲットをLambdaに変更することでTeamsやSlackへの通知も可能です。機会があれば別の記事で紹介したいと思います。ここまでご覧いただきありがとうございました。
石河 幸介(日本ビジネスシステムズ株式会社)
2021年新卒入社。プロフェッショナルサービス事業本部に所属。 Azure・AWSに興味があります! 初年度にAzure Solutions Architect Expertを取得。 趣味はバレーボール。
担当記事一覧