AWS Config
開発者ガイド

AWS Config の概念

AWS Config では、設定内容、相互の関連、時間の経過とともに設定と関係がどのように変化するかなど、AWS アカウントに関連付けられたリソースの詳細が提供されます。AWS Config の概念を詳しく見ていきます。

AWS Config

AWS Config の基本コンポーネントを理解すると、リソースのインベントリと変更を追跡し、AWS リソースの設定を評価するのに役立ちます。

AWS リソース

AWS リソース は、AWS マネジメントコンソール、AWS Command Line Interface (CLI)、AWS SDK、または AWS パートナーツールを使用して作成および管理するエンティティです。AWS リソースの例としては、Amazon EC2 インスタンス、セキュリティグループ、Amazon VPC、Amazon Elastic Block Store などが挙げられます。AWS Config は、各リソースを参照するのに、リソース ID や Amazon リソースネーム (ARN) などの一意の識別子を使用します。詳細については、「AWS Config でサポートされている AWS リソースタイプとリソース関係」を参照してください。

設定履歴

設定履歴は、特定期間の特定リソースに関する設定項目のコレクションです。設定履歴から、リソースの最初の作成日、先月の設定内容、昨日午前 9 時に行われた設定変更などを確認できます。設定履歴は複数の形式で利用できます。AWS Config は、記録しているリソースタイプ別の設定履歴ファイルを、ユーザーが指定した Amazon S3 バケットに自動的に配信します。AWS Config コンソールで特定のリソースを選択し、そのリソースの以前の各設定項目にタイムラインを使用して移動できます。また、リソースの設定項目の履歴には API からアクセスすることもできます。

設定項目

設定項目は、アカウント内のサポートされている AWS リソースのさまざまな属性を特定の時点で反映したビューです。設定項目のコンポーネントには、メタデータ、属性、関係、現在の設定、関連イベントなどが含まれます。AWS Config は、記録対象のリソースタイプで変更を検出するたびに、設定項目を作成します。たとえば、AWS Config で Amazon S3 バケットを記録している場合、バケットの作成、更新、削除が行われるたびに AWS Config は設定項目を作成します。

詳細については、「設定項目のコンポーネント」を参照してください。

設定レコーダー

設定レコーダーは、サポートされるリソースの設定を設定項目としてアカウントに保存します。記録を開始する前に、設定レコーダーを作成して起動する必要があります。設定レコーダーはいつでも停止して再起動できます。詳細については、「設定レコーダーの管理」を参照してください。

デフォルトでは、設定レコーダーは AWS Config が実行されているリージョンのすべてのサポートされているリソースを記録します。設定レコーダーをカスタマイズして、指定したリソースタイプのみを記録することもできます。詳細については、「AWS Config で記録するリソースの選択」を参照してください。

AWS マネジメントコンソール または CLI を使用してサービスを有効にすると、設定レコーダーは AWS Config で自動的に作成されて起動されます。

設定スナップショット

設定スナップショットは、アカウント内のサポートされているリソースに関する設定項目のコレクションです。設定スナップショットは、記録対象のリソースとその設定の全体像を示します。設定スナップショットは設定を検証するのに役立ちます。たとえば、設定スナップショットを定期的に調べて、設定が間違っているリソースや不要と思われるリソースを見つけることができます。設定スナップショットは複数の形式で利用できます。設定スナップショットは、ユーザーが指定した Amazon Simple Storage Service (Amazon S3) バケットに配信できます。また、AWS Config コンソールで特定の時点を選択し、リソース間の関係を使用して設定項目のスナップショット内を移動できます。

設定ストリーム

設定ストリームは、AWS Config で記録しているリソースに関するすべての設定項目の自動更新リストです。リソースが作成、変更、または削除されるたびに、AWS Config は設定項目を作成して設定ストリームに追加します。設定ストリームでは、ユーザーが選択した Amazon Simple Notification Service (Amazon SNS) トピックを使用します。設定ストリームを使用すると、設定変更をリアルタイムに把握し、潜在的な問題を見つけたり、特定のリソースが変更された場合に通知を生成したり、AWS リソースの設定を反映する必要がある外部システムを更新したりできます。

リソース関係

AWS Config はアカウント内の AWS リソースを検出し、AWS リソース間の関係のマップを作成します。たとえば、Amazon EBS ボリューム vol-123ab45d がアタッチされている Amazon EC2 インスタンス i-a1b2c3d4 にセキュリティグループ sg-ef678hk が関連付けられているなどの関係が作成されます。

詳細については、「AWS Config でサポートされている AWS リソースタイプとリソース関係」を参照してください。

AWS Config マネージドルールおよびカスタムルール

AWS Config ルールは、特定の AWS リソースまたは AWS アカウント全体の望ましい設定を表します。AWS Config には、簡単に開始できるようにカスタマイズ可能な定義済みのルールが用意されています。リソースがルールに違反していると、AWS Config はリソースとルールに非準拠のフラグを付け、Amazon SNS を通じてユーザーに通知します。

AWS Config カスタムルール

AWS Config を使用して、カスタムルールを作成することもできます。AWS Config はリソースの設定変更を継続的に追跡し、これらの変更がルールの条件に違反していないかどうかを確認します。

ルールを有効化すると、AWS Config はリソースをルールの条件と比較します。この初期評価後は、評価がトリガーされるたびに AWS Config で評価が実行されます。評価のトリガーは、ルールの一部として定義されます。以下のタイプを含めることができます。

  • 設定変更 – ルールのスコープに該当するリソースで設定が変更されると、AWS Config によって評価がトリガーされます。AWS Config によって設定項目の変更通知が送信されると、評価が実行されます。

  • 定期的 – 指定した間隔 (24 時間ごとなど) で、AWS Config でルールが評価されます。

詳細については、「ルールでのリソースの評価」を参照してください。

マルチアカウントマルチリージョンのデータ集約

AWS Config のマルチアカウント、マルチリージョンのデータ集約を使用すると、複数のアカウントとリージョンの AWS Config 設定データやコンプライアンスデータを 1 つのアカウントに集約できます。マルチアカウントマルチリージョンのデータ集約は、中央の IT 管理者がエンタープライズの複数の AWS アカウントのコンプライアンスをモニタリングするうえで役立ちます。

ソースアカウント

ソースアカウントは、AWS Config リソース設定およびコンプライアンスデータの集約元となる AWS アカウントです。ソースアカウントは、個別のアカウントまたは AWS Organizations の組織を指定できます。ソースアカウントは個別に提供するか、AWS Organizations を通じて取得できます。

送信元リージョン

ソースリージョンは、AWS Config 設定データおよびコンプライアンスデータの集約元となる AWS リージョンです。

アグリゲータ

アグリゲータは、複数のソースアカウントとリージョンから AWS Config 設定データとコンプライアンスデータを収集する、AWS Config の新しいリソースタイプです。集約された AWS Config 設定データとコンプライアンスデータを表示させるリージョンでアグリゲータを作成します。

アグリゲータアカウント

アグリゲータアカウントは、アグリゲータを作成するアカウントです。

承認

承認とは、ソースアカウントの所有者として、AWS Config 設定データおよびコンプライアンスデータを収集するアグリゲータアカウントとリージョンに付与するアクセス許可のことです。AWS Organizations の一部であるソースアカウントを集約する場合、承認は必要ありません。

詳細については、「マルチアカウントマルチリージョンのデータ集約」セクションのトピックを参照してください。

AWS Config の管理

AWS Config コンソール

AWS Config コンソールを使用してサービスを管理できます。コンソールには、次のように多くの AWS Config タスクを実行するためのユーザーインターフェイスがあります。

  • 記録する AWS リソースのタイプを指定します。

  • 記録するリソースを設定します。例を以下に示します。

    • Amazon S3 バケットの選択。

    • Amazon SNS トピックの選択。

    • AWS Config ロールの作成。

  • 特定の AWS リソースまたは AWS アカウント全体の望ましい設定を表すマネージドルールとカスタムルールの作成。

  • 複数のアカウントおよびリージョンにわたるデータを集約するための設定アグリゲータの作成および管理。

  • サポートされるリソースの現在の設定のスナップショットの表示。

  • AWS リソース間の関係の表示。

AWS マネジメントコンソール の詳細については、「AWS マネジメントコンソール」を参照してください。

AWS Config CLI

AWS Command Line Interface は、コマンドラインで AWS Config を操作できる統合ツールです。詳細については、「AWS Command Line Interface ユーザーガイド」を参照してください。AWS Config CLI コマンドの全一覧については、「Available Commands」を参照してください。

AWS Config API

コンソールと CLI に加えて、AWS Config RESTful API も使用できます。API を使用すれば、AWS Config を直接プログラムすることができます。詳細については、「AWS Config API Reference」を参照してください。

AWS SDK

AWS Config API を使用する代わりに、いずれかの AWS SDK を使用することもできます。各 SDK は、各種のプログラミング言語とプラットフォームに対応したライブラリやサンプルコードで構成されています。SDK は、AWS Config へのアクセス権をプログラムによって作成するのに役立ちます。たとえば、SDK では、暗号を使用してリクエストに署名したり、エラーを管理したり、リクエストを自動的に再試行したりできます。詳細については、「Amazon Web Services のツール」ページを参照してください。

AWS Config へのアクセスの制御

AWS Identity and Access Management は、Amazon Web Services (AWS) カスタマーがユーザーやユーザー許可を管理できるウェブサービスです。IAM を使用すれば、AWS Config にアクセスする必要があるすべての従業員に、個別のユーザーを作成できます。ご自身にも IAM ユーザーを作成することにより、IAM ユーザーに管理者特権を与え、それらの IAM ユーザーをお客様の全作業で使用することができます。お客様のアカウントにアクセスする人に対して個別 IAM ユーザーを作成することにより、IAM ユーザーそれぞれに一意の認証情報を設定することができます。さらに、各 IAM ユーザーにそれぞれ異なるアクセス権限を付与することもできます。必要な場合には、いつでも IAM ユーザーのアクセス権限を変更、または無効にすることができます。詳細については、「AWS Config のアクセス許可の制御」を参照してください。

パートナーソリューション

ロギングと分析に関するサードパーティースペシャリストのいる AWS パートナーからは、AWS Config の出力を使用するソリューションが提供されています。詳細については、AWS AWS Config から AWS Config の詳細ページにアクセスしてください。