

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

# AWS Device Farm 리소스에 태그 지정
<a name="tagging"></a>

AWS Device Farm은 AWS Resource Groups Tagging API와 함께 작동합니다. 이 API를 사용하면 태그로 AWS 계정의 리소스를 관리할 수 있습니다.** 프로젝트 및 테스트 실행과 같은 리소스에 태그를 추가할 수 있습니다.

태그를 사용하여 다음을 수행할 수 있습니다.
+ 비용 구조를 반영하도록 AWS 대금을 구성합니다. 이를 위해 가입하여 태그 키 값이 포함된 AWS 계정 청구서를 가져옵니다. 그런 다음 같은 태그 키 값을 가진 리소스에 따라 결제 정보를 구성하여 리소스 비용의 합을 볼 수 있습니다. 예를 들어 애플리케이션 이름으로 여러 리소스에 태그를 지정한 다음, 결제 정보를 구성하여 여러 서비스에 걸친 해당 애플리케이션의 총 비용을 볼 수 있습니다. 자세한 내용은 AWS 과금 정보 및 비용 관리 설명서의 [비용 할당과 태그 지정](https://docs.aws.amazon.com//awsaccountbilling/latest/aboutv2/cost-alloc-tags.html)을 참조하세요.**
+ IAM 정책을 통해 액세스를 제어합니다. 이렇게 하려면 태그 값 조건을 사용하여 리소스 또는 리소스 집합에 대한 액세스를 허용하는 정책을 생성합니다.
+ 테스트에 사용되는 브랜치와 같은 특정 속성을 태그로 가진 실행을 식별하고 관리합니다.

 리소스 태그 지정에 대한 자세한 내용은 [태그 지정 모범 사례](https://d1.awsstatic.com/whitepapers/aws-tagging-best-practices.pdf) 백서를 참조하세요.

**Topics**
+ [리소스에 태그 지정](#tagging-resources)
+ [태그로 리소스 조회](#tagging-looking-up-resources)
+ [리소스에서 태그 제거](#tagging-removing-tags)

## 리소스에 태그 지정
<a name="tagging-resources"></a>

AWS Resource Group Tagging API를 사용하면 리소스에 대한 태그를 추가, 제거 또는 수정할 수 있습니다. 자세한 내용은 [AWS Resource Groups 태그 지정 API 참조](https://docs.aws.amazon.com//resourcegroupstagging/latest/APIReference/Welcome.html)를 참조하세요.

리소스에 태그를 지정하려면 `resourcegroupstaggingapi` 엔드포인트에서 [https://docs.aws.amazon.com/resourcegroupstagging/latest/APIReference/API_TagResources.html](https://docs.aws.amazon.com/resourcegroupstagging/latest/APIReference/API_TagResources.html) 작업을 사용하세요. 이 작업은 지원되는 서비스의 ARN 목록과 키 값 페어 목록을 가져옵니다. 값은 선택 사항입니다. 빈 문자열은 해당 태그의 값이 없어야 함을 나타냅니다. 예를 들어, 다음 Python 예제는 일련의 프로젝트 ARN에 `release` 값이 있는 `build-config` 태그를 지정합니다.

```
import boto3

client = boto3.client('resourcegroupstaggingapi')

client.tag_resources(ResourceARNList=["arn:aws:devicefarm:us-west-2:111122223333:project:123e4567-e89b-12d3-a456-426655440000",
                                      "arn:aws:devicefarm:us-west-2:111122223333:project:123e4567-e89b-12d3-a456-426655441111",
                                      "arn:aws:devicefarm:us-west-2:111122223333:project:123e4567-e89b-12d3-a456-426655442222"]
                     Tags={"build-config":"release", "git-commit":"8fe28cb"})
```

태그 값은 필요하지 않습니다. 값 없이 태그를 설정하려면 값을 지정할 때 빈 문자열(`""`)을 사용하세요. 태그는 하나의 값만 가질 수 있습니다. 리소스에 대한 태그의 이전 값은 새 값으로 덮어쓰게 됩니다.

## 태그로 리소스 조회
<a name="tagging-looking-up-resources"></a>

태그로 리소스를 조회하려면 `resourcegrouptaggingapi` 엔드포인트의 `GetResources` 작업을 사용하세요. 이 작업은 일련의 필터(필수가 아님)를 사용하여 지정된 기준과 일치하는 리소스를 반환합니다. 필터가 없으면 태그가 지정된 모든 리소스가 반환됩니다. `GetResources` 작업을 통해 다음을 기준으로 리소스를 필터링할 수 있습니다.
+ 태그 값
+ 리소스 유형(예: `devicefarm:run`)

자세한 내용은 [AWS Resource Group 태그 지정 API 참조](https://docs.aws.amazon.com//resourcegroupstagging/latest/APIReference/Welcome.html)를 참조하세요.

다음 예제에서는 `production` 값이 있는 `stack` 태그로 Device Farm 데스크톱 브라우저 테스트 세션(`devicefarm:testgrid-session` 리소스)을 조회합니다.

```
import boto3
client = boto3.client('resourcegroupstaggingapi')
sessions = client.get_resources(ResourceTypeFilters=['devicefarm:testgrid-session'],
                                TagFilters=[
                                  {"Key":"stack","Values":["production"]}
                                ])
```

## 리소스에서 태그 제거
<a name="tagging-removing-tags"></a>

태그를 제거하려면 제거할 리소스 및 태그 목록을 지정하여 `UntagResources` 작업을 사용하세요.

```
import boto3
client = boto3.client('resourcegroupstaggingapi')
client.UntagResources(ResourceARNList=["arn:aws:devicefarm:us-west-2:111122223333:project:123e4567-e89b-12d3-a456-426655440000"], TagKeys=["RunCI"])
```