

# API Gateway에서 API 스테이지에 대한 태그 설정
<a name="set-up-tags"></a>

API Gateway에서 API 단계에 태그를 추가하거나 단계에서 태그를 제거하거나 태그를 볼 수 있습니다. 이렇게 하려면 API Gateway 콘솔, AWS CLI/SDK 또는 API Gateway REST API를 사용할 수 있습니다.

단계는 해당 상위 REST API에서 태그를 상속할 수도 있습니다. 자세한 내용은 [Amazon API Gateway V1 API의 태그 상속](apigateway-tagging-supported-resources.md#apigateway-tagging-inheritance) 단원을 참조하세요.

API Gateway 리소스에 태그를 지정하는 방법에 대한 자세한 내용은 [API Gateway 리소스 태그 지정](apigateway-tagging.md) 단원을 참조하세요.

**Topics**
+ [API Gateway 콘솔을 사용하여 API 단계에 대한 태그 설정](#set-up-tags-using-console)
+ [AWS CLI을 사용하여 API 스테이지에 대한 태그 설정](#set-up-tags-using-cli)
+ [API Gateway REST API를 사용하여 API 단계의 태그 설정](#set-up-tags-using-api)

## API Gateway 콘솔을 사용하여 API 단계에 대한 태그 설정
<a name="set-up-tags-using-console"></a>

다음 절차에서는 API 단계의 태그를 설정하는 방법을 설명합니다.

**API Gateway 콘솔을 사용하여 API 단계의 태그를 설정하려면**

1. API Gateway 콘솔에 로그인합니다.

1. 기존 API를 선택하거나 리소스, 메서드, 해당 통합이 포함된 새 API를 만듭니다.

1. 단계를 선택하거나 API를 새 단계에 배포합니다.

1. 기본 탐색 창에서 **스테이지**를 선택합니다.

1. **태그** 탭을 선택합니다. 탭을 표시하려면 오른쪽 화살표 버튼을 선택해야 할 수도 있습니다.

1. **태그 관리**를 선택합니다.

1. **태그 편집기**에서 **태그 추가**를 선택합니다. **키** 필드에 태그 키(예: `Department`)를 입력하고, **값** 필드에 태그 값(예: `Sales`)을 입력합니다. 태그를 저장하려면 ​**저장**을 선택합니다.

1.  필요에 따라 단계 5를 반복하여 API 스테이지에 더 많은 태그를 추가합니다. 단계당 최대 태그 수는 50개입니다.

1.  스테이지에서 기존 태그를 제거하려면 **제거**를 선택합니다.

1. API가 이전에 API Gateway 콘솔에 배포된 경우 변경 사항을 적용하려면 다시 배포해야 합니다.

## AWS CLI을 사용하여 API 스테이지에 대한 태그 설정
<a name="set-up-tags-using-cli"></a>

[create-stage](https://docs.aws.amazon.com/cli/latest/reference/apigateway/create-stage.html) 명령 또는 [tag-resource](https://docs.aws.amazon.com/cli/latest/reference/apigateway/tag-resource.html) 명령을 사용하는 AWS CLI를 사용하여 API 단계에 태그를 설정할 수 있습니다. [untag-resource](https://docs.aws.amazon.com/cli/latest/reference/apigateway/untag-resource.html) 명령을 사용하여 API 단계에서 하나 이상의 태그를 삭제할 수 있습니다.

다음 [create-stage](https://docs.aws.amazon.com/cli/latest/reference/apigateway/create-stage.html) 명령은 `test` 스테이지를 생성할 때 태그를 추가합니다.

```
aws apigateway create-stage --rest-api-id {{abc1234}} --stage-name test --description 'Testing stage' --deployment-id {{efg456}} --tag Department=Sales
```

다음 [tag-resource](https://docs.aws.amazon.com/cli/latest/reference/apigateway/tag-resource.html) 명령은 `prod` 스테이지에 태그를 추가합니다.

```
aws apigateway tag-resource --resource-arn arn:aws:apigateway:{{us-east-2}}::/restapis/{{abc123}}/stages/prod --tags Department=Sales
```

다음 [untag-resource](https://docs.aws.amazon.com/cli/latest/reference/apigateway/untag-resource.html) 명령은 `test` 스테이지에서 `Department=Sales` 태그를 제거합니다.

```
aws apigateway untag-resource --resource-arn arn:aws:apigateway:{{us-east-2}}::/restapis/{{abc123}}/stages/test --tag-keys Department 
```

## API Gateway REST API를 사용하여 API 단계의 태그 설정
<a name="set-up-tags-using-api"></a>

다음 중 하나를 수행하면 API Gateway REST API를 사용하여 API 단계의 태그를 설정할 수 있습니다.
+ API 단계에 태그를 지정하려면 [https://docs.aws.amazon.com/apigateway/latest/api/API_TagResource.html](https://docs.aws.amazon.com/apigateway/latest/api/API_TagResource.html)를 호출합니다.
+  API 단계에서 하나 이상의 태그를 삭제하려면 [https://docs.aws.amazon.com/apigateway/latest/api/API_UntagResource.html](https://docs.aws.amazon.com/apigateway/latest/api/API_UntagResource.html)를 호출합니다.
+ 생성 중인 API 단계에 하나 이상의 태그를 추가하려면 [https://docs.aws.amazon.com/apigateway/latest/api/API_CreateStage.html](https://docs.aws.amazon.com/apigateway/latest/api/API_CreateStage.html)를 호출합니다.

[https://docs.aws.amazon.com/apigateway/latest/api/API_GetTags.html](https://docs.aws.amazon.com/apigateway/latest/api/API_GetTags.html)을 호출하여 API 단계에서 태그를 설명할 수도 있습니다.

### API 단계에 태그 지정
<a name="tag-a-stage-using-api"></a>

API(`m5zr3vnks7`)를 단계(`test`)에 배포한 후 [https://docs.aws.amazon.com/apigateway/latest/api/API_TagResource.html](https://docs.aws.amazon.com/apigateway/latest/api/API_TagResource.html)를 호출하여 단계에 태그를 지정합니다. 필요한 단계 Amazon 리소스 이름(ARN)(`arn:aws:apigateway:us-east-1::/restapis/m5zr3vnks7/stages/test`)은 URL로 인코딩되어야 합니다(`arn%3Aaws%3Aapigateway%3Aus-east-1%3A%3A%2Frestapis%2Fm5zr3vnks7%2Fstages%2Ftest`).

```
PUT /tags/arn%3Aaws%3Aapigateway%3Aus-east-1%3A%3A%2Frestapis%2Fm5zr3vnks7%2Fstages%2Ftest

{
  "tags" : {
    "Department" : "Sales"
  }
}
```

 이전 요청을 사용하여 기존 태그를 새 값으로 업데이트할 수도 있습니다.

[https://docs.aws.amazon.com/apigateway/latest/api/API_CreateStage.html](https://docs.aws.amazon.com/apigateway/latest/api/API_CreateStage.html)를 호출하여 단계를 생성할 때 단계에 태그를 추가할 수 있습니다.

```
POST /restapis/<restapi_id>/stages

{
  "stageName" : "test",
  "deploymentId" : "adr134",
  "description" : "test deployment",
  "cacheClusterEnabled" : "true",
  "cacheClusterSize" : "500",
  "variables" : {
    "sv1" : "val1"
  },
  "documentationVersion" : "test",

  "tags" : {
    "Department" : "Sales",
    "Division" : "Retail"
  }
}
```

### API 단계에서 태그 해제
<a name="untag-a-stage-using-api"></a>

 단계에서 `Department` 태그를 제거하려면 [https://docs.aws.amazon.com/apigateway/latest/api/API_UntagResource.html](https://docs.aws.amazon.com/apigateway/latest/api/API_UntagResource.html)를 호출합니다.

```
DELETE /tags/arn%3Aaws%3Aapigateway%3Aus-east-1%3A%3A%2Frestapis%2Fm5zr3vnks7%2Fstages%2Ftest?tagKeys=Department
Host: apigateway.us-east-1.amazonaws.com
Authorization: ...
```

 둘 이상의 태그를 제거하려면 쿼리 표현식에서 쉼표로 구분된 태그 키 목록을 사용합니다. 예를 들면 다음과 같습니다. `?tagKeys=Department,Division,…` 

### API 단계의 태그 설명
<a name="get-tags-using-api"></a>

지정된 단계에서 기존 태그를 설명하려면 [https://docs.aws.amazon.com/apigateway/latest/api/API_GetTags.html](https://docs.aws.amazon.com/apigateway/latest/api/API_GetTags.html)을 호출합니다.

```
GET /tags/arn%3Aaws%3Aapigateway%3Aus-east-1%3A%3A%2Frestapis%2Fm5zr3vnks7%2Fstages%2Ftags
Host: apigateway.us-east-1.amazonaws.com
Authorization: ...
```

성공적인 응답은 다음과 같습니다.

```
200 OK

{
    "_links": {
        "curies": {
            "href": "http://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-tags-{rel}.html",
            "name": "tags",
            "templated": true
        },
        "tags:tag": {
            "href": "/tags/arn%3Aaws%3Aapigateway%3Aus-east-1%3A%3A%2Frestapis%2Fm5zr3vnks7%2Fstages%2Ftags"
        },
        "tags:untag": {
            "href": "/tags/arn%3Aaws%3Aapigateway%3Aus-east-1%3A%3A%2Frestapis%2Fm5zr3vnks7%2Fstages%2Ftags{?tagKeys}",
            "templated": true
        }
    },
    "tags": {
        "Department": "Sales"
    }
}
```