AWS Configを活用すると、複数アカウント・複数リージョンにまたがるリソース情報を一元管理できます。本記事では、前提条件の確認からアグリゲータの作成、集約リソースの閲覧、CSV出力、そしてトラブルシュートまでをステップバイステップで解説します。

前提条件

  1. AWS Configの有効化
    • AWSマネジメントコンソールでAWS ConfigがONになっていること。
    • Configuration recorderで「すべてのリソースを記録」がON。
    • 少なくとも現在のアカウント内のリソースがAWS Configに記録されている状態。
  2. IAM権限
    アグリゲータ作成とクエリ実行に必要なポリシー:
    config:PutConfigurationAggregator
    config:DescribeConfigurationAggregators
    config:SelectAggregateResourceConfig
    config:ListAggregateDiscoveredResources
    config:ExportAggregateData
    ※必要に応じて、S3へCSVを直接保存する場合は s3:PutObjects3:ListBucket も付与。
  3. マルチアカウント集約の承認
    他アカウントをソースにする場合は、事前に集約元での許可を設定済みであること。

1. アグリゲータの作成

  1. AWS Configコンソールを開く
    • AWS管理コンソールにサインイン(例: アカウントID 123456789012)。
    • 検索バーに「Config」と入力し、AWS Configサービスを選択。
  2. アグリゲータ画面へ移動
    • 左ペインの「アグリゲータ」をクリック。
    • 右上の「アグリゲータの追加(Add aggregator)」ボタンを押下。
  3. 基本情報の入力
    • Aggregator名: 任意の識別名(例: MultiAccountAggregator)。
    • ソースタイプ: 「アカウントとリージョン」を選択。
  4. ソースアカウントとリージョンの設定
    • アカウントID: 自アカウント(123456789012)または他アカウントIDを入力。
    • IAMロールARN: AWS Config用ロールのARN(例: arn:aws:iam::123456789012:role/AWSConfigRole)。
      • このロールには最低限 config:BatchGetResourceConfig が必要。
    • リージョン: 集約対象リージョンを選択(全リージョンを集約する場合は「すべてのAWSリージョン」をチェック)。
  5. タグ付けと作成
    • 必要に応じてタグを設定(例: Environment=Audit)。
    • 「作成(Create)」ボタンをクリック。
  6. ステータス確認
    • 作成後、一覧に追加されたアグリゲータのステータスが「Creating」→「ACTIVE」に遷移するまで待機。

2. 集約リソース一覧の確認

  1. AWS Config → アグリゲータ → 作成した MultiAccountAggregator を選択。
  2. 詳細画面内の「リソース(Aggregated resources)」タブを開く。
  3. テーブル上部の「Last synced at」で最終同期日時を確認し、数分以内であればOK。
  4. 列には ResourceTypeResourceIdResourceNameSourceAccountIdSourceRegionTags などが表示。

3. CSV出力(高度なクエリエディタ経由)

AWS Configの最新UIでは、テーブル直下にCSVボタンがないため、Advanced Queryを使ってCSV出力します。

  1. 高度なクエリエディタを開く
    • 「リソース」タブ上部のリンク「高度なクエリエディタ」をクリック。
  2. クエリ実行
    次のクエリを入力し、「Run query」をクリック:
    SELECT
    accountId,
    awsRegion,
    resourceType,
    resourceName,
    resourceId,
    tags
    • FROM句は不要。
    • 必要に応じて tags を除外して列数を減らせます。
  3. CSVエクスポート
    • 結果テーブル右上の「Export results」→「CSV」を選択し、「Export」。
    • ブラウザで ConfigQueryResults_<タイムスタンプ>.csv がダウンロードされる。
    • ExcelやGoogleスプレッドシートで開き、各列を確認。

4. トラブルシュート

  • クエリ結果がゼロ件
    • 【原因】同期がまだ完了していない。
    • 【対処】「Last synced at」を確認し、数分後にページ更新。
  • 高度なクエリエディタが表示されない
    • 【原因】作成リージョンと閲覧リージョンが異なる。
    • 【対処】画面右上のリージョンをアグリゲータ作成リージョン(例: ap-northeast-1)に切替。
  • Export resultsボタンがない
    • 【原因】クエリ未実行、または権限不足。
    • 【対処】クエリを実行してテーブルを表示、IAMポリシーを再確認。

まとめ

本手順に従えば、AWS Config アグリゲータでマルチアカウント・マルチリージョンのリソース情報を一元集約し、CSV形式で簡単にエクスポートできます。
定期的に最新データを取得したい場合は、同様の手順で再度クエリとエクスポートを実行してください。
また、さらに自動化が必要な場合は、CLIやAWS SDKを使ってS3へ直接出力する方法も検討してみてください。