

Doc AWS SDK 예제 GitHub 리포지토리에서 더 많은 SDK 예제를 사용할 수 있습니다. [AWS](https://github.com/awsdocs/aws-doc-sdk-examples) 

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

# 를 사용한 Resource Groups 예제 AWS CLI
<a name="cli_2_resource-groups_code_examples"></a>

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

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

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

**Topics**
+ [작업](#actions)

## 작업
<a name="actions"></a>

### `create-group`
<a name="resource-groups_CreateGroup_cli_2_topic"></a>

다음 코드 예시에서는 `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`. 쿼리에는 Resource Groups에서 지원하는 지정된 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 Resource Groups 사용자 안내서*의 [그룹 생성](https://docs.aws.amazon.com/ARG/latest/userguide/gettingstarted-query.html)을 참조하세요.  
+  API 세부 정보는 *AWS CLI 명령 참조*의 [CreateGroup](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/resource-groups/create-group.html)을 참조하세요.

### `delete-group`
<a name="resource-groups_DeleteGroup_cli_2_topic"></a>

다음 코드 예시에서는 `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 Resource Groups 사용자 안내서*의 [그룹 삭제](https://docs.aws.amazon.com/ARG/latest/userguide/deleting-resource-groups.html)를 참조하세요.  
+  API 세부 정보는 *AWS CLI 명령 참조*의 [DeleteGroup](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/resource-groups/delete-group.html)을 참조하세요.

### `get-group-query`
<a name="resource-groups_GetGroupQuery_cli_2_topic"></a>

다음 코드 예시에서는 `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 세부 정보는 *AWS CLI 명령 참조*의 [GetGroupQuery](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/resource-groups/get-group-query.html)를 참조하세요.

### `get-group`
<a name="resource-groups_GetGroup_cli_2_topic"></a>

다음 코드 예시에서는 `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 세부 정보는 *AWS CLI 명령 참조*의 [GetGroup](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/resource-groups/get-group.html)을 참조하세요.

### `get-tags`
<a name="resource-groups_GetTags_cli_2_topic"></a>

다음 코드 예시에서는 `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 세부 정보는 *AWS CLI 명령 참조*의 [GetTags](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/resource-groups/get-tags.html)를 참조하세요.

### `list-group-resources`
<a name="resource-groups_ListGroupResources_cli_2_topic"></a>

다음 코드 예시에서는 `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:EC2::Instance'의 'resource-type'도 있는 그룹의 모든 리소스를 나열합니다.  
aws resource-groups list-group-resources --group-name tbq-WebServer --filters Name=resource-type,Values=AWS::EC2::Instance  
+  API 세부 정보는 *AWS CLI 명령 참조*의 [ListGroupResources](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/resource-groups/list-group-resources.html)를 참조하세요.

### `list-groups`
<a name="resource-groups_ListGroups_cli_2_topic"></a>

다음 코드 예시에서는 `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 세부 정보는 *AWS CLI 명령 참조*의 [ListGroups](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/resource-groups/list-groups.html)를 참조하세요.

### `list-resource-groups`
<a name="resource-groups_ListResourceGroups_cli_2_topic"></a>

다음 코드 예시에서는 `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 세부 정보는 *AWS CLI 명령 참조*의 [ListResourceGroups](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/resource-groups/list-resource-groups.html)를 참조하세요.

### `put-group-configuration`
<a name="resource-groups_PutGroupConfiguration_cli_2_topic"></a>

다음 코드 예시에서는 `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" ]
            }
        ]
    }
]
```
이 명령은 성공 시 출력을 생성하지 않습니다.  
자세한 내용은 *Resource Groups API 참조 안내서*의 [리소스 그룹의 서비스 구성](https://docs.aws.amazon.com/ARG/latest/APIReference/about-slg.html)을 참조하세요.  
+  API 세부 정보는 *AWS CLI 명령 참조*의 [PutGroupConfiguration](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/resource-groups/put-group-configuration.html)을 참조하세요.

### `search-resources`
<a name="resource-groups_SearchResources_cli_2_topic"></a>

다음 코드 예시에서는 `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 세부 정보는 *AWS CLI 명령 참조*의 [SearchResources](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/resource-groups/search-resources.html)를 참조하세요.

### `tag`
<a name="resource-groups_Tag_cli_2_topic"></a>

다음 코드 예시에서는 `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 Resource Groups 사용자 안내서*의 [태그 관리](https://docs.aws.amazon.com/ARG/latest/userguide/tagging-resources.html)를 참조하세요.  
+  API 세부 정보는 *AWS CLI 명령 참조*의 [Tag](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/resource-groups/tag.html)를 참조하세요.

### `untag`
<a name="resource-groups_Untag_cli_2_topic"></a>

다음 코드 예시에서는 `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 Resource Groups 사용자 안내서*의 [태그 관리](https://docs.aws.amazon.com/ARG/latest/userguide/tagging-resources.html)를 참조하세요.  
+  API 세부 정보는 *AWS CLI 명령 참조*의 [Untag](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/resource-groups/untag.html)를 참조하세요.

### `update-group-query`
<a name="resource-groups_UpdateGroupQuery_cli_2_topic"></a>

다음 코드 예시에서는 `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 Resource Groups 사용자 안내서*의 [그룹 업데이트](https://docs.aws.amazon.com/ARG/latest/userguide/updating-resource-groups.html)를 참조하세요.  
**예시 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 Resource Groups 사용자 안내서*의 [그룹 업데이트](https://docs.aws.amazon.com/ARG/latest/userguide/updating-resource-groups.html)를 참조하세요.  
+  API 세부 정보는 *AWS CLI 명령 참조*의 [UpdateGroupQuery](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/resource-groups/update-group-query.html)를 참조하세요.

### `update-group`
<a name="resource-groups_UpdateGroup_cli_2_topic"></a>

다음 코드 예시에서는 `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 Resource Groups 사용자 안내서*의 [그룹 업데이트](https://docs.aws.amazon.com/ARG/latest/userguide/updating-resource-groups.html)를 참조하세요.  
+  API 세부 정보는 *AWS CLI 명령 참조*의 [UpdateGroup](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/resource-groups/update-group.html)을 참조하세요.