Amazon EC2 リソースのタグ付け
インスタンスやイメージなどの Amazon EC2 リソースを管理しやすくするために、独自のメタデータをタグとして各リソースに割り当てることができます。タグを使用すると、AWS リソースを用途、所有者、環境などのさまざまな方法で分類できます。これは同じタイプのリソースが多数ある場合に役立ちます。割り当てたタグに基づいて、特定のリソースをすばやく識別できます。ここではタグとその作成方法について説明します。
警告
タグのキーと値は多くの異なる API コールから返されます。DescribeTags
へのアクセスを拒否しても、他の API から返されるタグへのアクセスは自動的に拒否されません。ベストプラクティスとして、機密データをタグに含めないようお勧めします。
コンテンツ
タグの基本
タグとはAWS リソースに割り当てるラベルです。タグはそれぞれ、1 つのキーとオプションの 1 つの値で構成されており、どちらもお客様側が定義します。
タグを使用すると、AWS リソースを用途、所有者、環境などのさまざまな方法で分類できます。例えば、アカウントの各インスタンスの所有者とスタックレベルを追跡しやすくするため、Amazon EC2 インスタンスに対して一連のタグを定義できます。
次の図はタグの機能を示しています。図の中ではインスタンスのそれぞれに 2 つのタグを割り当てています。1 つは Owner
のキーを使用、もう 1 つは Stack
キーを使用します。各タグには値も関連付けられています。

ニーズを満たす一連のタグキーをリソースタイプごとに考案されることをお勧めします。一貫性のある一連のタグキーを使用することで、リソースの管理が容易になります。追加したタグに基づいてリソースを検索およびフィルタリングできます。効果的なリソースのタグ付け戦略を実装する方法の詳細についてはAWS ホワイトペーパーの「タグ付けのベストプラクティス」を参照してください。
タグにはAmazon EC2 に関連する意味はなく、完全に文字列として解釈されます。また、タグは自動的にリソースに割り当てられます。タグのキーと値は編集でき、タグはリソースからいつでも削除できます。タグの値を空の文字列に設定することはできますが、タグの値を null に設定することはできません。特定のリソースについて既存のタグと同じキーを持つタグを追加した場合、以前の値は新しい値によって上書きされます。リソースを削除すると、リソースのタグも削除されます。
注記
リソースを削除した後も、そのタグがコンソール、API、および CLI の出力にしばらく表示されたままになる場合があります。これらのタグは徐々にリソースから切り離され、完全に削除されます。
リソースのタグ付け
Amazon EC2 コンソールを使用しているときは関連するリソース画面で [タグ] タブを使用してリソースにタグを適用するか、または AWS Resource Groups コンソールで [タグエディタ] を使用できます。一部のリソースの画面ではリソースの作成時にリソースのタグを指定できます。例えば、Name
のキーと指定した値をタグ付けします。ほとんどの場合、リソースの作成後すぐに (リソースの作成時ではなく) コンソールによりタグが適用されます。コンソールは Name
タグに従ってリソースを整理する場合がありますが、このタグには Amazon EC2 サービスに対する意味論的意味はありません。
Amazon EC2 API、AWS CLI、または AWS SDK を使用している場合、CreateTags
EC2 API アクションを使用してタグを既存のリソースに適用できます。さらに、リソース作成アクションによってはリソースの作成時にリソースのタグを指定できます。リソースの作成時にタグを適用できない場合はリソース作成プロセスがロールバックされます。これにより、リソースがタグ付きで作成されるか、まったく作成されないようになるため、タグ付けされていないリソースが存在することがなくなります。作成時にリソースにタグ付けすることで、リソース作成後にカスタムタグ付けスクリプティングを実行する必要がなくなります。作成時にユーザーがリソースにタグ付けできるようにする方法については「Amazon EC2 リソース作成時にタグ付けするアクセス許可の付与」を参照してください。
IAM ポリシーでタグベースのリソースレベルアクセス許可を、作成時のタグ付けをサポートする Amazon EC2 API アクションに適用し、作成時にリソースにタグ付けできるユーザーとグループを細かく制御できます。リソースは作成時から適切に保護されます。タグはリソースに即座に適用されるため、リソースの使用を制御するタグベースのリソースレベルアクセス権限がただちに有効になります。リソースはより正確に追跡および報告されます。新しいリソースにタグ付けの使用を適用し、リソースで設定されるタグキーと値を制御できます。
さらに、リソースレベルのアクセス許可を IAM ポリシーの CreateTags
および DeleteTags
Amazon EC2 API アクションに適用し、既存のリソースで設定されるタグキーと値を制御することもできます。詳細については「例: リソースのタグ付け」を参照してください。
請求用リソースへのタグ付けの詳細についてはAWS Billing ユーザーガイドの「コスト配分タグの使用」を参照してください。
タグの制限
タグには以下のような基本制限があります。
-
リソースあたりのタグの最大数 - 50 件
-
タグキーはリソースごとにそれぞれ一意である必要があります。また、各タグキーに設定できる値は 1 つのみです。
-
キーの最大長 - UTF-8 の 128 Unicode 文字
-
値の最大長 - UTF-8 の 256 Unicode 文字
-
使用できる文字
-
EC2 ではタグ内に任意の文字を使用できますが、他の AWS のサービスでは制限があります。すべての AWS のサービスで使用できる文字はUTF-8 で表現できる英字 (
a-z
、A-Z
)、数字 (0-9
)、スペース、および+ - = . _ : / @
です。 -
インスタンスメタデータでインスタンスタグを有効にすると、インスタンスタグキーは文字 (
a-z
、A-Z
)、数字 (0-9
)、および次の文字のみを使用できます:+ - = . , _ : @
。インスタンスタグキーはスペースまたは/
を含めることはできず、.
(1 つのピリオド)、..
(2 つのピリオド)、または_index
のみを含めることはできません。詳細についてはインスタンスメタデータを使用して EC2 インスタンスのタグを表示するを参照してください。
-
-
タグのキーと値は大文字と小文字が区別されます。
-
aws:
プレフィックスは AWS 用に限定されています。タグにこのプレフィックスが付いたタグキーがある場合、タグのキーまたは値を編集、削除することはできません。aws:
プレフィックスを持つタグはリソースあたりのタグ数の制限時には計算されません。
タグのみに基づいてリソースを終了、停止、終了することはできません。リソース識別子を指定する必要があります。例えば、DeleteMe
というタグキーを使用してタグ付けしたスナップショットを削除するにはDeleteSnapshots
のようなスナップショットのリソース識別子を指定して snap-1234567890abcdef0
アクションを使用する必要があります。
パブリックリソースまたは共有リソースにタグを付けると、割り当てたタグはタグ付けを行った AWS アカウントだけが使用できます。他の AWS アカウントはそれらのタグにアクセスできません。共有リソースへのタグベースのアクセス制御ではリソースへのアクセスを制御するために、各 AWS アカウントに独自のタグセットを割り当てる必要があります。
タグとアクセス管理
AWS Identity and Access Management (IAM) を使用している場合はタグを作成、編集、削除する許可を持つ AWS アカウントのユーザーを制御できます。詳細については「Amazon EC2 リソース作成時にタグ付けするアクセス許可の付与」を参照してください。
リソースタグを使用して、属性ベースの制御 (ABAC) を実装することもできます。リソースのタグに基づいてオペレーションを許可する IAM ポリシーを作成できます。詳細については「属性ベースのアクセスを使用するアクセスの制御」を参照してください。
請求用のリソースのタグ付け
タグを使用して AWS 請求書を整理し、自分のコスト構造を反映できます。そのためにはサインアップして、タグキー値が含まれた AWS アカウントの請求書を取得する必要があります。タグによるコスト配分レポートの設定の詳細については『AWS Billing ユーザーガイド』の「コスト配分月次レポート」を参照してください。リソースを組み合わせたコストを確認するには同じタグキー値を持つリソースに基づいて、請求情報を整理します。例えば、複数のリソースに特定のアプリケーション名のタグを付け、請求情報を整理することで、複数のサービスを利用しているアプリケーションの合計コストを確認することができます。詳細についてはAWS Billing ユーザーガイド の「コスト配分タグの使用」を参照してください。
注記
レポートを有効にすると、約 24 時間後に、今月のデータを表示できるようになります。
コスト割り当てタグはどのリソースがコストに貢献しているかを示すことができますが、リソースを削除または非アクティブ化にしてもコストは必ずしも削減されるわけではありません。例えば、元のデータを含むスナップショットが削除された場合でも、別のスナップショットによって参照されるスナップショットデータは維持されます。詳細についてはAWS Billing ユーザーガイドの「Amazon Elastic Block Store のボリュームとスナップショット」を参照してください。
注記
タグされている Elastic IP アドレスはコスト配分レポートには表示されません。