AWS Config で実現する継続的コンプライアンス監視 - ルール評価と自動修復
AWS Config によるリソース構成の記録、Config ルールによるコンプライアンス評価、自動修復アクションの設定を解説します。
Config の概要
AWS Config は AWS リソースの構成変更を継続的に記録し、コンプライアンスを自動評価するサービスです。EC2 インスタンスのセキュリティグループ変更、S3 バケットのパブリックアクセス設定変更、IAM ポリシーの変更など、あらゆるリソースの構成変更が記録されます。200 以上のマネージド Config ルールで「S3 バケットのパブリックアクセスがブロックされていること」などの条件を定義し、非準拠リソースを自動検出します。構成アイテム (Configuration Item) にはリソースのメタデータ、属性、関連リソース、構成スナップショットが含まれ、任意の時点でのリソース状態を再現できます。
ルールと自動修復
マネージドルールは AWS が提供する事前定義ルールで、s3-bucket-public-read-prohibited、ec2-instance-no-public-ip、iam-password-policy など 200 以上が利用可能です。カスタムルールは Lambda 関数で独自の評価ロジックを実装します。Guard ルールは AWS CloudFormation Guard の宣言型構文でポリシーを定義でき、Lambda を書かずにカスタムルールを作成できます。自動修復では非準拠リソースの検出時に SSM Automation ドキュメントを実行し、例えば S3 バケットのパブリックアクセスを自動的にブロックします。修復アクションには手動承認ステップを挟むことも可能で、本番環境での意図しない変更を防ぎます。トリガーは変更トリガー (リソース変更時に即座に評価) と定期トリガー (1 時間、3 時間、6 時間、12 時間、24 時間) を選択でき、変更頻度の少ないルールには定期トリガーを適用してコストを削減します。
コンフォーマンスパックと集約
コンフォーマンスパックは複数の Config ルールと修復アクションをパッケージ化したテンプレートで、CIS Benchmark、PCI DSS、NIST 800-53 などのコンプライアンスフレームワークに対応した事前定義パックが提供されています。カスタムコンフォーマンスパックで組織固有のルールセットを定義し、Organizations 全体に一括デプロイできます。Config アグリゲーターは複数アカウント・複数リージョンのコンプライアンス状況を 1 つのアカウントに集約し、組織全体の準拠状況をダッシュボードで可視化します。高度なクエリで「暗号化されていない EBS ボリュームを持つ全アカウントのリソース」のような横断的な検索を実行できます。 Config に関する詳しい解説はAmazon の関連書籍でも確認できます。
設計のベストプラクティスと落とし穴
Config を有効化する際、全リソースタイプの記録を有効にすると構成アイテム数が爆発的に増加しコストが膨大になります。まず IAM、S3、EC2、RDS などセキュリティに直結するリソースタイプのみを記録対象にし、段階的に拡大する戦略が推奨です。自動修復の設定で注意すべきは、修復アクションが別のルール違反を引き起こすカスケード修復のリスクです。例えば「セキュリティグループのインバウンドルールを削除する」修復がアプリケーション通信を遮断する場合があります。自動修復は最初に DryRun モードで実行結果を確認し、段階的に自動化するアプローチが安全です。Organization 全体でルールをデプロイする際、一部のアカウント (サンドボックスや開発環境) を除外リストで管理し、過剰な評価を避けます。Config の記録と CloudTrail の記録は補完関係にあり、Config は「状態の変化」を記録し CloudTrail は「誰がその変更を行ったか」を記録するため、インシデント調査では両方を組み合わせて使います。
Config と Security Hub の連携
AWS Security Hub は Config ルールの評価結果を自動的に集約し、セキュリティスコアとして可視化します。Security Hub を有効にすると CIS AWS Foundations Benchmark や AWS Foundational Security Best Practices の Config ルールが自動的にデプロイされ、各リソースのコンプライアンス状態がスコアカードとして表示されます。Config 単体では個々のルール評価結果をアグリゲーターで集約しますが、Security Hub はこれを優先度付けされたファインディングとして整理し、Critical・High・Medium・Low に分類します。実務上の使い分けとして、Config はルール定義・カスタム評価・自動修復のエンジン、Security Hub は組織全体のセキュリティポスチャの可視化ダッシュボードとして機能します。Security Hub 経由で Config ルール違反を EventBridge に送り、チケット自動起票や Slack 通知を実装するパターンも一般的です。
Config の料金最適化
Config の料金は記録された構成アイテム数 (1 つあたり約 0.003 ドル)、ルール評価数 (1 評価あたり約 0.001 ドル)、コンフォーマンスパック評価数で構成されます。全リソースタイプの記録を有効にすると構成アイテム数が膨大になるため、コンプライアンスに必要なリソースタイプのみを記録対象にすることでコストを管理します。ルールの評価頻度を定期的 (24 時間ごと) と変更トリガーで使い分け、変更が少ないリソースには定期評価を適用します。Config の高度なクエリは追加料金なしで利用でき、コンプライアンスレポートの作成に活用できます。大量のルールを持つアカウントでは、同一の評価結果が変わらないリソースに対する再評価を減らすため、変更トリガーの活用がコスト効率に直結します。
まとめ
AWS Config はリソースの構成変更を記録し、コンプライアンスを継続的に評価するサービスです。コンフォーマンスパックで CIS Benchmark や PCI DSS のルールセットを一括デプロイし、アグリゲーターで組織全体の準拠状況を可視化します。自動修復で非準拠リソースの検出から修正までを自動化し、継続的なコンプライアンスを維持します。