Amazon EventBridge Schedulerで定期的にAWS Configルールを再評価してみた

Amazon EventBridge Schedulerで定期的にAWS Configルールを再評価してみた

Clock Icon2023.09.08

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

はじめに

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を利用する必要がなく、コードレスで実現できる点がよいですね。

ご参考になれば幸いです。

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.