はじめに
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を利用する必要がなく、コードレスで実現できる点がよいですね。
ご参考になれば幸いです。