← ハンズオン一覧に戻る

AWS Hands-on / Governance

設定がいつ変わったかを記録から確かめる

AWS Config を有効化し、特定のリソース(セキュリティグループ)だけを記録対象にします。設定を1つ変更し、「構成タイムライン」でその変化を遡って確認する体験をします。

● Lv.2 基本的なリソースを作れる人 ⏱ 所要 35〜55 分 コンソールのみで完結
01 — Prerequisites

はじめる前に

  • 必須AWS アカウントを持っていること
  • 必須マネジメントコンソールにサインインできること
  • 必須セキュリティグループを編集した経験があること
  • あると良いCloudTrail など「操作の記録」を見たことがある(無くても進められます)

※ コマンドラインや SSH などの操作は一切ありません。すべてブラウザのコンソール上で完結します。

02 — References

参照する公式ドキュメント

手順に迷ったときや、用語の意味を確かめたいときに開きましょう。

※ リンク切れの場合は、ページタイトルで検索してください。

03 — Background

背景・シナリオ

セキュリティグループの設定を見ていて、「いつからこの設定になっていたのか」「誰かが意図せず変更してしまったのではないか」と気になる場面があります。設定そのものは今その瞬間の状態しか画面には表示されないため、過去にどう変化してきたのかを後から追うのは簡単ではありません。

AWS Config は、指定したリソースの設定状態を継続的に記録し、変化があった時点を遡って確認できるサービスです。設定が変わるたびにスナップショットが記録されていくため、「いつ、どの項目が、どう変わったか」を後から見比べることができます。

CloudTrail と両方使う必要があるの?

役割が違います。CloudTrail は操作の記録(誰が・いつ・何をしたか)、AWS Config はリソースの状態の記録(設定がどう変わったか)です。「誰が変更したか」と「何がどう変わったか」を両方知りたい場合に、組み合わせて使います。

すべてのリソースを記録しないといけないの?

いいえ。記録対象のリソースタイプを絞り込むことができます。対象を絞ることで記録量(=コスト)を抑えられます。今回はセキュリティグループだけを対象にします。

Goal

AWS Config を有効化し、EC2 セキュリティグループのみを記録対象とする。セキュリティグループのルールを 1 つ変更し、Config の構成タイムラインでその変更履歴を確認する。

04 — Architecture

つくる構成

AWS Config を有効化する際に、記録対象のリソースタイプを選ぶ画面があります。今回どちらを選ぶかのイメージを示します。

AWS Config を設定 — 記録するリソースタイプの選択(イメージ)

記録するリソースタイプ

特定のリソースタイプを記録
対象を絞って記録量とコストを抑える
すべてのリソースを記録
より本番に近いが記録量が増える

今回はセキュリティグループだけに絞ります

05 — Requirements

要件

以下の要件を満たし、セキュリティグループの設定変化を構成タイムラインで確認できる状態にしてください。

No要件
1リージョンは「東京(ap-northeast-1)」を使用する。
2AWS Config 用の記録データ保存先として、S3 バケットを 1 つ用意する(名前自由)。
3AWS Config を有効化し、記録対象リソースタイプを「特定のタイプ」に絞り、EC2 セキュリティグループのみを選択する。
4既存または新規のセキュリティグループのインバウンドルールを 1 つ変更する(例:ポートを追加する、または許可元を変更する)。
5Config の「リソースの構成タイムライン」でそのセキュリティグループを開き、変更前後の設定差分を確認する。
06 — Steps

構築の進め方

「Config を有効化する → 記録対象を絞る → 設定を変える → タイムラインで差分を見る」という順番で進みます。

  1. マネジメントコンソールにサインインし、リージョンを東京に合わせる

    ブラウザで AWS マネジメントコンソールにサインインし、画面右上のリージョンが「アジアパシフィック(東京)ap-northeast-1」になっていることを確認します。

  2. Config 用の S3 バケットを作成する

    S3 コンソールで「バケットを作成」し、世界で一意な名前を付けます(名前自由、例:config-記録用-自分の名前)。AWS Config の記録データ(構成項目)の配信先として使います。

  3. AWS Config コンソールを開き、設定を進める

    画面上部の検索バーに Config と入力し、サジェストから選びます。初回であれば「今すぐ始める」から設定を進めます。記録対象の選択画面で、「特定のリソースタイプを記録」に切り替えます。

    AWS Config を設定 — 記録するリソースタイプの選択(イメージ)

    記録するリソースタイプ

    特定のリソースタイプを記録
    対象を絞って記録量とコストを抑える
    すべてのリソースを記録
    より本番に近いが記録量が増える

    今回はセキュリティグループだけに絞ります

    絞り込むほどコストが読みやすい

    記録対象を絞ることで、記録される構成項目の件数が減り、コストの見通しが立てやすくなります。学習目的では、まず対象を絞って試すのがおすすめです。

  4. 記録対象のリソースタイプを選び、配信先を指定する

    リソースタイプの一覧から「EC2: SecurityGroup」(セキュリティグループ)を選択します。配信先には、手順 2 で作成した S3 バケットを指定し、設定を完了します。

  5. 確認用のセキュリティグループを 1 つ用意する

    既存のセキュリティグループを使ってもよいですし、新規に作成しても構いません。EC2 コンソールの「セキュリティグループ」から確認・作成できます。

  6. そのセキュリティグループのインバウンドルールを 1 つ変更する

    対象のセキュリティグループの「インバウンドルール」タブから、ルールを 1 つ変更します(例:許可するポート番号を追加する、または許可元の範囲を変更する)。

    変更前に Config が動いていることが前提

    変更後の差分を見るには、変更するの状態が既に記録されている必要があります。手順 3〜4 で Config を有効化してから、十分に間を置いてこの手順に進みましょう。

  7. 構成タイムラインで変更前後の差分を確認する

    Config コンソールの「リソース」から対象のセキュリティグループを検索し、「構成タイムライン」を開きます。複数のタイムスタンプが並んでいるはずなので、変更前後を選んで差分を見比べます。

07 — Pitfalls

つまずきポイント

初学者がよく引っかかる箇所を先回りでまとめました。答えそのものは載せていませんが、「どこを見直せばよいか」の手がかりとして使ってください。

Pitfall 01 — 対象のリソースが一覧に出てこない

「Config を有効化したのに、セキュリティグループが見つからない」

よくある原因がいくつかあります。①記録対象のリソースタイプの選択で、本当に「EC2: SecurityGroup」を選んでいるか②有効化してから記録が反映されるまで数分かかることがあるので、少し時間を置いたか——を順に見直してみましょう。

Pitfall 02 — 構成タイムラインに差分が表示されない

「タイムスタンプが 1 つしかなく、比較できない」

変更前に Config の記録が始まっていないと、最初の状態が記録されておらず比較ができません。Config を有効化したタイミングと、ルールを変更したタイミングの前後関係を見直してみましょう。

08 — Checklist

完了チェック

要件の再確認ではなく、画面のどこを見れば達成を確認できるかをまとめました。Config コンソールや S3 コンソールを開いて、次を順に確かめましょう。

  • AWS Config の設定画面で、レコーダーのステータスが「有効」になっている。
  • 記録対象のリソースタイプの一覧に、EC2 セキュリティグループが含まれている。
  • 対象のセキュリティグループの構成タイムラインに、2 つ以上のタイムスタンプが並んでいる。
  • タイムライン上で、手順で変更した箇所(インバウンドルール)の変化が確認できる
  • 配信先に指定した S3 バケットの中に、ファイルが作られている
09 — Think

考えてみよう

手を動かすことに加えて、次の問いに自分の言葉で答えられるようにしておくと、理解がより深まります。

  1. CloudTrail と Config を組み合わせると、「誰が」「何を」変えたかをどう追跡できるでしょうか。
    ヒント
    CloudTrail には「誰が、いつ、どの API を呼んだか」という操作の記録があります。Config には「設定がどう変わったか」という状態の記録があります。同じ時刻帯のイベントを両方から探し出して突き合わせる、という流れを考えてみましょう。
  2. 全リソースを記録しなかった場合、見えなくなる変更にはどんなものがあるでしょうか。それは許容できるリスクでしょうか。
    ヒント
    今回はセキュリティグループ以外の変更(例:IAM ロールの権限変更、別のネットワーク設定の変更など)は記録されません。何を監視したいかによって、絞り込みすぎることのリスクが変わってくる、という観点で考えてみましょう。
  3. 本番環境で Config ルール(設定違反を自動検知する機能)を使うと、今回の「あとから確認する」運用とどう変わるでしょうか。
    ヒント
    今回の構成タイムラインは「過去を振り返って調べる」という事後的な使い方でした。Config ルールを使うと、設定が望ましい状態から外れた時点で自動的に検知できます。「事後の調査」と「事前の検知」の違いから考えてみましょう。
10 — Clean up

後片づけ

AWS Config は有効化したままにしておくと記録が続き、課金も続きます。確認が終わったら、次の順番で後片づけをしましょう。

  1. AWS Config の記録を停止(無効化)する:Config コンソールの設定画面から、レコーダーを停止します。
  2. 配信チャネル・レコーダーを削除する:設定が残っていると意図せず再開されることがあるため、不要であれば削除します。
  3. S3 バケットを削除する:手順 2 で作成した、Config 用の配信先バケットを削除します。バケット内のオブジェクトを先に削除する必要がある場合があります。
  4. 変更したセキュリティグループのルールを必要なら元に戻す:確認用に変更したインバウンドルールを、必要であれば元の設定に戻します。
Caution — 既存のリソースは消さない

削除するのは、このハンズオンで自分が作ったものだけ

デフォルトのセキュリティグループや、他の用途で使っているセキュリティグループ・S3 バケットを誤って削除しないよう注意してください。このハンズオンのために作成・変更したものだけを選んで片づけましょう。

コストに関する注意: AWS Config は、記録した構成項目(Configuration Item)1 件ごとに料金が発生します。今回はリソースタイプをセキュリティグループのみに絞っているため件数を抑えられますが、有効化したままにすると記録が続き、課金され続けます。検証が終わったら無効化を検討してください。配信先のS3 バケットにもわずかな保管料金が発生します。VPC やサブネット、IAM ロールなど、今回直接作成していないリソースには料金はかかりません。