目次

AWS Config 完全ガイド v2.0

初心者から実務者向けの包括的解説

AWS Config は、AWS リソースの 設定変更を継続的に記録・評価するサービス です。リソースの設定履歴・変更タイムライン・コンプライアンス評価(Config ルール)・自動修復を提供し、「誰が・いつ・何を変更したか」の監査証跡と「現在の設定がセキュリティ基準に準拠しているか」の継続評価を実現します。本ドキュメントは、Config の概念・アーキテクチャ・ルール・Conformance Pack・修復・集約・最新動向を体系的に解説する包括的ガイドです。

ドキュメントの目的

本ガイドは以下を対象としています。

  • 初心者向け: AWS Config とは何か、CloudTrail との違いを学びたい方
  • コンプライアンス実務者向け: Config ルール・Conformance Pack で ISO/PCI/NIST 準拠を整備したい方
  • セキュリティ担当者向け: S3 パブリックアクセス・EC2 セキュリティグループ設定の継続監視
  • SRE/インフラ向け: 自動修復(Remediation)で設定ドリフトを自動修正
  • 意思決定者向け: HashiCorp Sentinel、OPA Gatekeeper、Cloud Custodian との比較

2025-2026 年の AWS Config エコシステム

  • Conformance Pack 地域拡大(2025年11月): 追加リージョン対応で組織全体管理が容易化
  • Resource Timeline の完全実装: リソース設定変更の時系列可視化強化
  • Security Hub CSPM 統合拡大: Config ルール結果を Security Hub に自動連携
  • カスタムルール Lambda 統合: Python 3.12 対応、実行時間短縮
  • Remediation アクション拡大: AWS Systems Manager Automation との高度な連携
  • AI 駆動のコンプライアンス提案(検討中): 生成 AI による Config ルール推奨

目次

  1. 概要
  2. AWS Config が解決する課題
  3. 主な特徴
  4. アーキテクチャ
  5. 主要コンポーネント詳細
  6. Recorder と Configuration Items
  7. Config ルール(Managed・Custom)
  8. Conformance Pack
  9. Resource Timeline
  10. Aggregator:マルチアカウント・マルチリージョン
  11. Remediation:自動修復
  12. CloudFormation ドリフト検出
  13. 主要ユースケース
  14. 設定・操作の具体例
  15. 類似ツール比較表
  16. ベストプラクティス
  17. トラブルシューティング
  18. 2025-2026 最新動向
  19. 学習リソース
  20. 実装例・導入ロードマップ
  21. 実装チェックリスト
  22. まとめ
  23. 参考文献

概要

初心者向けメモ: AWS Config は「AWS リソースの設定が時間とともにどう変わったか」を記録し、「現在の設定が基準に準拠しているか」を評価するサービスです。CloudTrail は「誰が API を呼び出したか」を記録しますが、Config は「その API 呼び出しの結果、リソースの設定がどう変わったか」を記録します。

AWS Config は リソース設定管理・コンプライアンス評価・セキュリティ監視の基盤 です:

【図 1】AWS Config の位置づけ:

graph TD
    API["AWS リソース<br/>変更API"]
    
    API -->|設定変更検出| Recorder["Config Recorder<br/>(設定スナップショット)"]
    
    Recorder -->|Configuration Item<br/>保存| S3["S3 Bucket<br/>(設定履歴)"]
    
    Recorder -->|ルール評価| Rules["Config ルール<br/>(Managed/Custom)"]
    
    Rules -->|COMPLIANT/NON_COMPLIANT| Dashboard["Compliance Dashboard"]
    
    Rules -->|ルール違反時| Remediation["Remediation Action<br/>(自動修復)"]
    
    S3 -->|タイムライン| Timeline["Resource Timeline<br/>(変更履歴)"]
    
    Dashboard -->|集約| Aggregator["Aggregator<br/>(マルチ<br/>アカウント)"]
    
    Remediation -->|修復実行| SSM["Systems Manager<br/>Automation"]
    
    Dashboard -->|通知| EventBridge["EventBridge"]
    EventBridge -->|Alert| SNS["SNS/Slack"]
    
    Aggregator -->|Security Hub| SH["Security Hub"]
    SH -->|Dashboard| Security["セキュリティ<br/>チーム"]
    
    Timeline -->|CloudTrail| CT["CloudTrail"]

AWS Config がカバーするスコープ

対象 詳細
設定記録 200+ AWS リソースタイプの設定スナップショット・変更履歴
ルール評価 マネージドルール(AWS 提供・200+)、カスタムルール(Lambda)
Conformance Pack 業界標準(CIS/PCI/NIST)ルール集を一括デプロイ
タイムライン リソース設定の時系列変更可視化
自動修復 コンプライアンス違反を自動修正(Systems Manager Automation)
マルチアカウント Aggregator で全アカウント設定を一元把握

AWS Config が解決する課題

1. 設定変更の履歴把握が困難

課題:

  • EC2 セキュリティグループが 30 日前どういう状態だったか → 不明
  • S3 バケットの暗号化がいつ有効になったか → CloudTrail には API 呼び出しがあるが、現在の設定との比較ができない
  • CloudFormation スタックが誰かの手動変更で ドリフト → 検出できない

AWS Config の解決:

  • Configuration Item(CI)として設定スナップショットを定期保存
  • → Resource Timeline で「2024年1月:port 22 開放 → 2月:閉鎖」を可視化
  • → CloudFormation ドリフト検出で「期待値と実際値」の差分を表示

2. セキュリティ基準への継続的準拠確認

課題:

  • CIS ベンチマーク・PCI DSS・HIPAA への準拠確認を毎月手作業
  • S3 バケットが全て public ではないか、全 EBS 暗号化か → 手動チェック不可能
  • 新規作成された EC2 にセキュリティグループ設定が不適切 → 対応遅延

AWS Config ルールの解決:

  • 事前に Config ルール定義(s3-bucket-public-read-prohibited など)
  • → リソース変更時に自動評価
  • → 違反時に自動アラート(EventBridge + SNS)
  • → 修復ポリシー適用で自動修正

3. Organizations 全体のコンプライアンス状況把握

課題:

  • 本社・支社・子会社の複数 AWS アカウント
  • 各アカウントのセキュリティ設定を把握できない
  • 監査時に「全アカウントのコンプライアンス状態」を集計するのに数週間

Aggregator + Organizations の解決:

  • 一つの集約アカウントで全アカウント設定を一元管理
  • → ダッシュボード一つで組織全体のコンプライアンス確認
  • → Conformance Pack で基準を一括適用

4. 自動修復による運用効率化

課題:

  • セキュリティグループが 0.0.0.0/0 を許可している(違反) → 誰が修正? → 手作業
  • EC2 に不適切な IAM ロール → 修復手順が複雑 → 対応遅延

Remediation + Automation の解決:

  • Config ルール違反を検出 → Systems Manager Automation Runbook 実行
  • → セキュリティグループの削除・設定修正を自動実施

主な特徴

特徴 説明
リアルタイム設定記録 EventBridge で API 検出時に即座に Configuration Item 作成
200+ マネージドルール AWS が提供するルール(CIS・セキュリティ基準)
カスタムルール Lambda で任意の評価ロジックを実装
Conformance Pack CIS/PCI/NIST など業界標準をテンプレートで一括デプロイ
自動修復 Systems Manager Automation でコンプライアンス違反を自動修正
Resource Timeline リソース設定の変更履歴を時系列で表示
Aggregator マルチアカウント・マルチリージョンの設定を一元管理
Security Hub 統合 Config ルール結果を Security Hub に自動連携
CloudFormation ドリフト検出 手動変更を検出
Organizations 統合 組織内ルールを一括デプロイ

アーキテクチャ

graph LR
    A["AWS API<br/>(EC2, S3, IAM等)"] -->|EventBridge| B["Config Recorder<br/>(設定変更検出)"]
    
    B -->|Configuration Item| C["S3 Bucket<br/>(設定スナップショット)"]
    
    B -->|対象リソース| D["Config ルール<br/>評価エンジン"]
    
    D -->|Lambda呼び出し| E["カスタムルール<br/>Lambda Function"]
    
    D -->|評価結果<br/>COMPLIANT/<br/>NON_COMPLIANT| F["Compliance<br/>State DB"]
    
    F -->|Dashboard表示| G["AWS Config<br/>Console"]
    
    F -->|違反検出| H["Remediation<br/>Template"]
    
    H -->|自動実行| I["Systems Manager<br/>Automation"]
    
    I -->|修復アクション| J["AWS リソース<br/>修正"]
    
    G -->|集約| K["Aggregator<br/>(複数アカウント)"]
    
    F -->|通知| L["EventBridge"]
    L -->|Alert| M["SNS/Lambda/<br/>Slack"]
    
    K -->|Security Hub| N["Security Hub<br/>CSPM"]

主要コンポーネント詳細

Recorder:設定変更の検出・記録

Recorder の役割:
  1. EventBridge で AWS API 検出
  2. API の結果(Configuration Item)を S3 に保存
  3. 定期的(24時間ごと)にスナップショット記録

Configuration Item(CI)の内容:
  {
    "configurationItemVersion": "1.3",
    "configurationItemCaptureTime": "2024-01-15T10:30:45.000Z",
    "configurationStateId": "abcdef123456",
    "awsAccountId": "123456789012",
    "configurationItemStatus": "OK",
    "resourceType": "AWS::EC2::Instance",
    "resourceId": "i-1234567890abcdef0",
    "resourceName": "my-instance",
    "awsRegion": "ap-northeast-1",
    "configuration": {
      "imageId": "ami-0c55b159cbfafe1f0",
      "instanceType": "t3.micro",
      "securityGroups": [{"groupId": "sg-123456"}]
    },
    "relationships": [...],
    "relatedEvents": [...]
  }

Config ルール:マネージド・カスタム

マネージドルール例(AWS 提供・200+):

セキュリティ関連:
  ✓ s3-bucket-public-read-prohibited
  ✓ s3-bucket-server-side-encryption-enabled
  ✓ ec2-security-group-ingress-restrictions(0.0.0.0/0 検出)
  ✓ iam-root-access-key-check
  ✓ mfa-enabled-for-iam-console-access
  ✓ vpc-flow-logs-enabled
  ✓ cloudtrail-enabled
  ✓ rds-instance-public-access-check

リソース設定:
  ✓ ec2-instance-no-public-ip
  ✓ ebs-optimized-instance
  ✓ rds-storage-encrypted
  ✓ encrypted-volumes(EBS 暗号化)

コンプライアンス:
  ✓ required-tags
  ✓ approved-amis-by-id
  ✓ iam-inline-policy-blocked-check

カスタムルール例(Lambda):

# EC2 インスタンスに特定タグが必須
def lambda_handler(event, context):
    config = event['configurationItem']
    required_tags = {'Project', 'Owner', 'CostCenter'}
    
    if config['resourceType'] != 'AWS::EC2::Instance':
        return {'compliance': 'NOT_APPLICABLE'}
    
    resource_tags = set(config['tags'].keys()) if 'tags' in config else set()
    
    if required_tags.issubset(resource_tags):
        return {'compliance': 'COMPLIANT'}
    else:
        return {
            'compliance': 'NON_COMPLIANT',
            'annotation': f'Missing tags: {required_tags - resource_tags}'
        }

Conformance Pack:業界標準ルール集

テンプレート例:
  - CIS AWS Foundations Benchmark(200+ ルール)
  - PCI DSS 3.2.1 Compliance(40+ ルール)
  - NIST 800-53(100+ ルール)
  - HIPAA Compliance(50+ ルール)
  - SOC2(30+ ルール)

デプロイ:
  aws configservice put-conformance-pack \
    --conformance-pack-name MyConformancePack \
    --conformance-pack-input-parameters ParameterKey1=value1 \
    --delivery-s3-bucket my-config-bucket

デプロイ対象:
  ✓ 単一アカウント
  ✓ Organizations の特定 OU
  ✓ 全組織

Resource Timeline:設定変更の時系列可視化

利用シーン:
  - EC2 セキュリティグループ ポート 22
    2024-01-01: 開放(0.0.0.0/0)
    2024-01-15: 制限(172.16.0.0/12)
    2024-02-01: 閉鎖
  
  - S3 バケット暗号化
    2024-01-01: 無効
    2024-02-15: AES-256 有効

取得方法:
  aws configservice get-resource-config-history \
    --resource-type AWS::EC2::SecurityGroup \
    --resource-id sg-123456

Aggregator:マルチアカウント・マルチリージョン

設定例:
  組織ルート → Account A(集約アカウント)に集約
  → Account B, C, D のリソース設定を Account A で一元管理
  
クエリ例:
  "全 AWS 環境で S3 バケットが暗号化されているか" を一発で確認
  
ダッシュボード:
  - Non-Compliant リソース数(全アカウント集計)
  - 違反パターン(集約)
  - 地域別・ルール別の分析

Remediation:自動修復

テンプレート例:
{
  "Name": "RemediatePublicS3Bucket",
  "TargetType": "SSM_DOCUMENT",
  "TargetIdentifier": "AWS-PublishSNSMessage",
  "TargetVersion": "1",
  "Parameters": {
    "AutomationAssumeRole": "arn:aws:iam::123456789012:role/ConfigRemediation",
    "Automatic": true,
    "MaximumAutomaticAttempts": 3,
    "RetryAttemptSeconds": 60
  }
}

修復パターン:
  ✓ EventBridge + Systems Manager Automation
  ✓ Lambda 関数(カスタム修復ロジック)
  ✓ Config Remediation テンプレート

具体例:設定・操作

Config Recorder 有効化

# 1. IAM ロール作成
aws iam create-role \
  --role-name ConfigRecorder \
  --assume-role-policy-document '{
    "Version": "2012-10-17",
    "Statement": [{
      "Effect": "Allow",
      "Principal": {"Service": "config.amazonaws.com"},
      "Action": "sts:AssumeRole"
    }]
  }'

# 2. ポリシー をアタッチ
aws iam attach-role-policy \
  --role-name ConfigRecorder \
  --policy-arn arn:aws:iam::aws:policy/service-role/ConfigRole

# 3. Recorder 作成
aws configservice put-config-recorder \
  --config-recorder-name default \
  --role-arn arn:aws:iam::123456789012:role/ConfigRecorder \
  --recording-group allSupported=true,includeGlobalResources=true

# 4. Recorder 開始
aws configservice start-config-recorder --config-recorder-names default

# 5. Delivery Channel(S3)設定
aws configservice put-delivery-channel \
  --delivery-channel-name default \
  --s3-bucket-name my-config-bucket

Config ルール 評価

# マネージドルール: S3 公開読み取り禁止
aws configservice put-config-rule \
  --config-rule '{
    "ConfigRuleName": "s3-bucket-public-read",
    "Description": "Detects S3 public read permissions",
    "Source": {
      "Owner": "AWS",
      "SourceIdentifier": "S3_BUCKET_PUBLIC_READ_PROHIBITED"
    },
    "Scope": {
      "ComplianceResourceTypes": ["AWS::S3::Bucket"]
    }
  }'

# カスタムルール: Lambda ベース
aws configservice put-config-rule \
  --config-rule '{
    "ConfigRuleName": "required-tags",
    "Description": "Check for required tags",
    "Source": {
      "Owner": "CUSTOM_LAMBDA",
      "SourceIdentifier": "arn:aws:lambda:ap-northeast-1:123456789012:function:CheckTags",
      "SourceDetails": [{
        "EventSource": "aws.config",
        "MessageType": "ConfigurationItemChangeNotification"
      }]
    }
  }'

# ルール評価実行
aws configservice start-config-rules-evaluation \
  --config-rule-names s3-bucket-public-read required-tags

Conformance Pack デプロイ

# CIS Benchmark デプロイ
aws configservice put-conformance-pack \
  --conformance-pack-name CIS-Benchmark \
  --conformance-pack-input-parameters \
    s3BucketName=my-config-bucket \
  --template-body file://cis-benchmark-template.yaml

# Organizations に展開
aws configservice put-organization-conformance-pack \
  --organization-conformance-pack-name OrgCISPack \
  --template-body file://cis-benchmark-template.yaml \
  --excluded-accounts 123456789013

Remediation テンプレート

{
  "Name": "RemediateUnencryptedEBS",
  "TargetType": "SSM_DOCUMENT",
  "TargetIdentifier": "AWS-CreateEncryptedAMIFromUnencryptedInstance",
  "TargetVersion": "1",
  "Parameters": {
    "AutomationAssumeRole": "arn:aws:iam::123456789012:role/ConfigRemediation",
    "InstanceId": "{{ ResourceId }}",
    "Automatic": true,
    "MaximumAutomaticAttempts": 1
  }
}

類似ツール比較表

機能 AWS Config HashiCorp Sentinel OPA/Gatekeeper Cloud Custodian Prisma Cloud
設定記録 ✓ AWS リソース ✓ マルチクラウド ✓ マルチクラウド
マネージドルール ✓ 200+ ✓ ルール集 ✓ 1000+
カスタムルール ✓ Lambda ✓ Sentinel 言語 ✓ Rego ✓ Python
自動修復 ✓ Systems Manager ✓ Python
Kubernetes ✓ 専用 ~
Terraform 対応
Organizations 統合 ✓ 完全
Security Hub 統合 ✓ 完全
GUI ダッシュボード ~ CLI
コスト AWS Config(従量制) Terraform Cloud(有料) 無料 OSS 無料 OSS 商用

ベストプラクティス

実装✓

  • Conformance Pack で業界標準を一括導入

    • CIS Benchmark・PCI DSS・NIST テンプレート活用
    • 手作業でルール定義しない
  • 自動修復で継続的なコンプライアンス維持

    • Systems Manager Automation + Config ルール
    • 違反検出時に自動修復(マニュアル確認付き)
  • Aggregator で Organizations 全体を一元管理

    • 本社・支社・子会社の複数アカウント集約
    • 一つのダッシュボードで全体状況把握
  • CloudFormation ドリフト検出を有効化

    • IaC で定義した設定が手動変更されないか検出
    • Resource Timeline で「いつ誰が変更したか」を確認
  • EventBridge + SNS で即時通知

    • ルール違反時にリアルタイム Slack 通知
    • 対応の遅延を最小化

実装❌

  • マネージドルールだけで十分と考える

    • 自組織特有の要件に対応するカスタムルール必須
  • Conformance Pack を組織全体に一括デプロイ

    • テスト OU でまず評価、段階的に展開
  • 自動修復を即座に有効化

    • 意図しない修復リスク → 手動確認フロー経由で段階的有効化
  • Resource Timeline を活用しない

    • インシデント調査時に「設定変更のタイムライン」は重要な手がかり
  • Aggregator を複数管理アカウント化

    • 一つの集約アカウントに集中(複数の集約アカウント構成は複雑)

トラブルシューティング

問題 原因 解決方法
Recorder が Configuration Item を記録しない Recorder が停止中 aws configservice start-config-recorder で再開
ルール評価が実行されない ルールが無効状態 aws configservice start-config-rules-evaluation で再開
Conformance Pack デプロイ失敗 S3 バケット権限不足 Config サービスロールに S3 GetObject・PutObject 権限追加
Remediation アクション が失敗 Automation 実行ロール権限不足 IAM ロールに対象リソース操作権限(ec2:*など)追加
Resource Timeline が表示されない Config Recorder 未有効化 Recorder を有効化後、24 時間待機
Aggregator 統計が古い 自動更新が無効 Organizations 内の各アカウント Recorder を確認

2025-2026 最新動向

Conformance Pack 地域拡大(2025年11月)

  • 新リージョン対応:Organization 内での Conformance Pack デプロイがより多くリージョンで利用可能
  • 段階的な企業採用加速:大企業の多地域・多アカウント環境での統一化

Resource Timeline 強化

  • 完全な時系列表示:リソース設定変更を分単位で追跡
  • Conformance Pack コンプライアンス履歴:ルール評価結果の Timeline 化

Security Hub CSPM 統合深化

  • Config ルール結果の自動連携:Security Hub ダッシュボード で統一表示
  • CSPM スコア計算:Config ルール準拠度がセキュリティスコアに反映

カスタムルール Lambda 改善

  • Python 3.12 対応:実行時間短縮、新機能活用
  • ルール共有ライブラリ:複数ルール間でコード再利用

AI 駆動のルール推奨(検討中)

  • 生成 AI による Config ルール自動生成:セキュリティ要件から自動ルール作成
  • 異常検知:設定パターンから逸脱を AI が検出

学習リソース

AWS 公式ドキュメント

  1. What Is AWS Config
  2. Managing AWS Config Rules
  3. Conformance Packs
  4. Resource Timeline
  5. Remediation
  6. Aggregator
  7. AWS Config Custom Rules Lambda
  8. Config Rules Developer Guide
  9. AWS Config Security Hub Integration
  10. Document History

オープンソース・ベンダー

  1. Open Policy Agent (OPA) Gatekeeper
  2. Cloud Custodian Documentation
  3. HashiCorp Sentinel Policy Language
  4. Prisma Cloud Documentation
  5. AWS Config Conformance Packs Samples

実装例・導入ロードマップ

Phase 1(1-2 ヶ月):基礎構築

Week 1-2: 環境準備
  - IAM ロール作成(Config Recorder・Remediation)
  - S3 バケット作成(Config 設定スナップショット)
  - Recorder 有効化(全リソースタイプ)

Week 3-4: ルール導入
  - マネージドルール 20-30 個をテスト OU に適用
  - コンプライアンス状態確認
  - EventBridge + SNS アラート設定

Phase 2(2-3 ヶ月):Conformance Pack

Week 5-6: 標準化
  - CIS Benchmark Conformance Pack をテスト OU に展開
  - 違反リソース特定・修復計画立案

Week 7-8: 本番展開
  - Production OU に Conformance Pack 展開
  - ダッシュボード・レポート設定
  - コンプライアンス監視開始

Phase 3(3-4 ヶ月):自動修復

Week 9-10: Remediation 設定
  - 低リスク違反(タグ追加など)の自動修復 Runbook 設定
  - テスト実行・動作確認

Week 11-12: 運用最適化
  - Aggregator でマルチアカウント集約
  - カスタムルール 5-10 個を開発
  - CloudFormation ドリフト検出有効化

実装チェックリスト

  • [ ] IAM・リソース準備

    • [ ] Config Recorder IAM ロール作成
    • [ ] Remediation IAM ロール作成
    • [ ] S3 バケット作成・暗号化設定
    • [ ] SNS トピック作成(アラート用)
  • [ ] Recorder・ルール

    • [ ] Recorder 有効化(全リソース記録)
    • [ ] デフォルト Recorder スケジュール確認
    • [ ] マネージドルール 20-30 個適用
  • [ ] Conformance Pack

    • [ ] CIS Benchmark テンプレート選定
    • [ ] テスト OU に展開・評価
    • [ ] 違反リソース修復計画立案
  • [ ] 自動修復

    • [ ] 低リスク違反の Remediation アクション設定
    • [ ] Systems Manager Automation Runbook 準備
    • [ ] テスト実行・動作確認
  • [ ] マルチアカウント管理

    • [ ] Aggregator 作成(集約アカウント指定)
    • [ ] 全メンバーアカウント登録
    • [ ] 集約ダッシュボード確認
  • [ ] 監視・通知

    • [ ] CloudFormation ドリフト検出有効化
    • [ ] EventBridge ルール設定(ルール違反通知)
    • [ ] Slack・Email 通知確認

まとめ

AWS Config は、リソース設定管理・コンプライアンス評価・セキュリティ監視の中核 です。CloudTrail とは異なり、「設定の履歴・現在値・期待値との差分」を記録し、CIS・PCI・NIST などの業界標準に自動準拠できます。

Conformance Pack で標準ルールを一括デプロイ、自動修復で継続的なコンプライアンス維持、Aggregator で Organizations 全体を一元管理することで、監査コスト削減・セキュリティ体制の自動化を実現できます。

Security Hub との統合で、Config ルール違反が CSPM スコアに反映され、セキュリティ状況の統一的な可視化が可能です。大企業の多ア カウント・多リージョン環境では、Aggregator + Conformance Pack で「一度の Conformance Pack デプロイで全組織を統制」できる強力なツールとなります。


参考文献

AWS 公式(10+)

  1. What Is AWS Config
  2. AWS Config Developer Guide
  3. Conformance Packs
  4. Resource Timeline
  5. Remediation Configuration
  6. Aggregators
  7. Managing Config Rules
  8. Custom Config Rules Lambda
  9. Security Hub Integration
  10. AWS Config conformance packs now available in additional AWS Regions (2025)

オープンソース・ベンダー(5+)

  1. Open Policy Agent (OPA) Gatekeeper Documentation
  2. Cloud Custodian Documentation
  3. HashiCorp Sentinel Policy Language
  4. Prisma Cloud (Palo Alto Networks)
  5. AWS Config Samples - GitHub

最終更新:2026-04-26 バージョン:v2.0