翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
の AWS Config SQL クエリエディタを使用したクエリ (AWS CLI)
AWS CLI は、 AWS のサービスを管理するための統合ツールです。ダウンロードと設定のツールを 1 つだけ使用すると、コマンドラインから複数の AWS サービスを制御したり、スクリプトを使用して自動化したりできます。の詳細 AWS CLI と AWS CLI ツールのインストール手順については、「 AWS Command Line Interface ユーザーガイド」の以下を参照してください。
必要に応じて、 と入力aws configure
して、高度なクエリが利用可能な AWS リージョンを使用する AWS CLI ように を設定します。
考慮事項
前提条件
次のいずれかの管理 AWS ポリシーを使用している場合は、クエリを実行して保存するために必要なアクセス許可が AWSServiceRoleForConfig (サービスにリンクされたロール) または AWS_ConfigRole に付与されます。
それ以外の場合は、AWSConfigUserAccess AWS 管理ポリシーに含まれるアクセス許可が必要です。
クエリできるプロパティのリスト
更新されたプロパティのリストとそのデータ型は、[GitHub
高度なクエリとアグリゲータ
アグリゲーターでクエリを実行するには、アグリゲーターを作成します。詳細については、「のアグリゲータの作成 AWS Config」を参照してください。
アグリゲーターがすでに設定されている場合は、クエリのスコープでアグリゲーターを選択し、そのアグリゲーターで高度なクエリを実行します。アグリゲータを選択するときは、クエリステートメントに AWS アカウント ID と AWS リージョンを追加して、その情報を結果に表示することを検討してください。
リソース設定データのクエリ
クエリエディタ (AWS CLI) を使用して、単一のアカウントとリージョンのリソース設定データをクエリするには
-
コマンドプロンプトまたはターミナルウィンドウを開きます。
-
リソース設定データをクエリするには、次のコマンドを入力します。
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) を使用して、複数のアカウントとリージョンのリソース設定データをクエリするには
-
コマンドプロンプトまたはターミナルウィンドウを開きます。
-
リソース設定データをクエリするには、次のコマンドを入力します。
aws configservice select-aggregate-resource-config --expression "
SELECT resourceId WHERE resourceType='AWS::EC2::Instance'
" --configuration-aggregator-namemy-aggregator
クエリに応じて、出力は次のようになります。
{ "QueryInfo": { "SelectFields": [ { "Name": "resourceId" } ] }, "Results": [ "{\"resourceId\":\"
ResourceId
\"}", "{\"resourceId\":\"ResourceId
\"}", "{\"resourceId\":\"ResourceId
\"}", "{\"resourceId\":\"ResourceId
\"}", "{\"resourceId\":\"ResourceId
\"}", "{\"resourceId\":\"ResourceId
\"}", "{\"resourceId\":\"ResourceId
\"}" ] }注記
高度なクエリで
AWS::IAM::User
、AWS::IAM::Group
、AWS::IAM::Role
、およびAWS::IAM::Policy
リソースタイプを使用する場合は、awsRegion = 'global'
を使用します。
クエリの保存
-
コマンドプロンプトまたはターミナルウィンドウを開きます。
-
次のコマンドを入力してクエリを保存します。
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\" }]"
-
クエリに応じて、出力は次のようになります。
{ "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
は、クエリの作成時または更新時に使用するオプションです。
保存されたクエリをすべて表示
-
保存されているすべてのクエリのリストを表示するには、次のコマンドを入力します。
aws configservice list-stored-queries
-
クエリに応じて、出力は次のようになります。
{ "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" } ] } }
保存されたクエリの詳細の取得
-
保存されたクエリの詳細を取得するには、次のコマンドを入力します。
aws configservice get-stored-query --query-name cli-test
-
クエリに応じて、出力は次のようになります。
{ "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
成功すると、コマンドは追加の出力なしで実行されます。