기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
(AWS CLI)에 대한 AWS Config 쿼리 편집기를 사용한 SQL 쿼리
AWS CLI 는 AWS 서비스를 관리하기 위한 통합 도구입니다. 다운로드하고 구성할 수 있는 도구가 하나뿐이므로 명령줄에서 여러 AWS 서비스를 제어하고 스크립트를 사용하여 서비스를 자동화할 수 있습니다. AWS CLI 및 AWS CLI 에 대한 자세한 내용은 AWS Command Line Interface 사용 설명서의 다음을 참조하세요.
필요한 경우 aws configure
를 입력하여 고급 쿼리를 사용할 수 있는 리전을 AWS CLI AWS 사용하도록 구성합니다.
고려 사항
사전 조건
다음 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
명령이 성공하면 추가 출력이 표시되지 않습니다.