AWS CloudTrailのAPI操作をCloudWatchEventで検知してSNSで通知する


今回のゴール

CloudTrailで下記のようなイベントを検知したい時があると思います。

  • リソースが作成、変更、削除された
  • セキュリティーグループが変更された。
  • IAMユーザーやアクセスキーが作成された。

検知する方法は、

  • CloudWatchLogs経由
  • CloudWatchEvent経由

があるのですが、今回はCloudWatchEvent経由でEC2インスタンスが作成された時にSNSを使用して通知する仕組みを構築します。

CloudTrailの設定

CloudTrail証跡を作成する必要があります。
未作成の時は下記を参照ください。

Organizationsを使用する場合は下記を参照ください。

SNSの設定

SNSトピックの作成

通知用のSNSトピックを作成します。

SimpleNotificationServiceより、「トピックの作成」をクリックします。

[タイプ]:スタンダード
[名前]:任意
[表示名]:任意

SNSサブスクリプションの作成

「サブスクリプションの作成」ボタンをクリックします。

[プロトコル]:Eメール
[エンドポイント]:通知先のメールアドレス

サブスクリプション作成後、入力したメールアドレスに確認メールが届きますので、リンクをクリックして有効にしてください。

CloudWatchの設定

CloudWatchEventの設定

CloudWatchサービスの[イベント]-[ルール]から「ルールの作成」をクリックします。

【ルールを作成する】
[サービス名]:EC2
[イベントタイプ]:AWS API Call via CloudTrail
“特定のオペレーション”にチェックを付け”RunInstances”
[ターゲット]:”SNSトピック”を選択して、先ほど作成したSNSトピックを選択します。

参考)
EC2 APIリファレンス Actions

【ルールの詳細を設定する】
[名前]:任意

確認

EC2のインスタンスを作成すると、メールが送信されることを確認できました。


コメントを残す

メールアドレスが公開されることはありません。