EventBridgeとSNSでEC2起動時の自動メール通知を実装する方法

EventBridgeとSNSでEC2起動時の自動メール通知を実装する方法

AWSのEventBridgeとSNSを組み合わせて、EC2インスタンスが起動したときに自動でメール通知を受け取る方法を解説します。
Clock Icon2024.12.13

【AWS】EventBridgeとSNSでEC2起動時の自動メール通知を実装する

こんにちは!前越です。

今回は、AWSのEventBridgeSNS を使用して、EC2インスタンスが起動したときに自動でメール通知を受け取る方法をご紹介します。

システム構成


スクリーンショット 2024-12-03 15.38.47


EventBridgeSNSEmail通知 という流れで、EC2の起動を検知して通知します。

実装手順

1. SNSトピックの作成

まずは通知の送信先となるSNSトピックを作成します。

  1. AWSマネジメントコンソールで「SNS」を開く
  2. 左メニューから「トピック」を選択
  3. 「トピックの作成」をクリック
  4. 以下の項目を入力:
    • タイプ:スタンダード
    • 名前:Ec2-startup-notification
  5. 「トピックの作成」をクリック

FireShot Capture 002 - トピックの作成 - トピック - Simple Notification Service - ap-northeast-1_ - ap-northeast-1.console.aws.amazon.com


2. メール通知用のサブスクリプション作成

作成したSNSトピックにメール通知用のサブスクリプションを追加します。

  1. 作成したトピックを選択
  2. 「サブスクリプションの作成」をクリック

スクリーンショット 2024-12-13 17.50.12


  1. 以下の項目を入力:
    • プロトコル:Eメール
    • エンドポイント:通知を受け取りたいメールアドレス
  2. 「サブスクリプションの作成」をクリック

スクリーンショット 2024-12-03 15.58.06


スクリーンショット 2024-12-03 16.02.37


上手くできてたら作成したトピックのステータスが 「確認済み」 になります


スクリーンショット 2024-12-03 16.07.03


3. EventBridgeルールの作成

EC2の起動イベントを検知するためのルールを作成します。

  1. EventBridgeコンソールを開く
  2. 「ルールを作成」をクリック

スクリーンショット 2024-12-03 16.11.35


  1. 以下の項目を設定:
    • 名前:ec2-startup-notification
    • イベントパターン:
      {
        "source": ["aws.ec2"],
        "detail-type": ["EC2 Instance State-change Notification"],
        "detail": {
          "state": ["running"]
        }
      }
      
  2. ターゲットの設定:
    • ターゲットの選択:SNSトピック
    • トピック:先ほど作成したSNSトピックを選択
  3. 「ルールの作成」をクリック

スクリーンショット 2024-12-03 16.18.22


動作確認

test という適当なEC2インスタンスを起動してみる


スクリーンショット 2024-12-03 16.22.51


・・・

数分後にEメール通知が届きましたー!


スクリーンショット 2024-12-03 16.23.00


構成する上でハマったとこ

実装中、特に注意が必要だった点をご紹介します。

SNSサブスクリプションの確認忘れに注意!

私も最初、この確認作業を見落としていました...!
その結果:

  • サブスクリプションのステータスが「確認済み」にならず
  • EC2を起動しても通知が一切来ない
    という状態になってしまいました。

正しい手順

  1. サブスクリプション作成後、確認メールを待つ
  2. メール内の Confirm subscription リンクをクリック
  3. ステータスが「確認済み」になったことを確認

この手順を踏むことで、確実に通知を受け取ることができます!

まとめ

EventBridgeとSNSを組み合わせることで、簡単にEC2インスタンスの起動通知を実装できました。
この仕組みは他のAWSサービスのイベント監視にも応用可能で、AWSの基本的なイベント処理パターンの一つとして広く使われています。
このブログが参考になれば幸いです!

参考リンク

アノテーション株式会社について

アノテーション株式会社はクラスメソッドグループのオペレーション専門特化企業です。サポート・運用・開発保守・情シス・バックオフィスの専門チームが、最新ITテクノロジー、高い技術力、蓄積されたノウハウをフル活用し、お客様の課題解決を行っています。当社は様々な職種でメンバーを募集しています。「オペレーション・エクセレンス」と「らしく働く、らしく生きる」を共に実現するカルチャー・しくみ・働き方にご興味がある方は、アノテーション株式会社 採用サイトをぜひご覧ください。

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.