AWS リソースの現在の構成ステートのクエリ - AWS Config

AWS リソースの現在の構成ステートのクエリ

AWS Config を使用すると、1 つのアカウントとリージョンの設定プロパティに基づいて、または複数のアカウントとリージョンにまたがる設定プロパティに基づいて、AWS リソースの現在の設定状態をクエリできます。AWS Config によってサポートされているすべてのリソースの現在の AWS リソース状態のメタデータに対して、プロパティベースのクエリをアドホックに実行できます。高度なクエリ機能では、単一のクエリエンドポイントと強力なクエリ言語を使用して、現在のリソース状態のメタデータを取得できます。サービス固有の記述用 API コールを実行する必要はありません。設定アグリゲーターを使用すると、複数のアカウントと AWS リージョンにまたがる中央アカウントから同じクエリを実行できます。

AWS Config では、構造化クエリ言語 (SQL) の SELECT 構文のサブセットを使用して、現在の設定項目 (CI) データに対してプロパティベースのクエリおよび集約を実行します。このクエリは、タグやリソース識別子との単純な一致から、バージョニングが無効になっているすべての Amazon S3 バケットの表示など、複雑性の高いクエリまで多岐にわたります。これにより、AWS のサービス固有の API コールを実行せずに、必要な現在のリソース状態を正確にクエリすることができます。

以下の場合は、高度なクエリを使用することができます。

  • インベントリ管理 (例: 特定のサイズの Amazon EC2 インスタンスのリストの取得)

  • セキュリティとオペレーションのインテリジェンス (例: 特定の設定プロパティーが有効または無効になっているリソースのリストの取得)。

  • コスト最適化 (例: どの EC2 インスタンスにもアタッチされていない Amazon EBS ボリュームのリストの識別)

特徴

クエリ言語は、AWS Config でサポートされているすべての AWS リソースタイプの CI プロパティに基づき、AWS リソースに対するクエリの実行をサポートします (例: 設定データ、タグ、関係)。次のセクションで説明するように、制限付きの SQL SELECT コマンドのサブセットを指します。また、集計関数 (例: AVGCOUNTMAXMINSUM) をサポートしています。

制約事項

SQL SELECT のサブセットとして、クエリ構文には次の制限があります。

  • キーワード ALLASDISTINCTFROMHAVINGJOINUNION はクエリではサポートされません。

  • オブジェクトの配列内の複数のプロパティに対してクエリを実行すると、すべての配列要素に対して一致が計算されます (つまり、オブジェクトの配列はインデックス作成のためにフラット化されます)。たとえば、データベースに形式 { "a": [ { "b": 1, "c": 2, ... }, { "b": 3, "c": 4, ... } ] } のドキュメントがある場合、SELECT a WHERE a.b=1 AND a.c=4 のようなクエリは、指定された値 { "b": 1, "c": 4 } を持つ単一の配列要素がない場合でもこのドキュメントに一致します。

  • すべての SELECT 列の省略表現 (つまり SELECT *) では、CI の最上位のスカラープロパティのみ選択されます。スカラープロパティは、accountIdawsRegionarnavailabilityZoneconfigurationItemCaptureTimeresourceCreationTimeresourceIdresourceNameresourceTypeversion が返ります。

  • ワイルドカードの制限:

    • ワイルドカードは、プロパティ値でのみサポートされており、プロパティキーではサポートされていません (例: ...WHERE someKey LIKE 'someValue%' はサポートされますが、...WHERE 'someKey%' LIKE 'someValue%' はサポートされません)。

    • サフィックスのワイルドカードのみサポート (例: ...LIKE 'AWS::EC2::%' はサポートされますが、...LIKE '%::EC2::Instance' はサポートされません)。

    • ワイルドカードの一致は、3 文字以上でなければなりません (例: ...LIKE 'ab%' は許可されていますが、...LIKE 'abc%' は許可されません)。

  • 集約の制限:

    • 集約の GROUP BY 句には、単一プロパティのみ含めることができます。

    • 集計関数は、単一の引数またはプロパティのみ受け入れることができます。

    • 集計関数では、その他の関数を引数として取ることはできません。

    • 集計クエリのページ分割はサポートされていません。最大 500 件の結果が返ります。

    • 集約では、HAVING 句はサポートされていません。

リージョンのサポート

高度なクエリは、次のリージョンでサポートされています。

リージョン名 リージョン エンドポイント プロトコル
アジアパシフィック (ムンバイ) ap-south-1 config.ap-south-1.amazonaws.com HTTPS
アジアパシフィック (ソウル) ap-northeast-2 config.ap-northeast-2.amazonaws.com HTTPS
アジアパシフィック (シンガポール) ap-southeast-1 config.ap-southeast-1.amazonaws.com HTTPS
アジアパシフィック (シドニー) ap-southeast-2 config.ap-southeast-2.amazonaws.com HTTPS
アジアパシフィック (東京) ap-northeast-1 config.ap-northeast-1.amazonaws.com HTTPS
AWS GovCloud (米国東部) us-gov-east-1 config.us-gov-east-1.amazonaws.com HTTPS
AWS GovCloud (US-West) us-gov-west-1 config.us-gov-west-1.amazonaws.com HTTPS
カナダ (中部) ca-central-1 config.ca-central-1.amazonaws.com HTTPS
欧州 (フランクフルト) eu-central-1 config.eu-central-1.amazonaws.com HTTPS
欧州 (アイルランド) eu-west-1 config.eu-west-1.amazonaws.com HTTPS
欧州 (ロンドン) eu-west-2 config.eu-west-2.amazonaws.com HTTPS
欧州 (パリ) eu-west-3 config.eu-west-3.amazonaws.com HTTPS
欧州 (ストックホルム) eu-north-1 config.eu-north-1.amazonaws.com HTTPS
南米 (サンパウロ) sa-east-1 config.sa-east-1.amazonaws.com HTTPS
米国東部(バージニア北部) us-east-1 config.us-east-1.amazonaws.com HTTPS
米国東部 (オハイオ) us-east-2 config.us-east-2.amazonaws.com HTTPS
米国西部 (北カリフォルニア) us-west-1 config.us-west-1.amazonaws.com HTTPS
米国西部 (オレゴン) us-west-2 config.us-west-2.amazonaws.com HTTPS