FOR PRACTITIONERS実務向け

Mセキュリティ・コスト・ガバナンス段3基盤層仕組み

AWS Config の仕組み|構成の記録・ルール評価・自動修復で「設定が守られているか」を見張る

AWS Config の仕組み|構成の記録・ルール評価・自動修復で「設定が守られているか」を見張る

「SG が開けられていた」「S3 が公開になっていた」を、事故が起きてから知った。CloudTrail を見れば誰が API を呼んだかは分かるのに、「その時点で設定がどうなっていたか」「いまも守られているか」は追いにくい。そこで出てくるのが AWS Config ですが、CloudTrail との違いやルールの動く契機が曖昧なまま、名前だけ知っている人も多いはずです。この記事では、記録・評価・修復・集約の 4 つの部品に分けて、Config を説明できる状態を目指します。

この記事の結論

  • Config はリソースの「設定の状態」とその変遷を記録し、CloudTrail は「誰がどの API を呼んだか」を記録します。答える問いが違います。
  • レコーダーが構成項目(CI)を作り、S3 や履歴に残します。記録するリソースの種類は選べます。
  • ルールは「あるべき設定」を表し、マネージドルールとカスタムルールがあります。評価の結果が準拠か非準拠です。
  • 非準拠は通知だけでなく、修復アクションと Systems Manager Automation で自動で戻せます。
  • 適合パックはルールと修復のまとまり、アグリゲーターは複数アカウント・リージョンを 1 か所で見る部品です。
  • 記録は構成項目の数で費用が変わるので、記録範囲とルールの対象を絞る判断が要ります。

AWS Config とは何か|「設定の状態」を記録するサービス(CloudTrail との違い)

AWS Config は、AWS リソースの設定を記録し、その設定が決めた基準に合っているかを評価するサービスです。公式ドキュメントでは、記録・ルールによる評価・適合パック・修復・アグリゲーターといった機能がひとまとまりで説明されています。ここで大事なのは、Config が見ているのは「操作」ではなく「状態」だという点です。

たとえば、セキュリティグループの入口を全世界に開く変更が入ったとします。

  • 開けた人は誰か、どの API で、いつ呼んだか → CloudTrail の領域
  • 開いたあとのセキュリティグループは、どんな設定だったか。その前はどうだったか → Config の領域

ログ全体の地図は AWS のログの仕組み で扱いました。ここでは、その中の「設備台帳」にあたる Config を掘り下げます。

TWO QUESTIONS操作と状態は別の帳簿

CloudTrail は誰がしたか、Config はどうなっているかに答える

CloudTrail

操作の記録

  • 誰が
  • どの API を
  • いつ呼んだか

AWS Config

状態の記録

  • いまの設定は何か
  • いつ・どう変わったか
  • 基準に合っているか
出典: AWS Config 開発者ガイド(AWS Config とは)
見るもの CloudTrail AWS Config
記録する対象 API 呼び出し(操作) リソースの設定の状態と変遷
答える問い 誰が・いつ・何をしたか いまの設定は何か、いつ変わったか、基準に合っているか
向いている場面 操作者の特定、証跡の保全 設定の履歴確認、継続的な準拠評価

どちらかが他方の代わりになるわけではありません。設定が変わった時点を Config で特定し、その変更をした人を CloudTrail で探す、という組み合わせで使います。

CHECK 1ここまでの確認

ある時点でネットワークの入口が全世界に開いたと分かりました。「その時点の設定内容」と「開けた人」を、それぞれ調べるサービスの組み合わせはどれ?

答えと解説

答え: 2. 設定内容は AWS Config、開けた人は CloudTrail

Config は設定の状態と変遷を、CloudTrail は誰がどの API を呼んだかを記録します。問いが違うので帳簿も別です。第 1 章を読み直してください。

Config はどう記録するのか|レコーダー・構成項目・履歴とスナップショット

記録の中心は構成レコーダーです。レコーダーは、対象のリソースに変化があるたびに構成項目(CI: Configuration Item)を作ります。構成項目は、あるリソースのある時点の設定内容、他のリソースとの関係、メタデータをまとめた 1 件の記録です。

記録の置き場所

Config を使い始めるには、記録の配信先として S3 バケットが要ります。通知を受けたいなら SNS トピックも用意し、Config がそれらへ書き込むための IAM ロールも渡します。つまり Config は単独で完結せず、S3・SNS・IAM と組み合わさって動きます。

  • 設定履歴: リソースごとの構成項目の時系列。「いつ、何が変わったか」を後から遡るときに使う
  • 設定スナップショット: ある時点のリソース設定全体をまとめて S3 に書き出したもの

何を記録するかは選べる

レコーダーが記録するリソースの種類は選べます。すべての対応リソースを記録することも、必要な種類だけに絞ることもできます。構成項目の数は後で述べるように費用に直結するので、「何を見張りたいか」から決めるのが筋です。

履歴があると、「準拠から外れた時点」を後から特定できます。評価結果は「いま非準拠」と教えてくれますが、「いつから」を知りたいときに頼るのが設定履歴です。

ルールはどう評価するのか|マネージドルールとカスタムルール、評価の契機

記録だけでは「守られているか」は分かりません。そこで使うのが Config ルールです。ルールは「あるべき設定」を表し、記録されたリソースの設定をそれに照らして、準拠か非準拠かを判定します。

ルールの種類

公式ドキュメントでは、ルールを次のように整理しています。

種類 中身 使いどころ
マネージドルール AWS があらかじめ用意したルール よくある基準(入口の開放、暗号化など)をすぐ使いたいとき
カスタムルール 自分で判定の中身を書くルール(Lambda などで実装) 組織独自の基準を評価したいとき
サービスリンクルール 他の AWS サービスが作るルール そのサービスの機能として使うとき
組織ルール 組織全体に展開するルール 全アカウントに同じ基準を当てたいとき

まず使うべきはマネージドルールです。個別のルールの一覧は公式のドキュメントに任せ、基準に合うものがなければカスタムを検討する、という順番になります。

いつ評価されるのか

ルールには評価の契機があります。

  • 構成変更を契機に動くもの: 対象リソースの設定が変わったときに評価する
  • 周期で動くもの: 一定の間隔で評価する

「変更のたびに見る」と「決まった間隔で見る」の 2 系統がある、と覚えておけば十分です。入口の開放のような、変わった瞬間に知りたい基準は変更契機が向きます。

カスタムの Lambda ルールでは、評価の対象にするリソースを絞り込めます。評価の回数も費用に効くので、全部を対象にせず、基準の意味がある範囲に絞ります。

RECORD TO REMEDIATE記録から修復まで

変更が記録され、評価され、非準拠なら直る

  1. リソース変更

    設定が変わる

  2. レコーダー

    構成項目を作る

  3. S3・履歴

    時系列で残る

  4. ルール評価

    準拠か非準拠か

  5. 通知・修復

    Automation が戻す

出典: AWS Config 開発者ガイド(AWS Config とは、ルールによる評価)

CHECK 2ここまでの確認

Config ルールが評価を始める契機として、正しい組み合わせはどれ?

答えと解説

答え: 1. 構成が変わったときと、一定の周期のとき

ルールには、リソースの構成変更を契機に動くものと、周期で動くものがあります。第 3 章を読み直してください。

非準拠をどう直すのか|通知・修復アクション・Systems Manager Automation

非準拠と判定されたあとの動きは 2 段階で考えます。

  1. 知らせる: 評価結果の変化を通知する(SNS などへ)
  2. 直す: 修復アクションで、リソースを元の設定へ戻す

修復アクションは、ルールに紐づけて設定します。実際に設定を直す実行役は Systems Manager Automation のドキュメント(手順書)です。S3 のパブリックアクセスのブロックが外れたら、Automation が有効に戻す、といった形です。

ここで押さえたいのは 検知と実行が別の部品 だということです。

  • Config ルール: 合っているかを判定する(直さない)
  • 修復アクション: 非準拠になったときに何を呼ぶかを決める
  • Systems Manager Automation: 実際に設定を書き換える

自動修復を入れるときの注意

自動で直せるのは便利ですが、人の意図した変更まで元に戻してしまう可能性もあります。検証用の環境で意図して開けているものを、修復が閉じてしまうこともあります。最初は通知だけで運用して非準拠の出方を把握し、そのあとで修復を入れる、という順番が安全です。また、修復の実行にも権限が要るので、Automation に渡す IAM ロールは必要な操作だけに絞ります。

CHECK 3ここまでの確認

非準拠と判定されたリソースを、人手を介さずに元の設定へ戻す部品はどれ?

答えと解説

答え: 2. 修復アクションと、その実行役の Systems Manager Automation

ルールは「合っているか」を判定するだけで、直すのは修復アクションが呼ぶ Automation です。検知と実行は別の部品です。第 4 章を読み直してください。

複数アカウントでどう集めるのか|アグリゲーターと適合パック

アカウントやリージョンが増えると、Config はそれぞれの場所に別々に存在することになります。全部を見に行くのは現実的ではないので、集める部品と配る部品が用意されています。

  • アグリゲーター: 複数のアカウント・リージョンの Config のデータ(ルールの準拠状況やリソース設定)を 1 つのアカウントに集めて読む。組織を対象にすれば、メンバーアカウントを 1 つずつ承認しなくても集められる。集めたデータは読む用途で、集約先から元の設定を書き換えるものではない
  • 適合パック: Config ルールと修復アクションを 1 つのまとまりとして定義したもの。組織の適合パックとして展開すれば、全アカウントに同じ基準のルール群を配れる

つまり、配るのが適合パック、集めるのがアグリゲーター です。向きが逆の部品なので、混同しないようにします。

SPREAD AND GATHER配る部品と集める部品

配るのは適合パック、集めるのはアグリゲーター

  1. 配る

    適合パック — ルールと修復を 1 つのまとまりにして各アカウントへ

    組織の適合パックなら全アカウント

  2. 集める

    アグリゲーター — 各アカウント・リージョンの準拠状況を 1 か所へ

    集約先は読む用途

  3. 前提

    対象のアカウントとリージョンで Config を有効にしておく

    空白のリージョンは見えない

出典: AWS Config 開発者ガイド(AWS Config とは)

組織単位の運用は マルチアカウント設計 で扱う Organizations が前提になります。そちらで、アカウントをどう分けるかを決めたうえで、Config をどう配るかを考えます。なお、Firewall Manager のような他のサービスが、対象のアカウントとリージョンで Config が有効になっていることを前提にする場合もあります。ガバナンス系の機能の土台として、Config を先に有効にしておく意味はここにもあります。

CHECK 4ここまでの確認

組織内の全アカウント・全リージョンの準拠状況を、1 つのアカウントでまとめて見るために使う部品はどれ?

答えと解説

答え: 1. アグリゲーター

複数のアカウントとリージョンのデータを集めて読む部品がアグリゲーターです。適合パックはルールを配る側の部品です。第 5 章を読み直してください。

運用で気をつけること|記録範囲・料金・ルールの対象の絞り方

Config は、記録する構成項目の数とルールの評価の回数などで費用が変わります。単価や無料枠の数値はここでは書きません。必ず公式の料金ページで確認してください。

費用と効果のバランスを取るための考え方は 3 つです。

  • 記録するリソースの種類を、見張る目的から逆算して決める。すべてを記録するか、種類を絞るかは、目的が決める
  • ルールの対象を絞る。基準が意味を持つリソースだけを評価する
  • 評価の契機を目的に合わせる。変更の瞬間が大事な基準は変更契機、棚卸しのような基準は周期にする

また、アカウントとリージョンごとに有効化が要るので、「使っていないリージョンにも置くか」は運用ポリシーとして決めておきます。リージョンを後から有効にし忘れると、そこだけ見張りが空白になります。

他のサービスとの役割分担(CloudTrail・Security Hub・Access Analyzer)

最後に、並べて名前が出るサービスとの違いを整理します。

サービス 一言で言うと
CloudTrail 誰がどの API を呼んだかの操作記録
AWS Config 設定の状態の記録と、基準への準拠評価・修復
Security Hub 各種の検出結果を 1 か所に集めて見る場所
IAM Access Analyzer 外部へのアクセスや未使用のアクセスを分析する部品

Config を設備台帳、CloudTrail を入館記録にたとえると、台帳は「いまの設備が決まりに合っているか」を見るもの、入館記録は「誰がいつ入ったか」を見るものです。たとえ話はここまでで、正確な言葉に戻すと、前者は設定の状態と準拠、後者は API 呼び出しの記録です。

Cloudory 執筆者(AWS 認定 全冠)

Config は「入れて終わり」になりやすい部品です。まず記録の範囲を決め、次にマネージドルールを少数だけ当て、通知で出方を見る。そのあとに修復と複数アカウントへの展開へ進む、という順に積むと迷いにくくなります。

参照ソース

SCOREこの記事の確認テスト

0/4問 正解

各章の「ここまでの確認」に答えると、ここに集まります。結果はこの端末のブラウザにだけ残り、サーバには送りません。

PRACTICEこの記事の論点を練習問題で確かめる

この記事が扱うサービスの問題だけを続けて解けます。練習問題は Google でログインした人が使えます(練習問題の一覧)。

HAND IT OVER人に渡すなら

一言で説明するなら

AWS Config は、建物の設備台帳を自動で書き換え続け、決まりに合わない設備が出たら知らせ、元に戻す係までつけた仕組みです。誰が触ったかの入館記録とは別の帳簿です。

FAQよくある質問

CloudTrail と Config はどちらを先に有効にしますか?

目的で分けます。操作の証跡(誰が何をしたか)と設定の履歴(どんな状態だったか)は別の問いなので、どちらか一方で代わりにはなりません。実務では両方を有効にするのが基本の形です。

Config の料金はどう決まりますか?

記録する構成項目の数と、ルールの評価の回数などで変わります。単価や無料枠の数値はここでは書かず、公式の料金ページで確認してください。記録するリソースの種類とルールの対象を絞ると、費用の見通しが立てやすくなります。

Security Hub や IAM Access Analyzer とはどう違いますか?

Config は設定の記録とルール評価、Security Hub は各種の検出結果を 1 か所に集めて見る場所、Access Analyzer は外部や未使用のアクセスを分析する部品、と役割が分かれます。Config の評価結果が Security Hub に流れる形で組み合わせて使います。

SAME TRACK同じ領域の記事

AWS Security Hub が SBOM インベントリを提供|組織横断で「どのパッケージがどこに」が分かる
AWS Security Hub が SBOM インベントリを提供|組織横断で「どのパッケージがどこに」が分かる NEWS段2 構成とは
Codex を Bedrock 経由で使う|LiteLLM ゲートウェイで予算とレート制限を握る
Codex を Bedrock 経由で使う|LiteLLM ゲートウェイで予算とレート制限を握る NEWS段2 構成とは
請求が急に増えたときの調べ方|Cost Explorer で絞り、Budgets と異常検出で早く気づく運用
請求が急に増えたときの調べ方|Cost Explorer で絞り、Budgets と異常検出で早く気づく運用 段2 構成運用