AWS Config
開発者ガイド

AWS Config の仕組み

AWS Config を有効にすると、最初にアカウント内に存在するサポートされている AWS リソースを検出し、リソースごとに設定項目を生成します。

AWS Config は、リソースの設定が変更されたときにも設定項目を生成し、設定レコーダーの起動時点からリソースの設定項目の記録を履歴として保持します。デフォルトでは、AWS Config はリージョンでサポートされているリソースごとの設定項目を作成します。すべてのサポートされているリソースの設定項目を AWS Config で作成しない場合は、追跡するリソースタイプを指定できます。

AWS Config は、アカウントのリソースごとに Describe または List の API コールを呼び出して、リソースへのすべての変更を追跡します。このサービスでは、その同じ API コールを使用して、すべての関連リソースの設定詳細をキャプチャします。

たとえば、VPC セキュリティグループから egress ルールを削除すると、AWS Config はセキュリティグループで Describe API コールを呼び出します。次に、AWS Config はセキュリティグループに関連付けられているすべてのインスタンスで Describe API コールを呼び出します。セキュリティグループ (リソース) と各インスタンス (関連リソース) の更新された設定が設定項目として記録され、設定ストリームで Amazon Simple Storage Service (Amazon S3) バケットに配信されます。

AWS Config は API で開始されていない設定変更も追跡します。AWS Config はリソースの設定を定期的に調べ、変更があった設定の設定項目を生成します。

AWS Config ルールを使用している場合、AWS Config は、ルールの最適な設定に照らして AWS リソースの設定を継続的に評価します。ルールに従って、AWS Config は設定変更に応じてリソースを評価するか、定期的な間隔でリソースを評価します。各ルールは、ルールの評価ロジックが含まれている AWS Lambda 関数に関連付けられます。AWS Config は、リソースを評価すると、ルールの AWS Lambda 関数を呼び出します。この関数は、評価されたリソースのコンプライアンスステータスを返します。リソースがルールの条件に違反していると、AWS Config はリソースとルールに非準拠のフラグを付けます。リソースのコンプライアンスステータスが変わると、AWS Config は Amazon SNS トピックに通知を送信します。


        AWS Config の仕組み

設定項目の配信

AWS Config は、次のいずれかの配信チャネルを通じて設定項目を配信できます。

Amazon S3 バケット

AWS Config は、AWS リソースの設定変更を追跡し、更新された設定詳細を、指定された Amazon S3 バケットに定期的に送信します。AWS Config は、記録するリソースタイプごとに、設定履歴ファイルを 6 時間ごとに送信します。各設定履歴ファイルには、その 6 時間の間に変更があったリソースの詳細が含まれています。各ファイルに含まれるリソースタイプは 1 つです (Amazon EC2 インスタンスや Amazon EBS ボリュームなど)。設定変更が発生しなかった場合、AWS Config はファイルを送信しません。

AWS CLI で deliver-config-snapshot コマンドを使用するか、AWS Config API で DeliverConfigSnapshot アクションを使用すると、AWS Config は設定スナップショットを Amazon S3 バケットに送信します。設定スナップショットには、AWS アカウントで AWS Config が記録したすべてのリソースの設定詳細が含まれています。設定履歴ファイルと設定スナップショットは JSON 形式です。

注記

AWS Config は、設定履歴ファイルと設定スナップショットを指定された S3 バケットに配信するだけで、S3 バケット内のオブジェクトのライフサイクルポリシーを変更することはありません。ライフサイクルポリシーでは、オブジェクトを削除するか Amazon S3 Glacier にアーカイブするかを指定できます。詳細については、『Amazon Simple Storage Service コンソールユーザーガイド』の「ライフサイクル設定を管理する」を参照してください。ブログ投稿「Glacier への Amazon S3 データのアーカイブ」も参照してください。

Amazon SNS トピック

Amazon Simple Notification Service (Amazon SNS) トピックは、E メールアドレスなどのサブスクライブしているエンドポイントや Amazon Simple Queue Service キューなどのクライアントにメッセージ (または通知) を配信するために Amazon SNS で使用する通信チャネルです。その他の種類の Amazon SNS 通知としては、携帯電話のアプリへのプッシュ通知メッセージ、SMS 対応の携帯電話やスマートフォンへのショートメッセージサービス (SMS) 通知、HTTP POST リクエストなどがあります。最良の結果を得るには、SNS トピックの通知エンドポイントとして Amazon SQS を使用し、通知内の情報をプログラムで処理します。

AWS Config は、指定された Amazon SNS トピックを使用して通知を送信します。受信する通知の種類は、次の例に示すように、メッセージ本文の messageType キーの値で示されます。

"messageType": "ConfigurationHistoryDeliveryCompleted"

通知のメッセージタイプは、以下のいずれかです。

ComplianceChangeNotification

AWS Config で評価するリソースのコンプライアンスタイプが変更されました。コンプライアンスタイプは、リソースが特定の AWS Config ルールに準拠しているかどうかを示し、メッセージの ComplianceType キーで示されます。メッセージには、比較のために newEvaluationResult オブジェクトと oldEvaluationResult オブジェクトが含まれます。

ConfigRulesEvaluationStarted

AWS Config は、ルールを適用して指定されたリソースの評価を開始しました。

ConfigurationSnapshotDeliveryStarted

AWS Config は、Amazon S3 バケットへの設定スナップショットの配信を開始しました。Amazon S3 バケットの名前は、メッセージの s3Bucket キーで示されます。

ConfigurationSnapshotDeliveryCompleted

AWS Config は、Amazon S3 バケットへの設定スナップショットの配信を正常に完了しました。

ConfigurationSnapshotDeliveryFailed

AWS Config は、Amazon S3 バケットに設定スナップショットを配信できませんでした。

ConfigurationHistoryDeliveryCompleted

AWS Config は、Amazon S3 バケットに設定履歴を正常に配信しました。

ConfigurationItemChangeNotification

リソースが作成または削除されるか、設定が変更されました。このメッセージには、この変更に伴って AWS Config で作成される設定項目の詳細と、変更の種類が含まれます。これらの通知は、変更後数分以内に配信され、まとめて設定ストリームと呼ばれます。

OversizedConfigurationItemChangeNotification

このメッセージタイプは、設定項目の変更通知が Amazon SNS の最大許容サイズを超えたときに配信されます。メッセージには設定項目の概要が含まれます。完全な通知の参照先は、指定した Amazon S3 バケット内にあります。

OversizedConfigurationItemChangeDeliveryFailed

AWS Config は、サイズが大きすぎる設定項目の変更通知を Amazon S3 バケットに配信できませんでした。

通知の例については、「AWS Config が Amazon SNS トピックに送信する通知」を参照してください。

Amazon SNS の詳細については、「Amazon Simple Notification Service 開発者ガイド」を参照してください。

このページの内容: