クエリエディタを使用したSQLクエリ (AWS CLI) - AWS Config

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

クエリエディタを使用したSQLクエリ (AWS CLI)

AWS CLI は、 AWS サービスを管理するための統合ツールです。ダウンロードと設定を行うツールが 1 つで、コマンドラインから複数の AWS サービスを制御でき、スクリプトを使用して自動化できます。 AWS CLI および AWS CLI ツールのインストール手順の詳細については、AWS Command Line Interface 「 ユーザーガイド」の以下を参照してください。

必要に応じて、 aws configure を入力して、高度なクエリが利用可能なリージョンを使用する AWS CLI AWS ように を設定します。

考慮事項

前提条件

次のいずれかの AWS マネージドポリシーを使用している場合は、クエリ (AWSServiceRoleForConfigサービスにリンクされたロール) または を実行して保存するために必要なアクセス許可がありますAWS_ConfigRole

それ以外の場合は、 AWSConfigUserAccess AWS マネージドポリシーに のアクセス許可が含まれている必要があります。

クエリできるプロパティのリスト

プロパティとそのデータ型の更新されたリストは、 で入手できますGitHub

高度なクエリとアグリゲータ

アグリゲーターでクエリを実行するには、アグリゲーターを作成します。詳細については、「アグリゲータの作成」を参照してください。

アグリゲーターがすでに設定されている場合は、クエリのスコープでアグリゲーターを選択し、そのアグリゲーターで高度なクエリを実行します。アグリゲータを選択するときは、クエリステートメントに AWS アカウント ID と AWS リージョンを追加して、結果にその情報を表示することを検討してください。

リソース設定データのクエリ

クエリエディタ (AWS CLI) を使用して、単一のアカウントとリージョンのリソース設定データをクエリするには
  1. コマンドプロンプトまたはターミナルウィンドウを開きます。

  2. 次のコマンドを入力して、リソース設定データをクエリします。

    aws configservice select-resource-config --expression "SELECT resourceId WHERE resourceType='AWS::EC2::Instance'"

    クエリに応じて、出力は次のようになります。

    { "QueryInfo": { "SelectFields": [ { "Name": "resourceId" } ] }, "Results": [ "{\"resourceId\":\"ResourceId\"}", "{\"resourceId\":\"ResourceId\"}", "{\"resourceId\":\"ResourceId\"}", "{\"resourceId\":\"ResourceId\"}", "{\"resourceId\":\"ResourceId\"}", "{\"resourceId\":\"ResourceId\"}", "{\"resourceId\":\"ResourceId\"}" ] }
クエリエディタ (AWS CLI) を使用して、複数のアカウントとリージョンのリソース設定データをクエリするには
  1. コマンドプロンプトまたはターミナルウィンドウを開きます。

  2. 次のコマンドを入力して、リソース設定データをクエリします。

    aws configservice select-aggregate-resource-config --expression "SELECT resourceId WHERE resourceType='AWS::EC2::Instance'" --configuration-aggregator-name my-aggregator

    クエリに応じて、出力は次のようになります。

    { "QueryInfo": { "SelectFields": [ { "Name": "resourceId" } ] }, "Results": [ "{\"resourceId\":\"ResourceId\"}", "{\"resourceId\":\"ResourceId\"}", "{\"resourceId\":\"ResourceId\"}", "{\"resourceId\":\"ResourceId\"}", "{\"resourceId\":\"ResourceId\"}", "{\"resourceId\":\"ResourceId\"}", "{\"resourceId\":\"ResourceId\"}" ] }
    注記

    アドバンストクエリで AWS::IAM::UserAWS::IAM::GroupAWS::IAM::Role、および AWS::IAM::Policyリソースタイプを使用する場合は、 を使用しますawsRegion = 'global'

クエリの保存

  1. コマンドプロンプトまたはターミナルウィンドウを開きます。

  2. クエリを保存するには、次のコマンドを入力します。

    aws configservice put-stored-query --stored-query "{\"QueryName\": \"cli-test\", \"Expression\": \"SELECT *\", \"Description\": \"cli test query\" }" --tags "[{ \"Key\": \"first-tag\", \"Value\": \"\" }, { \"Key\": \"second-tag\", \"Value\": \"non-empty-tag-value\" }]"
  3. クエリに応じて、出力は次のようになります。

    { "QueryArn": "arn:aws:config:eu-central-1:Account ID:stored-query/cli-test/query-e65mijt4rmam5pab" }
    注記

    --tags は省略可能です。タグを渡すと、保存されたタグは list-stored-queries および get-stored-query のどちらからも返されません。list-tag-for-resources を使用して、保存されたクエリに関連するタグを取得する必要があります。

    --description は、クエリの作成時または更新時に使用するオプションです。

保存されたクエリをすべて表示

  1. 次のコマンドを入力して、保存されたすべてのクエリのリストを表示します。

    aws configservice list-stored-queries
  2. クエリに応じて、出力は次のようになります。

    { "StoredQueryMetadata": [ { "QueryId": "query-e65mijt4rmam5pab", "QueryArn": "arn:aws:config:eu-central-1:Account ID:stored-query/cli-test/query-e65mijt4rmam5pab", "QueryName": "cli-test" }, { "QueryId": "query-rltwlewlqfivadxq", "QueryArn": "arn:aws:config:eu-central-1:Account ID:stored-query/cli-test-2/query-rltwlewlqfivadxq", "QueryName": "cli-test-2", "Description": "cli test query" } ] } }

保存されたクエリの詳細の取得

  1. 次のコマンドを入力して、特定の保存されたクエリの詳細を取得します。

    aws configservice get-stored-query --query-name cli-test
  2. クエリに応じて、出力は次のようになります。

    { "StoredQuery": { "QueryId": "query-e65mijt4rmam5pab", "QueryArn": "arn:aws:config:eu-central-1:Account ID:stored-query/cli-test/query-e65mijt4rmam5pab", "QueryName": "cli-test", "Description": "cli test query", "Expression": "SELECT *" } }

保存されたクエリの削除

  • 次のコマンドを入力して、保存したクエリを削除します。

    aws configservice delete-stored-query --query-name cli-test

成功すると、コマンドは追加の出力なしで実行されます。