기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
AWS Config의 SQL 쿼리 편집기(AWS CLI)를 사용하여 쿼리
AWS CLI는 AWS 서비스를 관리하는 통합 도구입니다. 도구 하나만 다운로드하여 구성하면 여러 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
명령이 성공하면 추가 출력이 표시되지 않습니다.