【5分で設定】EC2インスタンスの状態変更をAWS User Notificationsで通知してみた
こんにちは!AWS事業本部のおつまみです。
EC2インスタンスの状態変更をメール通知で受け取りたいなぁと思ったことはありますか?私はあります。
従来はメール通知を受け取るために、以下のサービスを利用する必要がありました。
- Amazon EventBridge
- Amazon SNS
またSNSから届くメールの文面は、そのままだJSON形式になっているため、分かりづらい内容でした。
しかし、2023年5月に発表されたAWS User Notificationsにより、簡単に実装、かつメール文面がわかりやすくなりました!
そこで本記事では、EC2インスタンスの状態変更をメール通知する方法をご紹介します。
今回はAWS User Notifications についての詳細な説明は割愛しますが、はじめて触る方はこちらの記事をご確認ください。
設定してみた
通知ハブの設定
マネジメントコンソールの右上のベルマークアイコンを選択し、通知設定を作成
を選択します。
はじめに、通知ハブ
の設定が必要となります。メインで使っているリージョンを選択し、保存して続行
を選択します。
ステータスがアクティブ
になっていることが確認できます。
配信チャネルの作成
今回はベーシックにメールで通知を受け取るよう設定します。
配信チャネル
を選択し、Eメールの追加
を選択します。
受信者
と名前
を入力し、Eメールの追加
を選択します。
設定したアドレス宛に承認依頼メールが届くので、Verify email
選択します。
AWSマネジメントコンソールに遷移し、Eメールが検証されたことが確認できます。
検証ステータスがアクティブ
になっていることが確認できます。
通知設定の作成
最後にメインとなる配信設定を作成します。
配信設定
を選択し、通知設定を作成
を選択します。
任意の名前を入力します。
今回はEC2インスタンスの起動時のみを通知するような設定にしたため、以下の名前にしました。
- ec2-instance-running-alarm
イベントルールを設定します。
- AWSのサービスの名前: EC2
- イベントタイプ: EC2 Instance State-change Notification
- 特定の状態: runnning
- 任意のインスタンス
- リージョン: Asia Pacific(Tokyo)
今回は Asia Pacific(Tokyo) でEC2インスタンスが起動した場合を通知条件としました。
全ての状態を通知したい、特定のEC2インスタンスのみ通知したい、といった場合は、カスタマイズしてください。
次に集約設定を設定します。
- Do not aggregate(集約しないでください)
今回は条件に合致した場合にすぐに通知をしてほしかったため、Do not aggregate
を選択しました。
用途に応じて選択してください。
最後に配信チャネルを設定します。
既に作成した受信者を選択してください。
ステータスがアクティブ
になっていることが確認できます。
通知してみた
東京リージョンでEC2インスタンスを起動します。
起動後すぐに、設定したアドレス宛にメールが通知されました!
メール文面のView details in service console
を選択してみます。
起動しているEC2インスタンスのマネジメントコンソール画面が表示されました。
迅速に状態を確認したい場合に便利ですね!
おまけ:通知履歴の確認
通知センターから通知履歴が確認できます。
現在はタイトル
、Message
、タイムスタンプ
が表示されていますが、カスタマイズできます。右上の歯車を選択します。
デフォルトでは、タイトル
、Message
、タイムスタンプ
となっています。
全てのプロパティをオンにし、確認
を選択します。
リージョン
、Service Name
、アカウントID
が表示されました。
複数の配信設定を作成している場合は、表示させた方が便利だと思いました。
またアカウントIDが表示されていることから、今後のアップデートでOrganizationsと連携されるのではないかなとニヤニヤしました。
最後に
今回はEC2インスタンスの状態変更をAWS User Notificationsで通知する方法をご紹介しました。
従来に比べ、設定が簡単かつメールが見やすくなったので、非常に便利ですね!
現時点ではOrganizationsと連携していなかったり、全てのAmazon EventBridgのイベントパターンをサポートしていないため、今後のアップデートが楽しみです。
最後までお読みいただきありがとうございました!
どなたかのお役に立てれば幸いです。
以上、おつまみ(@AWS11077)でした!