はじめに
AWSのタグについて、「じぶんの言葉で説明できる」をゴールとし、調べつつ整理しました。
タグとは
- AWSのリソースを整理するためのもの
- ほとんどのリソースで作成時にタグ追加できる
-
キー
と値
で構成される
一般的なユースケース
-
リソースの整理
タグでリソースを検索、フィルタリングできる
リソースのグループを作成できる
リソースグループ
とタグエディタ
を使うことで、複数のサービス・リソース・リージョンで構成されるアプリケーションのデータを1つにまとめて表示できる -
コスト配分
AWS Cost Explorer
と請求詳細レポート
を使い、コストをタグ別に分類できる -
オートメーション
自動タスクのオプトイン
オプトアウト
※(承認、拒否?)
アーカイブ、更新、削除の対象となるリソースのバージョンの特定に使用する
以下、AWSドキュメントより抜粋
オートメーションにした start または stop スクリプトを実行して業務時間外に開発環境をオフにすれば、コストが削減できます。このシナリオで Amazon Elastic Compute Cloud (Amazon EC2) インスタンスタグを使うと、このアクションからオプトアウトするインスタンスを簡単に指定できます。古くなった、out-of-date Amazon EBS スナップショットを検索して削除するスクリプトの場合、スナップショットタグで検索条件にディメンションを追加することができます。
- アクセス制御
IAMポリシーで、タグベースの条件をサポート
特定のタグや、タグの値に基づいたアクセス許可の制限ができる
(例)タグキー:Name
タグ値:test
のEC2インスタンスだけがスタート・ストップ権限
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"ec2:StartInstances",
"ec2:StopInstances"
],
"Resource": "arn:aws:ec2:*:*:instance/*",
"Condition": {
"StringEquals": {"ec2:ResourceTag/Name": "test"}
}
},
{
"Effect": "Allow",
"Action": "ec2:DescribeInstances",
"Resource": "*"
}
]
}
タグの命名制限と要件(要約)
- 各リソース最大50個のタグを持つことができる
-
aws:
で始まるタグはAWSに使用するために予約されている - タグキーは、どれぞれリソース毎に一意であること
-
UTF-8
では
タグキー:1文字以上、最大128文字のunicode文字
タグ値 :0文字以上、最大256文字のunicode文字 - 使用できる文字はAWSのサービス毎に異なる(それぞれリソースドキュメントを参照)
- キーと値は、大文字と小文字で区別される
コスト配分タグ
-
AWS生成のタグ
とユーザ定義のタグ
の2種類が存在する - CostExplorerやコスト配分レポートで使用するためには両方を有効化しておく
タグを有効化することで、有効化されたタグ毎に使用料・コストをグループ化した「コスト配分レポート」が作成される。これには利用中のすべてのサービスコストが出力され、リソース別の請求額を確認できる。