AWS Config の公式テンプレートについて、押さえておきたいパラメータを整理してみた

AWS Config の公式テンプレートについて、押さえておきたいパラメータを整理してみた

Control Tower環境でAWS Configの記録設定をカスタマイズする際、公式テンプレートをのパラメータ設定における考え方を実務面からいくつか紹介します。INCLUSION/EXCLUSION の挙動や段階的な導入方法、更新時の注意点まで、実運用で気をつけるべきポイントをまとめています。
2026.09.02

こんにちは。
体脂肪率はA情報
運用イノベーション部のかわいです。

先日、とある環境で Control Tower のランディングゾーン設定を触る機会がありました。
すごく学びになった一方で、この手の作業は設定変更時の影響範囲が広いため、事前に綿密な調査が必要になります。

例えば AWS Config ですが、これは特にアカウントへの影響度が大きいサービスなので、コードでの管理が推奨されます。
その際役立つソリューションとして、Control Tower 利用環境向けに AWS Config の記録範囲等をカスタマイズできる公式テンプレートが提供されています。
https://aws.amazon.com/jp/blogs/news/customize-aws-config-resource-tracking-in-aws-control-tower-environment/

公式テンプレートは以下。
https://github.com/aws-samples/aws-control-tower-config-customization/blob/389003b744ef8c2c6ceb66edff9641db5f006a74/template.yaml

※テンプレートの導入については以下記事で詳しく解説されています。
https://dev.classmethod.jp/articles/202508-control-tower-config-recorder-customize/

また、各パラメータについては公式のREADMEで解説されているので、
https://github.com/aws-samples/aws-control-tower-config-customization

本記事では運用者目線で、以下の点に絞ってパラメータ設定の考え方を紹介します。

  • ConfigRecorderStrategyINCLUSIONEXCLUSIONにした際の挙動とのその使い分け
  • AccountSelectionModeをINCLUSIONにして、特定アカウントだけを段階的に対象にする方法(コスト感を見たい場合)
  • パラメータ変更を StackSet 経由で子アカウントに反映する際に気をつける点

INCLUSION/EXCLUTION 指定時の挙動について

まず重要なパラメータに、Config の記録方針を設定するConfigRecorderStrategyがあります。
これはEXCLUSIONINCLUSIONの2値を取り、基本はデフォルトの EXCLUTION になるかと思いますが、
記録方法に大きな違いが出るため、要件に応じて適切な値を選択します。

EXCLUSION(デフォルト値)

  • AWS Config がサポートする全リソースタイプをまず記録対象にしたうえで、ConfigRecorderExcludedResourceTypes に列挙したものだけを対象から外す
  • 仮に新しいAWSリソースタイプが将来リリースされると、明示的に除外リストに追加しない限り自動的に記録対象へ入る(記録量やコストが暗黙的に増えてる)
  • 基本は全部見たいけど、要らないものだけ間引きたいケース

INCLUSION

  • ConfigRecorderIncludedResourceTypes に列挙したリソースタイプだけを記録対象にする。列挙されていないものは一切記録されない
  • 新しいリソースタイプが追加されても、リストに追加しない限りは記録対象に入らない(勝手に増えないが、必要なものは適宜追加していく必要がある)
  • 監査要件で必須と決まっているリソースタイプだけを確実に記録したいケース向き
ConfigRecorderStrategy:
  Default: EXCLUSION
  Description: Config Recorder Strategy
  Type: String
  AllowedValues:
    - EXCLUSION
    - INCLUSION

前述の通り、EXCLUSION は全リソースタイプを記録対象にしたうえで ConfigRecorderExcludedResourceTypes に列挙したものだけを除外する方式。
対して INCLUSIONConfigRecorderIncludedResourceTypesに列挙したリソースタイプだけを記録対象にする方式です。

AccountSelectionMode

記録方法とは別に、そもそもどのアカウントを記録対象にするか?を決めるパラメータとしてAccountSelectionModeというものがあります。
こちらも先ほどと同様に EXCLUSION/INCLUSION の2値を取ります。

AccountSelectionMode:
  Description: Account selection mode - EXCLUSION (processes all accounts except those in ExcludedAccounts) or INCLUSION (processes only accounts in IncludedAccounts). Default is EXCLUSION for backward compatibility.
  Type: String
  Default: EXCLUSION
  AllowedValues:
    - EXCLUSION
    - INCLUSION

こちらも EXCLUSIONExcludedAccounts に記載したアカウント以外の全アカウントを、
INCLUSIONIncludedAccounts列挙したアカウントだけを対象とします。

記録方法(ConfigRecorderStrategy)とアカウント選定(AccountSelectionMode)は独立したパラメータなので、組み合わせは自由です。
新しい記録ポリシーを組織全体に適用するのが憚れる場合、例えばAccountSelectionMode: INCLUSIONに設定し、検証用アカウント1-2件だけをIncludedAccountsに指定、
想定通りの記録結果になることを確認したのち、AccountSelectionMode: EXCLUSIONに戻して組織全体へ展開する、という進め方が取れます。
これは、設定差分によるコスト感を、先行して一部OUやアカウントだけで確認したい場合などに有効です。

パラメータは置換される

ConfigRecorderIncludedResourceTypesExcludedAccounts等の値ですが、これらはスタック更新ごとに指定した値で上書きされます(既存の値に追記されない)。

例えば、現在AWS::S3::Bucket,AWS::CloudTrail::TrailをINCLUDE対象にしている状態で、新たにAWS::IAM::Roleを追加したい場合
、パラメータにはAWS::S3::Bucket,AWS::CloudTrail::Trailのように既存分も含めてカンマ区切りで指定する必要があります。
AWS::IAM::Roleだけを指定すると、既存2つのリソースタイプは記録対象から外れてしまいます。

スタック更新前に、現在デプロイされているテンプレートのパラメータを(見やすいので)マネジメントコンソールの「パラメータ」タブから確認し、
変更差分ではなく最終的な着地点を設計するのが分かりやすくて良いと思います。

更新の際は CloudFormationVersion の値を変更する

このソリューションはProducerLambdaTrigger(Custom Resource)がCloudFormationVersionパラメータの値をトリガーに動作する設計になっているため、
CloudFormation の更新だけでは子アカウントへの反映処理が走りません。該当箇所は以下。

ProducerLambdaTrigger:
  Type: "Custom::ExecuteLambda"
  Properties:
    ServiceToken: !GetAtt "ProducerLambda.Arn"
    FunctionName: !Ref ProducerLambda
    Version: !Ref CloudFormationVersion

仮にConfigRecorderStrategyConfigRecorderIncludedResourceTypesだけを変更してCloudFormationVersionを据え置くと、
Custom Resourceの入力値に変化がないと判定され、Producer Lambdaの再実行がトリガーされません。
パラメータ変更の際は、必ずCloudFormationVersionも現在の値より大きい値にインクリメントすることを忘れないようにしてください。


今日はここまで
また会う日まで

【参考】
https://aws.amazon.com/jp/blogs/news/customize-aws-config-resource-tracking-in-aws-control-tower-environment/
https://github.com/aws-samples/aws-control-tower-config-customization

※本記事の内容は2026年9月時点のテンプレート内容に基づいています。


そのマルチアカウント運用、気合いで支えていませんか

Organizations や Control Tower で土台は作れても、アカウントもポリシーも増えるほど、運用は「詳しい一人」に寄りかかっていく。属人化が限界を迎える前に、組織として回す仕組み=CCoEへ。5,600社の支援から得た立ち上げの型を、無料資料にまとめました。

CCoE総合支援

組織で回す仕組みの資料をもらう

この記事をシェアする

関連記事