はじめに
こんにちは。
今回はAWSコンソールから AWS EventBridge のルールを作成する際に、指定のプレフィックスが付いていない既存のCloudWatchロググループをターゲットに指定する方法を紹介します!
現状AWSコンソールからルールを作成すると、ターゲットをCloudWatchロググループに指定する場合は、「/aws/events/」というプレフィックスが付いていないと指定できないという仕様になっています。
しかし、指定プレフィックスが付いていないCloudWatchロググループでも AWS CloudShellを活用することでこの仕様を回避することができます!
ターゲット用として準備したCloudWatchロググループの名前にプレフィックスが付いておらず選択できない!と困っている方に向けたTipsとして参考にしてみてください!ではさっそく、手順をご紹介します!
前提条件
- ターゲットに指定するCloudWatchロググループが作成済みであること
- CloudShellからEventBridgeを操作するための適切なIAM権限があること
※events:PutRule events:PutTargets等
手順
1.CloudShellを開く
AWSコンソールからCloudShellを実行します
2.EventBridgeルールを作成する
実行するルール作成コマンドは以下です。
- 名前・イベントパターンは必須のため任意の値を指定してください。
- イベントパターンは後から編集可能なため仮の値でもOKです。
- 名前やイベントバスなどは後から編集できないので注意が必要です。
- その他オプション等についてはこちらを参照ください。
aws events put-rule \
--name Testrule \
--event-pattern '{"source":["aws.ec2"]}'

3.既存CloudWatchロググループをターゲットに紐づける
実行するターゲット紐づけコマンドは以下です。
- rule部分には作成したルール名を指定してください。
- Arn部分には紐づけたい既存のCloudWatchロググループのARNを指定してください。
aws events put-targets \
--rule Testrule \
--targets '[
{
"Id":"CloudWatchLogsTarget",
"Arn":"arn:aws:logs:xxxxxxxx"
}
]'

4.AWSコンソールで作成確認をする
指定した値でルールの作成とロググループの紐づけが出来ていることが確認できます。

必要に応じてルールの編集画面から各設定値の編集を行う
作成したルールの「編集」ボタンから各設定値の編集が可能です。

まとめ
AWSコンソール特有の仕様をコマンドを活用すれば回避できることがあるので要チェックですね。
以上、「EventBridgeルールでプレフィックスのないCloudWatchロググループをターゲットに指定する方法」のご紹介でした!


