Amazon EventBridge Schedulerで定期的にAWS Configルールを再評価してみた
はじめに
AWS Configルールは、リソースを評価するタイミングが、2種類あります。
AWSリソースに変更があった場合と定期的な頻度で評価する場合の2つです。
自分が作成したConfigルールは、AWSリソースに変更があった場合のみ、評価するタイプだったのですが、定期的な頻度で評価したい要件があったため、今回EventBridge Scheduler で定期的に再評価する方法をまとめました。
EventBridge Scheduler用のIAMロールを作成
EventBridge Scheduler用のIAMロールを作成します。
まず、Configの再評価のアクションでありStartConfigRulesEvaluation
を許可するポリシーを作成します。
{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": "config:StartConfigRulesEvaluation", "Resource": "arn:aws:config:*:アカウントID:config-rule/*" } ] }
IAMロールは、カスタム信頼ポリシーを選択し、作成したポリシーをアタッチします。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "scheduler.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
今回はStartConfigRulesEvaluationFromEventBridgeScheduler
というロール名で作成しました。
EventBridge Schedulerでスケジュールを作成
定期的なスケジュールで、今回は、毎朝09:00に再評価するようcron式を0 9 * * ? *
と設定します。
再評価するConfig APIは、StartConfigRulesEvaluation
です。
API に渡すパラメータは、Configルール名です。下記のリファレンスを参考にしました。
私の場合、下記の通りに設定しました。
{ "ConfigRuleNames": [ "Configルール名"] }
先程作成したStartConfigRulesEvaluationFromEventBridgeScheduler
を選択し、スケジュールを作成します。
設定した時間になると、EventBridge Schedulerが起動し、Configルールの再評価が行われました。(9:00までに設定が終わらなかったため、起動時間を変えてます。)
最後に
EventBridge Schedulerで定期的にAWS Configルールを再評価する方法をご紹介しました。
EventBridge SchedulerのみでConfigルールを再評価するAPIをリクエストできるので、Lambdaを利用する必要がなく、コードレスで実現できる点がよいですね。
ご参考になれば幸いです。