Amazon API Gateway
開発者ガイド

API Gateway で API ステージのタグを設定する

タグとは、AWS リソースに割り当てるメタデータです。これらは一般的にカスタム定義のカテゴリによりリソースの使用状況を追跡するために使用され、単一の AWS アカウント内で特定の組織単位を分離するためのシンプルなメカニズムを提供します。タグは、キーと値のペアから構成されます。タグを使用する方法の詳細については、「AWS タグ付け戦略」を参照してください。

API Gateway では、API ステージにタグを割り当てて、ステージに関連付けられた呼び出しやキャッシュをリクエストするためのコスト配分を管理できます。たとえば、API ステージに Department:Sales というタグを追加すると、コスト配分タグとして AWS Billing and Cost Management に表示されます。タグがアクティブ化された後、AWS 請求およびコスト管理コンソールの Cost Explorer を使用してコストと使用状況をフィルタできます。

API ステージにタグを追加する、ステージからタグを削除する、またはタグを表示することができます。これを行うには、API Gateway コンソール、AWS CLI/SDK、または API Gateway REST API を使用します。

API Gateway コンソールを使用して API ステージのタグを設定する

次の手順では、API ステージのタグを設定する方法を説明します。

API Gateway コンソールを使用して API ステージのタグを設定するには

  1. API Gateway コンソールにサインインします。

  2. 既存の API を選択するか、リソース、メソッド、および対応する統合を含む新しい API を作成します。

  3. ステージを選択するか、新しいステージに API をデプロイします。

  4. [ステージエディター] で、[設定] タブを選択します。

  5. [タグ] セクションで、[ステージタグの追加] を選択します。[キー] 列にタグキー (Department など) を入力し、タグ値 (Sales など) を [] 列に入力します。チェックマークアイコンを選択してタグを保存します。

  6. 必要に応じて、ステップ 5 を繰り返し、API ステージにさらにタグを追加します。ステージあたりのタグの最大数は 50 です。

  7. 既存のステージからタグを削除するには、選択されたタグの横にあるごみ箱アイコンを選択します。

  8. [変更の保存] を選択し、ステージのタグのセットアップを終了します。

    API が API Gateway コンソールで以前にデプロイ済みの場合、変更を有効にするには再デプロイする必要があります。

API Gateway REST API を使用して API ステージのタグを設定する

API Gateway REST API を使用して API ステージのタグを設定するには、次のいずれかの操作を行います。

  • API ステージにタグ付けするため tags:tag を呼び出します。

  • API ステージから 1 つまたは複数のタグを削除するには tags:untag を呼び出します。

  • API ステージに 1 つまたは複数のタグを追加するには stage:create を呼び出します。

また、API ステージでタグを説明するには tags:get を呼び出します。

API ステージのタグ付け

ステージ (test) に API (m5zr3vnks7) をデプロイした後は、tags:tag を呼び出すことで、ステージをタグ付けします。必須のステージである 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" } }

前回のリクエストを使用して既存のタグを新しい値で更新することもできます。

stage:create を呼び出してステージを作成するときに、ステージにタグ付けできます。

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 ステージのタグを削除する

ステージから Department タグを削除するには、tags:untag を呼び出します。

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 ステージのタグを説明する

特定のステージで既存のタグの説明をするには、tags:get を呼び出します。

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" } }

タグの制限

API Gateway リソースのタグには以下のような制限があります。

  • タグは Stage リソースのみに適用されます。

  • ステージあたりのタグの最大数は 50 です。

  • タグキーの最大長は UTF-8 で 128 Unicode 文字です。

  • タグ値の最大長は UTF-8 で 256 Unicode 文字です。

  • タグのキーと値は大文字と小文字が区別されます。

  • タグのキーと値の有効な文字セットは [a-zA-Z+-=._:/] です。

  • タグのキーと値の先頭を aws: にすることはできません。