AWSServerless FW

Serverless Frameworkで作ったAPI Gatewayにタグをつける

Qiitaを漁っていたところ、「API Gatewayにはタグがつかない」という記事を見かけました。 「へー」と思ってCloudFormationのドキュメントを見に行ったところ、確かにTagを設定する項目がない様子でし […]

広告ここから
広告ここまで

Qiitaを漁っていたところ、「API Gatewayにはタグがつかない」という記事を見かけました。

「へー」と思ってCloudFormationのドキュメントを見に行ったところ、確かにTagを設定する項目がない様子でした。

{
  "Type" : "AWS::ApiGateway::RestApi",
  "Properties" : {
      "ApiKeySourceType" : String,
      "BinaryMediaTypes" : [ String, ... ],
      "Body" : Json,
      "BodyS3Location" : S3Location,
      "CloneFrom" : String,
      "Description" : String,
      "EndpointConfiguration" : EndpointConfiguration,
      "FailOnWarnings" : Boolean,
      "MinimumCompressionSize" : Integer,
      "Name" : String,
      "Parameters" : {Key : Value, ...},
      "Policy" : Json
    }
}

serverless-tag-api-gatewayプラグインを使う

元記事に対策も書いてありまして、「serverless-tag-api-gateway」というプラグインを入れれば良い様子です。

あまり重厚なプラグインだと保守しんどいかなと思ってコードを一応みたのですが、「CloudFormationのデプロイ完了後AWS SDKでタグをつけて回る」というシンプルなものでしたので、最悪メンテが止まってもなんとかなるかなという印象です。

$ yarn add -D serverless-tag-api-gateway
$ vim serverless.yml

service: example

custom:
  apiGatewayTags:
    Service: Example Services
    Stage: development

provider:
  name aws
  runtime: nodejs12.x
  tags: ${self:custom.apiGatewayTags}

plugins:
  - serverless-tag-api-gateway

functions:
  index:
    handler: index.handler
    events:
    - http:
        cors: true
        path: '/'
        method: any

API GatewayとLambdaどちらにも同じタグをつける前提であれば、上のサンプルのようにtagsの方にもcustomの値を割り当ててやることで二重管理も防げます。

ブックマークや限定記事(予定)など

WP Kyotoサポーター募集中

WordPressやフロントエンドアプリのホスティング、Algolia・AWSなどのサービス利用料を支援する「WP Kyotoサポーター」を募集しています。
月額または年額の有料プランを契約すると、ブックマーク機能などのサポーター限定機能がご利用いただけます。

14日間のトライアルも用意しておりますので、「このサイトよく見るな」という方はぜひご検討ください。

広告ここから
広告ここまで

Related Category posts