チームや組織のルールで 「全リソースに同じタグを付与する」 のようなことがあると思います。現在所属している開発チームもcdk
で構築したリソースに共通タグをつけるルールがあります。
とはいえ、個々のリソースにちまちまとタグをつけるのはめんどくさい大変なので、一括で付与する方法を探してみたところ、ありましたので、残しておきます。
環境
% sw_vers
ProductName: macOS
ProductVersion: 14.7.3
BuildVersion: 23H417
% aws --version
aws-cli/2.9.10 Python/3.9.11 Darwin/23.6.0 exe/x86_64 prompt/off
% cdk --version
2.178.2 (build 89c49cc)
% npm --version
11.1.0
% node --version
v20.17.0
一括で共通タグを付与
bin/infrastructure.ts
#!/usr/bin/env node
import * as cdk from 'aws-cdk-lib';
import { TestStack } from '../lib/test-stack';
const tagKey: string = 'foo';
const tagValue: string = 'bar';
const app = new cdk.App();
const testStackId: string = 'sample-test-stack';
const testStack = new TestStack(app, testStackId);
// 一括で共通タグを付与
cdk.Tags.of(app).add(tagKey, tagValue);
// Stack毎に共通タグを付与する場合
cdk.Tags.of(testStack).add(tagKey, tagValue);
Next
API Gateway+Lambdaを構築する予定です。