cloudwatch eventsとは?
イベントソースを定義することでリソースの変更をリアルタイムに取得し、
AWSのアクションをトリガーすることができます。
とりあえずAPIで取ってきたものに対してなにかアクションを行うようなことをします。
構成図
今回の構成図は以下で、シンプルです。
EC2インスタンスが停止されるとSNSでメールが来る仕組みを作りたいと思います。
作成
目次
- EC2インスタンスの作成
- SNSトピックの作成
- cloudwatch eventsの作成
- アラートの発火
EC2インスタンスの作成
今回は省略します
作成方法は こちら をごらんください
SNSトピックの作成
- 移動
ホーム > SNS > トピック から、トピックの作成を行います。
- トピックの作成
トピックの作成を行います。
タイプはベストエフォート型のスタンダードで、
名前・表示名ともに cloudwatch-ec2-notification
とします。
それ以外は特に変更せずに作成を行います。
- トピックの作成が完了
トピックの作成が完了しました。
- サブスクリプションの作成
サブスクリプションの作成を行います。
作成方法は↑の画面の下の方に サブスクリプションの作成
のボタンがあるのでそこから進みます。
- サブスクリプションの詳細を設定
サブスクリプションの詳細を決めます。
こちらは、通知先を記載する箇所になります。
プロトコルはどんな方法で通知するのかの方法でEメールに、
エンドポイントは通知先のメールアドレスを記載します。
それ以外は特に記載せず作成を行います。
- サブスクリプションの作成完了
サブスクリプションが作成されました
- サブスクリプションの承認
現在、サブスクリプションが保留中になっているのでメールで承認します。
メールに以下のように承認メールが来ているので Confirm subscription
を押すと承認することが出来ます。
承認完了画面に切り替わりました。
SNSのサブスクリプションをリロードすると以下のように承認済みになりました。
cloudwatch eventsの作成
- 移動
ホーム > cloudwatch > イベント > ルール から ルールの作成を行います。
- ステップ 1: ルールを作成する - イベントソース
まずはイベントソースを作成します。
イベントパターンとしては、イベントが一致したときの設定です。
サービス名はEC2
イベントタイプはEC2 Instance State-change Notification
特定のインスタンスが状態はstoppedになったときに、トリガーを発火します。
- ステップ 1: ルールを作成する - ターゲット
ターゲットは先ほど作成したSNSトピックを設定とします。
こちらで設定を完了として、詳細設定に移ります。
- ステップ 2: ルールの詳細を設定する
ルールの名前と説明を記載します。
どちらも ec2-alart
と、ルールの作成を行います。
- ルールの設定完了
ルールが設定されました。
アラートの発火
- インスタンスの停止
トリガーとしてインスタンスを停止させます。
停止させました
- メールの確認
メールが飛んできましたーわーい
インスタンスが停止しました的なことが見受けられます
勉強後イメージ
やってみたほうがイメージついたかも。
cloudwatch eventsではSNSの設定はできなさそうなのねー