를 사용한 리소스 그룹 예제 AWS CLI - AWS Command Line Interface

이 설명서는 의 버전 1 AWS CLI 전용입니다. 의 버전 2와 관련된 설명서는 버전 2 사용 설명서 를 AWS CLI참조하세요.

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

를 사용한 리소스 그룹 예제 AWS CLI

다음 코드 예제에서는 리소스 그룹과 AWS Command Line Interface 함께 를 사용하여 작업을 수행하고 일반적인 시나리오를 구현하는 방법을 보여줍니다.

작업은 대규모 프로그램에서 발췌한 코드이며 컨텍스트에 맞춰 실행해야 합니다. 작업은 개별 서비스 함수를 직접적으로 호출하는 방법을 보여주며 관련 시나리오의 컨텍스트에 맞는 작업을 볼 수 있습니다.

각 예제에는 컨텍스트에서 코드를 설정하고 실행하는 방법에 대한 지침을 찾을 수 있는 전체 소스 코드에 대한 링크가 포함되어 있습니다.

주제

작업

다음 코드 예시에서는 create-group을 사용하는 방법을 보여 줍니다.

AWS CLI

예제 1: 태그 기반 리소스 그룹을 생성하려면

다음 create-group 예제에서는 현재 리전에 Amazon EC2 인스턴스의 태그 기반 리소스 그룹을 생성합니다. 키 및 값으로 태그가 지정된 리소스에 대한 쿼리Name를 기반으로 합니다WebServers. 그룹 이름은 입니다tbq-WebServer. 쿼리는 명령에 전달되는 별도의 JSON 파일에 있습니다.

aws resource-groups create-group \ --name tbq-WebServer \ --resource-query file://query.json

query.json의 콘텐츠:

{ "Type": "TAG_FILTERS_1_0", "Query": "{\"ResourceTypeFilters\":[\"AWS::EC2::Instance\"],\"TagFilters\":[{\"Key\":\"Name\", \"Values\":[\"WebServers\"]}]}" }

출력:

{ "Group": { "GroupArn": "arn:aws:resource-groups:us-west-2:123456789012:group/tbq-WebServer", "Name": "tbq-WebServer" }, "ResourceQuery": { "Type": "TAG_FILTERS_1_0", "Query": "{\"ResourceTypeFilters\":[\"AWS::EC2::Instance\"],\"TagFilters\":[{\"Key\":\"Name\", \"Values\":[\"WebServers\"]}]}" } }

예제 2: CloudFormation 스택 기반 리소스 그룹을 생성하려면

다음 create-group 예제에서는 라는 AWS CloudFormation 스택 기반 리소스 그룹을 생성합니다sampleCFNstackgroup. 쿼리에는 리소스 그룹에서 지원하는 지정된 CloudFormation 스택의 모든 AWS 리소스가 포함됩니다.

aws resource-groups create-group \ --name cbq-CFNstackgroup \ --resource-query file://query.json

query.json의 콘텐츠:

{ "Type": "CLOUDFORMATION_STACK_1_0", "Query": "{\"ResourceTypeFilters\":[\"AWS::AllSupported\"],\"StackIdentifier\":\"arn:aws:cloudformation:us-west-2:123456789012:stack/MyCFNStack/1415z9z0-z39z-11z8-97z5-500z212zz6fz\"}" }

출력:

{ "Group": { "GroupArn": "arn:aws:resource-groups:us-west-2:123456789012:group/cbq-CFNstackgroup", "Name": "cbq-CFNstackgroup" }, "ResourceQuery": { "Type": "CLOUDFORMATION_STACK_1_0", "Query": "{\"ResourceTypeFilters\":[\"AWS::AllSupported\"],\"StackIdentifier\":\"arn:aws:cloudformation:us-east-2:123456789012:stack/MyCFNStack/1415z9z0-z39z-11z8-97z5-500z212zz6fz\"}"}' } }

자세한 내용은 리소스 그룹 사용 설명서의 그룹 생성을 참조하세요. AWS

  • 자세한 API 내용은 명령 참조CreateGroup의 섹션을 참조하세요. AWS CLI

다음 코드 예시에서는 delete-group을 사용하는 방법을 보여 줍니다.

AWS CLI

리소스 그룹에 대한 설명을 업데이트하려면

다음 delete-group 예제에서는 지정된 리소스 그룹을 업데이트합니다.

aws resource-groups delete-group \ --group-name tbq-WebServer

출력:

{ "Group": { "GroupArn": "arn:aws:resource-groups:us-west-2:1234567890:group/tbq-WebServer", "Name": "tbq-WebServer" } }

자세한 내용은 리소스 그룹 사용 설명서의 그룹 삭제를 참조하세요. AWS

  • 자세한 API 내용은 명령 참조DeleteGroup의 섹션을 참조하세요. AWS CLI

다음 코드 예시에서는 get-group-query을 사용하는 방법을 보여 줍니다.

AWS CLI

리소스 그룹에 쿼리를 연결하려면

다음 get-group-query 예제에서는 지정된 리소스 그룹에 연결된 쿼리를 표시합니다.

aws resource-groups get-group-query \ --group-name tbq-WebServer

출력:

{ "GroupQuery": { "GroupName": "tbq-WebServer", "ResourceQuery": { "Type": "TAG_FILTERS_1_0", "Query": "{\"ResourceTypeFilters\":[\"AWS::EC2::Instance\"],\"TagFilters\":[{\"Key\":\"Name\", \"Values\":[\"WebServers\"]}]}" } } }
  • 자세한 API 내용은 명령 참조GetGroupQuery의 섹션을 참조하세요. AWS CLI

다음 코드 예시에서는 get-group을 사용하는 방법을 보여 줍니다.

AWS CLI

리소스 그룹에 대한 정보를 가져오려면

다음 get-group 예제에서는 지정된 리소스 그룹에 대한 세부 정보를 표시합니다. 쿼리를 그룹에 연결하려면 를 사용합니다get-group-query.

aws resource-groups get-group \ --group-name tbq-WebServer

출력:

{ "Group": { "GroupArn": "arn:aws:resource-groups:us-west-2:123456789012:group/tbq-WebServer", "Name": "tbq-WebServer", "Description": "A tag-based query resource group of WebServers." } }
  • 자세한 API 내용은 명령 참조GetGroup의 섹션을 참조하세요. AWS CLI

다음 코드 예시에서는 get-tags을 사용하는 방법을 보여 줍니다.

AWS CLI

리소스 그룹에 연결된 태그를 검색하려면

다음 get-tags 예제에서는 지정된 리소스 그룹(그룹 자체, 구성원 아님)에 연결된 태그 키와 값 페어를 표시합니다.

aws resource-groups get-tags \ --arn arn:aws:resource-groups:us-west-2:123456789012:group/tbq-WebServer

출력:

{ "Arn": "arn:aws:resource-groups:us-west-2:123456789012:group/tbq-WebServer", "Tags": { "QueryType": "tags", "QueryResources": "ec2-instances" } }
  • 자세한 API 내용은 명령 참조GetTags의 섹션을 참조하세요. AWS CLI

다음 코드 예시에서는 list-group-resources을 사용하는 방법을 보여 줍니다.

AWS CLI

리소스 그룹의 모든 리소스를 나열하려면

예제 1: 다음 list-resource-groups 예제에서는 지정된 리소스 그룹의 일부인 모든 리소스를 나열합니다.

aws resource-groups list-group-resources \ --group-name tbq-WebServer

출력:

{ "ResourceIdentifiers": [ { "ResourceArn": "arn:aws:ec2:us-west-2:123456789012:instance/i-09f77fa38c12345ab", "ResourceType": "AWS::EC2::Instance" } ] }

예제 2: 다음 예제에서는 ':AWS::EC2Instance'의 '리소스 유형'도 있는 그룹의 모든 리소스를 나열합니다. :

aws resource-groups list-group-resources --group-name tbq-WebServer -filters Name=resource-type,Values=AWS::EC2:Instance

  • 자세한 API 내용은 명령 참조ListGroupResources의 섹션을 참조하세요. AWS CLI

다음 코드 예시에서는 list-groups을 사용하는 방법을 보여 줍니다.

AWS CLI

사용 가능한 리소스 그룹을 나열하려면

다음 list-groups 예제에서는 모든 리소스 그룹의 목록을 표시합니다.

aws resource-groups list-groups

출력:

{ "GroupIdentifiers": [ { "GroupName": "tbq-WebServer", "GroupArn": "arn:aws:resource-groups:us-west-2:123456789012:group/tbq-WebServer3" }, { "GroupName": "cbq-CFNStackQuery", "GroupArn": "arn:aws:resource-groups:us-west-2:123456789012:group/cbq-CFNStackQuery" } ], "Groups": [ { "GroupArn": "arn:aws:resource-groups:us-west-2:123456789012:group/tbq-WebServer", "Name": "tbq-WebServer" }, { "GroupArn": "arn:aws:resource-groups:us-west-2:123456789012:group/cbq-CFNStackQuery", "Name": "cbq-CFNStackQuery" } ] }
  • 자세한 API 내용은 명령 참조ListGroups의 섹션을 참조하세요. AWS CLI

다음 코드 예시에서는 list-resource-groups을 사용하는 방법을 보여 줍니다.

AWS CLI

리소스 그룹의 모든 리소스를 나열하려면

다음 list-resource-groups 예제에서는 지정된 리소스 그룹의 일부인 모든 리소스를 나열합니다.

aws resource-groups list-group-resources \ --group-name tbq-WebServer

출력:

{ "ResourceIdentifiers": [ { "ResourceArn": "arn:aws:ec2:us-west-2:123456789012:instance/i-09f77fa38c12345ab", "ResourceType": "AWS::EC2::Instance" } ] }
  • 자세한 API 내용은 명령 참조ListResourceGroups의 섹션을 참조하세요. AWS CLI

다음 코드 예시에서는 put-group-configuration을 사용하는 방법을 보여 줍니다.

AWS CLI

리소스 그룹에 서비스 구성을 연결하려면

예제 1: 다음 put-group-configuration 예제에서는 리소스 그룹이 C5 또는 M5 패밀리의 인스턴스에 대한 Amazon EC2 용량 예약만 포함하도록 지정합니다.

aws resource-groups put-group-configuration \ --group MyTestGroup \ --configuration file://config.json

config.json의 콘텐츠:

[ { "Type": "AWS::EC2::HostManagement", "Parameters": [ { "Name": "allowed-host-families", "Values": [ "c5", "m5" ] }, { "Name": "any-host-based-license-configuration", "Values": [ "true" ] } ] }, { "Type": "AWS::ResourceGroups::Generic", "Parameters": [ { "Name": "allowed-resource-types", "Values": [ "AWS::EC2::Host" ] }, { "Name": "deletion-protection", "Values": [ "UNLESS_EMPTY" ] } ] } ]

이 명령은 성공 시 출력을 생성하지 않습니다.

자세한 내용은 리소스 그룹 참조 가이드의 리소스 그룹에 대한 서비스 구성을 참조하세요API.

다음 코드 예시에서는 search-resources을 사용하는 방법을 보여 줍니다.

AWS CLI

쿼리와 일치하는 리소스를 찾으려면

다음 search-resources 예제에서는 지정된 쿼리와 일치하는 모든 AWS 리소스 목록을 검색합니다.

aws resource-groups search-resources \ --resource-query file://query.json

query.json의 콘텐츠:

{ "Type": "TAG_FILTERS_1_0", "Query": "{\"ResourceTypeFilters\":[\"AWS::EC2::Instance\"],\"TagFilters\":[{\"Key\":\"Patch Group\", \"Values\":[\"Dev\"]}]}" }

출력:

{ "ResourceIdentifiers": [ { "ResourceArn": "arn:aws:ec2:us-west-2:123456789012:instance/i-01a23bc45d67890ef", "ResourceType": "AWS::EC2::Instance" } ] }
  • 자세한 API 내용은 명령 참조SearchResources의 섹션을 참조하세요. AWS CLI

다음 코드 예시에서는 tag을 사용하는 방법을 보여 줍니다.

AWS CLI

리소스 그룹에 태그를 연결하려면

다음 tag 예제에서는 지정된 태그 키와 값 페어를 지정된 리소스 그룹(그룹 자체, 구성원 아님)에 연결합니다.

aws resource-groups tag \ --tags QueryType=tags,QueryResources=ec2-instances \ --arn arn:aws:resource-groups:us-west-2:128716708097:group/tbq-WebServer

출력:

{ "Arn": "arn:aws:resource-groups:us-west-2:128716708097:group/tbq-WebServer", "Tags": { "QueryType": "tags", "QueryResources": "ec2-instances" } }

자세한 내용은 리소스 그룹 사용 설명서의 태그 관리를 참조하세요. AWS

  • API 자세한 내용은 명령 참조의 태그를 참조하세요. AWS CLI

다음 코드 예시에서는 untag을 사용하는 방법을 보여 줍니다.

AWS CLI

리소스 그룹에서 태그를 제거하려면

다음 untags 예제에서는 리소스 그룹 자체에서 지정된 키가 있는 태그를 제거합니다.

aws resource-groups untag \ --arn arn:aws:resource-groups:us-west-2:123456789012:group/tbq-WebServer \ --keys QueryType

출력:

{ "Arn": "arn:aws:resource-groups:us-west-2:123456789012:group/tbq-WebServer", "Keys": [ "QueryType" ] }

자세한 내용은 리소스 그룹 사용 설명서의 태그 관리를 참조하세요. AWS

  • API 자세한 내용은 AWS CLI 명령 참조태그 해제를 참조하세요.

다음 코드 예시에서는 update-group-query을 사용하는 방법을 보여 줍니다.

AWS CLI

예제 1: 태그 기반 리소스 그룹에 대한 쿼리를 업데이트하려면

다음 update-group-query 예제에서는 지정된 태그 기반 리소스 그룹에 연결된 쿼리를 업데이트합니다.

aws resource-groups update-group-query \ --group-name tbq-WebServer \ --resource-query '{"Type":"TAG_FILTERS_1_0", "Query":"{\"ResourceTypeFilters\":[\"AWS::EC2::Instance\"],\"TagFilters\":[{\"Key\":\"Name\", \"Values\":[\"WebServers\"]}]}"}'

출력:

{ "Group": { "GroupArn": "arn:aws:resource-groups:us-east-2:123456789012:group/tbq-WebServer", "Name": "tbq-WebServer" }, "ResourceQuery": { "Type": "TAG_FILTERS_1_0", "Query": "{\"ResourceTypeFilters\":[\"AWS::EC2::Instance\"],\"TagFilters\":[{\"Key\":\"Name\", \"Values\":[\"WebServers\"]}]}" } }

자세한 내용은 리소스 그룹 사용 설명서의 그룹 업데이트를 참조하세요. AWS

예제 2: CloudFormation 스택 기반 리소스 그룹에 대한 쿼리를 업데이트하려면

다음 update-group-query 예제에서는 지정된 AWS CloudFormation 스택 기반 리소스 그룹에 연결된 쿼리를 업데이트합니다.

aws resource-groups update-group-query \ --group-name cbq-CFNstackgroup \ --resource-query '{"Type": "CLOUDFORMATION_STACK_1_0", "Query": "{\"ResourceTypeFilters\":[\"AWS::AllSupported\"],\"StackIdentifier\":\"arn:aws:cloudformation:us-west-2:123456789012:stack/MyCFNStack/1415z9z0-z39z-11z8-97z5-500z212zz6fz\"}"}'

출력:

{ "Group": { "GroupArn": "arn:aws:resource-groups:us-west-2:123456789012:group/cbq-CFNstackgroup", "Name": "cbq-CFNstackgroup" }, "ResourceQuery": { "Type": "CLOUDFORMATION_STACK_1_0", "Query": "{\"ResourceTypeFilters\":[\"AWS::AllSupported\"],\"StackIdentifier\":\"arn:aws:cloudformation:us-west-2:123456789012:stack/MyCFNStack/1415z9z0-z39z-11z8-97z5-500z212zz6fz\"}" } }

자세한 내용은 리소스 그룹 사용 설명서의 그룹 업데이트를 참조하세요. AWS

  • 자세한 API 내용은 명령 참조UpdateGroupQuery의 섹션을 참조하세요. AWS CLI

다음 코드 예시에서는 update-group을 사용하는 방법을 보여 줍니다.

AWS CLI

리소스 그룹에 대한 설명을 업데이트하려면

다음 update-group 예제에서는 지정된 리소스 그룹에 대한 설명을 업데이트합니다.

aws resource-groups update-group \ --group-name tbq-WebServer \ --description "Resource group for all web server resources."

출력:

{ "Group": { "GroupArn": "arn:aws:resource-groups:us-west-2:123456789012:group/tbq-WebServer", "Name": "tbq-WebServer" "Description": "Resource group for all web server resources." } }

자세한 내용은 리소스 그룹 사용 설명서의 그룹 업데이트를 참조하세요. AWS

  • 자세한 API 내용은 명령 참조UpdateGroup의 섹션을 참조하세요. AWS CLI