

# 태그를 지정할 수 있는 API Gateway 리소스
<a name="apigateway-tagging-supported-resources"></a>

태그는 [Amazon API Gateway V2 API](https://docs.aws.amazon.com/apigatewayv2/latest/api-reference/)의 다음과 같은 HTTP API 또는 WebSocket API 리소스에 설정될 수 있습니다.
+ `Api`
+ `DomainName`
+ `Stage`
+ `VpcLink`

또한 태그는 [Amazon API Gateway V1 API](https://docs.aws.amazon.com/apigateway/latest/api/API_Operations.html)의 다음과 같은 REST API 리소스에 설정될 수 있습니다.
+ `ApiKey`
+ `ClientCertificate`
+ `DomainName`
+ `DomainNameAccessAssociation`
+ `RestApi`
+ `Stage`
+ `UsagePlan`
+ `VpcLink`

다른 리소스에는 태그를 직접 설정할 수 없습니다. 그러나 [Amazon API Gateway V1 API](https://docs.aws.amazon.com/apigateway/latest/api/API_Operations.html)에서는 하위 리소스가 상위 리소스에 설정된 태그를 상속합니다. 예:
+ `RestApi` 리소스에 태그가 설정되면 해당 태그는 [속성 기반 액세스 제어](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction_attribute-based-access-control.html)에 대한 `RestApi`의 다음 하위 리소스에 의해 상속됩니다.
  + `Authorizer`
  + `Deployment`
  + `Documentation`
  + `GatewayResponse`
  + `Integration`
  + `Method`
  + `Model`
  + `Resource`
  + `ResourcePolicy`
  + `Setting`
  + `Stage`
+ `DomainName`에 태그가 설정되어 있으면 해당 태그는 아래에 있는 `BasePathMapping`, `ApiMapping` 및 `RoutingRule` 리소스에 의해 상속됩니다.
+ `UsagePlan`에 태그가 설정되면 해당 태그는 아래에 있는 `UsagePlanKey` 리소스에 의해 상속됩니다.

**참고**  
태그 상속은 [속성 기반 액세스 제어](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction_attribute-based-access-control.html)에만 적용됩니다. 예를 들어 상속된 태그를 사용하여 AWS Cost Explorer의 비용을 모니터링할 수 없습니다. 비용 할당에 태그를 사용하려면 `Stage` 리소스와 같은 하위 리소스에 태그를 생성하는 것이 좋습니다.  
API Gateway는 리소스에 대해 [GetTags](https://docs.aws.amazon.com/cli/latest/reference/apigateway/get-tags.html) 호출 시 상속된 태그를 반환하지 않습니다.

## Amazon API Gateway V1 API의 태그 상속
<a name="apigateway-tagging-inheritance"></a>

이전에는 단계에만 태그를 설정할 수 있었습니다. 이제는 다른 리소스에도 태그를 설정할 수 있으므로 `Stage`에서 다음 두 가지 방법으로 태그를 수신할 수 있습니다.
+ `Stage`에 태그를 직접 설정할 수 있습니다.
+ 단계가 해당 상위 `RestApi`에서 태그를 상속할 수 있습니다.

단계가 두 방법으로 태그를 수신하는 경우 단계에 직접 설정된 태그가 우선합니다. 예를 들어, 단계가 상위 REST API에서 다음 태그를 상속하는 경우 다음과 같습니다.

```
{
	'foo': 'bar',
	'x':'y'
}
```

단계에 다음 태그가 직접 설정되어 있는 경우 다음과 같습니다.

```
{
	'foo': 'bar2',
	'hello': 'world'
}
```

단계에 다음 값과 함께 다음 태그가 포함됩니다.

```
{
	'foo': 'bar2',
	'hello': 'world'
	'x':'y'
}
```

## 태그 제한 및 사용 규칙
<a name="apigateway-tagging-restrictions"></a>

다음 제한 및 사용 규칙은 API Gateway 리소스와 함께 태그를 사용할 때 적용합니다.
+ 각 리소스는 최대 50개의 태그를 보유할 수 있습니다.
+ 각 리소스에 대해 각 태그 키는 고유하며 하나의 값만 가질 수 있습니다.
+ 태그 키의 최대 길이는 UTF-8 형식의 유니코드 문자 128자입니다.
+ 태그 값의 최대 길이는 UTF-8 형식의 유니코드 문자 256자입니다.
+ 키와 값에 허용되는 문자는 UTF-8로 표현할 수 있는 문자, 숫자, 공백 및 ***. : \$1 = @ \$1 / -***(하이픈) 문자도 있습니다. Amazon EC2 리소스는 모든 문자를 허용합니다.
+ 태그 키와 값은 대/소문자를 구분합니다. 태그를 대문자로 사용하는 전략을 세우고 이러한 전략을 모든 리소스 유형에 대해 일관되게 구현하는 것이 가장 좋습니다. 예컨대, `Costcenter`, `costcenter` 또는 `CostCenter`를 사용할지 결정하고 모든 태그에 대해 동일한 규칙을 사용합니다. 대/소문자가 일치하지 않는 유사한 태그를 사용하지 마십시오.
+ `aws:` 접두사는 AWS가 사용하도록 예약되어 있으므로 태그에 사용할 수 없습니다. 이 접두사가 지정된 태그 키나 값은 편집하거나 삭제할 수 없습니다. 이 접두사가 지정된 태그는 리소스당 태그 수 제한에 포함되지 않습니다.