今回のゴール
今回はAWS Organizationの機能とConfigのアグリゲータ機能を使って全てのAWSアカウントのConfig情報を集約して表示します。
アグリゲータ機能はConfig情報を集約する機能ですので、Configルールは各アカウント内で設定する必要があります。
設定
Organizationsの設定
ルートAWSアカウントでログインします。
サービスからAWS Organizationへと移動して、右上にある”設定”リンクを押します
AWSサービス中の”AWS Config”項目の「アクセスの有効化」ボタンを押します。
Configの設定
アグリゲーターを作成します。
Configサービスのアグリゲーターより「アグリゲーターの追加」ボタンをクリックします。
[AWS Config がソースアカウントのデータをアグリゲータアカウントにレプリケートすることを許可します。]にチェックを付け、
[アグリゲーター名]を入力します。
今回はorganizationsに所属するアカウントを対象とするので、[組織を追加する]にチェックを付けました。
「IAM Roleの選択」では新規ロール(aws-config-aggregator-role)を作成しました。
リージョンは全てと、[将来の AWS リージョンを含める]にチェックを付けました。
子アカウント用のS3バケットの作成
今回は、AWS Config で記録されるリソースの詳細を含む、設定履歴と設定スナップショットファイルをルートアカウントのS3で一括管理します。
S3バケット作成の詳細は割愛しますが、下記サイトを参考にバケットポリシーを設定してください。
パブリックアクセスは全てブロックしてください。
Amazon S3 バケットへのアクセス許可
Amazon S3 バケットへのアクセス許可 – AWS Config
Organizationsに所属する子アカウントの設定
既に書きましたが、今回ルートアカウントで一括管理しますので、
Configサービスメニューの設定で、
[Amazon S3 バケット]項目:”別のアカウントからバケットを選択”を選びました。
また、[Amazon SNS トピック]項目:”別のアカウントからトピックを選択”を選びました。
その他項目は要件に合わせて設定してください。
確認
ルートアカウントで確認
それではルートアカウントに戻りConfig情報が取得できているか確認します。
Configサービスの[集約ビュー]-[リソース]画面より、
[リソースタイプ][アカウント]を入力して検索します。
(アカウントには子アカウントを入力します。)
子アカウントのリソース情報が表示されていることを確認します。
最後にルートアカウントのS3バケットに子アカウントのConfig情報が保存されていることを確認して終わりとします。