SQL 쿼리 편집기(AWS CLI)를 사용하여 쿼리 - AWS Config

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

SQL 쿼리 편집기(AWS CLI)를 사용하여 쿼리

AWS 서비스를 관리할 수 AWS CLI 있는 통합 도구입니다. 하나의 도구를 다운로드하고 구성하기만 하면 명령줄에서 여러 AWS 서비스를 제어하고 스크립트를 사용하여 서비스를 자동화할 수 있습니다. 에 대한 자세한 AWS CLI 내용 및 AWS CLI 도구 설치 지침은 사용 설명서의 다음을 참조하십시오.AWS Command Line Interface

필요한 경우 aws configure 를 입력하여 고급 쿼리를 사용할 수 있는 AWS 지역을 사용하도록 구성하십시오. AWS CLI

고려 사항

사전 조건 

다음 AWS 관리형 정책 중 하나를 사용하는 경우 AWSServiceRoleForConfig(서비스 연결 역할) 또는 AWS_와 같은 쿼리를 실행하고 저장하는 데 필요한 권한을 갖게 됩니다. ConfigRole

그렇지 않으면 관리형 정책에 포함된 권한이 있어야 합니다. AWSConfigUserAccess AWS

쿼리할 수 있는 속성 목록

업데이트된 속성 및 해당 데이터 유형 목록은 에서 확인할 수 GitHub있습니다.

고급 쿼리 및 애그리게이터

집계기에서 쿼리를 실행하려면 집계기를 만듭니다. 자세한 정보는 콘솔을 사용하여 집계자 설정을 참조하세요.

이미 집계기가 설정되어 있는 경우 쿼리 범위에서 그 집계기를 선택하고 그 집계기에 대해 고급 쿼리를 실행합니다. 애그리게이터를 선택할 때 결과에서 AWS 해당 정보를 보려면 쿼리문에 AWS 계정 ID와 지역을 추가하는 것을 고려해 보세요.

리소스 구성 데이터 쿼리

단일 계정 및 리전에 대해 쿼리 편집기(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::Group,AWS::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

명령이 성공하면 추가 출력이 표시되지 않습니다.