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 リソースにタグ付けできます。以下の表に、タグ付けをサポートするリソースを示します。
Amazon EC2 コンソールを使用している場合は、関連するリソース画面で [タグ] タブを使用してリソースにタグを適用するか、または AWS Resource Groups コンソールで [タグエディタ] を使用できます。一部のリソースの画面では、リソースの作成時にリソースのタグを指定できます。例えば、Name
のキーと指定した値をタグ付けします。ほとんどの場合、リソースの作成後すぐに (リソースの作成時ではなく) コンソールによりタグが適用されます。コンソールは Name
タグに従ってリソースを整理する場合がありますが、このタグには Amazon EC2 サービスに対する意味論的意味はありません。
Amazon EC2 API、AWS CLI、または AWS SDK を使用している場合、CreateTags
EC2 API アクションを使用してタグを既存のリソースに適用できます。さらに、リソース作成アクションによっては、リソースの作成時にリソースのタグを指定できます。リソースの作成時にタグを適用できない場合は、リソース作成プロセスがロールバックされます。これにより、リソースがタグ付きで作成されるか、まったく作成されないようになるため、タグ付けされていないリソースが存在することがなくなります。作成時にリソースにタグ付けすることで、リソース作成後にカスタムタグ付けスクリプティングを実行する必要がなくなります。作成時にユーザーがリソースにタグ付けできるようにする方法については、「リソース作成時にタグ付けするアクセス許可の付与」を参照してください。
次の表では、タグ付け可能な Amazon EC2 リソースと、Amazon EC2 API、AWS CLI、または AWS SDK を使用した作成時にタグ付け可能なリソースについて説明します。
Amazon EC2 リソースのタグ付けのサポート | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
リソース | タグをサポート | 作成時のタグ付けをサポート | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
AFI |
はい |
はい |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
AMI |
はい |
はい |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
バンドルタスク |
いいえ |
いいえ | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Capacity Reservation |
はい |
はい |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
キャリアゲートウェイ | はい | はい | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
クライアント VPN エンドポイント |
はい |
はい |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
クライアント VPN ルート |
いいえ |
いいえ |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
カスタマーゲートウェイ |
はい |
はい | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Dedicated Host |
はい |
はい |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Dedicated Host 予約 |
はい |
はい | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
DHCP オプション |
はい |
はい | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
EBS スナップショット |
はい |
はい | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
EBS ボリューム |
はい |
はい | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
EC2 Fleet |
はい |
はい |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Egress-only インターネットゲートウェイ |
はい |
はい | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Elastic IP アドレス |
はい |
はい | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Elastic Graphics アクセラレーター |
はい |
いいえ | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
インスタンス | はい | はい | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
インスタンスイベントウィンドウ | はい | はい | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
インスタンスストアボリューム |
該当なし |
該当なし | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
インターネットゲートウェイ |
はい |
はい | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
IP アドレスプール (BYOIP) |
はい |
はい |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
キーペア |
はい |
はい | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
起動テンプレート |
はい |
はい |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
起動テンプレートのバージョン |
いいえ |
いいえ |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ローカルゲートウェイ |
はい |
いいえ |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ローカルゲートウェイルートテーブル |
はい |
いいえ |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ローカルゲートウェイ仮想インターフェイス |
はい |
いいえ |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ローカルゲートウェイ仮想インターフェイスグループ |
はい |
いいえ |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ローカルゲートウェイルートテーブル VPC の関連付け |
はい |
はい |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ローカルゲートウェイルートテーブル仮想インターフェイスグループの関連付け |
はい |
いいえ |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
NAT ゲートウェイ |
はい |
はい | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ネットワーク ACL |
はい |
はい | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ネットワークインターフェイス |
はい |
はい | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
配置グループ |
はい |
はい | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
プレフィックスリスト |
はい |
はい |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Reserved Instance |
はい |
いいえ | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
リザーブドインスタンス出品 |
いいえ |
いいえ | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ルートテーブル |
はい |
はい | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
スポットフリートのリクエスト |
はい |
はい | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
スポットインスタンスリクエスト |
はい |
はい | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
セキュリティグループ | はい | はい | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
セキュリティグループルール | はい | いいえ | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
サブネット | はい | はい | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Traffic Mirror フィルタ | はい | はい | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Traffic Mirror セッション | はい | はい | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Traffic Mirror ターゲット | はい | はい | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
トランジットゲートウェイ |
はい |
はい |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Transit Gateway のマルチキャストドメイン |
はい |
はい |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
トランジットゲートウェイルートテーブル |
はい |
はい |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
トランジットゲートウェイ VPC アタッチメント |
はい |
はい |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
仮想プライベートゲートウェイ |
はい |
はい |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
VPC |
はい |
はい |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
VPC エンドポイント |
はい |
はい |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
VPC エンドポイントサービス |
はい |
はい |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
VPC エンドポイントサービス設定 |
はい |
はい |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
VPC フローログ |
はい |
はい |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
VPC ピア接続 |
はい |
はい |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
VPN 接続 |
はい |
はい |
作成時に、Amazon EC2 コンソールの Amazon EC2 インスタンス起動ウィザードを使用して、インスタンス、ボリューム、Elastic Graphics、ネットワークインターフェイス、スポットインスタンスリクエストにタグを付けることができます。[ボリューム] 画面を使用して作成時に EBS ボリュームにタグを付けたり、[スナップショット] 画面を使用して EBS スナップショットにタグを付けたりすることができます。または、リソースを作成するときに、リソース作成 Amazon EC2 API (RunInstances など) を使用してタグを適用することもできます。
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
のみを含めることはできません。詳細については、インスタンスメタデータ内のインスタンスタグの使用を参照してください。
-
-
タグのキーと値は大文字と小文字が区別されます。
-
aws:
プレフィックスは AWS 用に限定されています。タグにこのプレフィックスが付いたタグキーがある場合、タグのキーまたは値を編集、削除することはできません。aws:
プレフィックスを持つタグは、リソースあたりのタグ数の制限時には計算されません。
タグのみに基づいてリソースを終了、停止、終了することはできません。リソース識別子を指定する必要があります。例えば、DeleteMe
というタグキーを使用してタグ付けしたスナップショットを削除するには、DeleteSnapshots
のようなスナップショットのリソース識別子を指定して snap-1234567890abcdef0
アクションを使用する必要があります。
パブリックリソースまたは共有リソースにタグを付けると、割り当てたタグは、タグ付けを行った AWS アカウントだけが使用できます。他の AWS アカウントはそれらのタグにアクセスできません。共有リソースへのタグベースのアクセス制御では、リソースへのアクセスを制御するために、各 AWS アカウントに独自のタグセットを割り当てる必要があります。
すべてのリソースにタグ付けすることはできません。詳細については、「Amazon EC2 リソースのタグ付けのサポート」を参照してください。
タグとアクセス管理
AWS Identity and Access Management (IAM) を使用している場合は、タグを作成、編集、削除する許可を持つ AWS アカウントのユーザーを制御できます。詳細については、「リソース作成時にタグ付けするアクセス許可の付与」を参照してください。
リソースタグを使用して、属性ベースの制御 (ABAC) を実装することもできます。リソースのタグに基づいてオペレーションを許可する IAM ポリシーを作成できます。詳細については、「リソースタグを使用した EC2 リソースへのアクセスの制御」を参照してください。
請求用のリソースのタグ付け
タグを使用して AWS 請求書を整理し、自分のコスト構造を反映できます。そのためには、サインアップして、タグキー値が含まれた AWS アカウントの請求書を取得する必要があります。タグによるコスト配分レポートの設定の詳細については、『AWS Billing ユーザーガイド』の「コスト配分月次レポート」を参照してください。リソースを組み合わせたコストを確認するには、同じタグキー値を持つリソースに基づいて、請求情報を整理します。例えば、複数のリソースに特定のアプリケーション名のタグを付け、請求情報を整理することで、複数のサービスを利用しているアプリケーションの合計コストを確認することができます。詳細については、AWS Billing ユーザーガイド の「コスト配分タグの使用」を参照してください。
注記
レポートを有効にすると、約 24 時間後に、今月のデータを表示できるようになります。
コスト割り当てタグは、どのリソースがコストに貢献しているかを示すことができますが、リソースを削除または非アクティブ化にしてもコストは必ずしも削減されるわけではありません。例えば、元のデータを含むスナップショットが削除された場合でも、別のスナップショットによって参照されるスナップショットデータは維持されます。詳細については、AWS Billing ユーザーガイドの「Amazon Elastic Block Store のボリュームとスナップショット」を参照してください。
注記
タグされている Elastic IP アドレスは、コスト配分レポートには表示されません。
コンソールでのタグの使用
Amazon EC2 コンソールを使用して、個々のリソースのタグを表示し、一度に 1 つのリソースに対してタグを適用または削除できます。
AWS Resource Groups コンソールでタグエディタを使用すると、すべてのリージョンにおけるすべての Amazon EC2 リソースのタグを表示できます。リソース別およびリソースタイプ別にタグを表示でき、指定したタグにどのリソースタイプが関連付けられているかを確認できます。複数のリソースおよび複数のリソースタイプに対して一度にタグを適用または削除できます。タグエディタでは、統一された方法で一元的にタグを作成および管理できます。詳細については、「AWS リソースのタグ付けのユーザーガイド」を参照してください。
タグの表示
Amazon EC2 コンソールで個々のリソースのタグを表示できます。すべてのリソースのタグを表示するには、AWS Resource Groups コンソールのタグエディタを使用します。
個々のリソースのタグを表示する
Amazon EC2 コンソールでリソース固有のページを選択すると、リソースリストが表示されます。例えば、ナビゲーションペインの [Instances (インスタンス)] を選択すると、コンソールに Amazon EC2 インスタンスが表示されます。このようなリスト (インスタンスなど) からリソースを選択し、リソースがタグをサポートしている場合、タグを表示し、管理することができます。ほとんどのリソースページでは、[Tags] (タグ) タブを選択してタグを表示できます。
リソースリストに列を追加して、同じキーを持つタグのすべての値を表示できます。この列を使用して、タグによるリソースリストの並べ替えやフィルタリングを行うことができます。
複数のリソースのタグを表示する
AWS Resource Groups コンソール
個々のリソースのタグの追加および削除
リソースのページから、個々のリソースのタグを直接管理できます。
個々のリソースにタグを追加するには
Amazon EC2 コンソール (https://console.aws.amazon.com/ec2/
) を開きます。 -
ナビゲーションバーから、タグ付けするリソースがあるリージョンを選択します。詳細については、「リソースの場所」を参照してください。
-
ナビゲーションペインで、リソースタイプを選択します ([Instances] など)。
-
リソースリストからリソースを選択し、[Tags (タグ)] タブを選択します。
-
[タグを管理] を選択し、[新しいタグを追加] を選択します。タグのキーと値を入力します。追加するタグごとに [新しいタグを追加] を選択します。タグの追加を完了したら、[Save (保存)] を選択します。
個々のリソースからタグを削除するには
Amazon EC2 コンソール (https://console.aws.amazon.com/ec2/
) を開きます。 -
ナビゲーションバーから、タグ付けを解除するリソースがあるリージョンを選択します。詳細については、「リソースの場所」を参照してください。
-
ナビゲーションペインで、リソースタイプを選択します ([Instances] など)。
-
リソースリストからリソースを選択し、[Tags (タグ)] タブを選択します。
-
[Manage tags (タグの管理)] を選択します。削除する各タグについて、[削除] を選択します。タグの削除を完了したら、[Save (保存)] を選択します。
複数のリソースのタグを追加および削除する
複数のリソースにタグを追加するには
-
AWS リソースグループコンソール (https://console.aws.amazon.com/resource-groups/tag-editor
) でタグエディタを開きます。 -
[リージョン] で、タグ付けするリソースが存在する 1 つ以上のリージョンを選択します。
-
[リソースタイプ] で、タグ付けするリソースのタイプを選択します (AWS::EC2::Instance など)。
-
[リソースを検索] を選択します。
-
[リソースの検索結果] で、タグ付けする各リソースの横にあるチェックボックスをオンにします。
-
[選択したリソースのタグの管理] を選択します。
-
[選択したすべてのリソースのタグを編集] で、[タグを追加] を選択し、新しいタグのキーと値を入力します。追加するタグごとに [Add tag] (タグを追加) を選択します。
注記
既存のタグとタグキーが同じ新しいタグを追加すると、既存のタグは新しいタグで上書きされます。
-
[タグの変更を確認して適用] を選択します。
-
[Apply changes to all selected (選択したすべてに変更を適用)] を選択します。
複数のリソースからタグを削除するには
-
AWS リソースグループコンソール (https://console.aws.amazon.com/resource-groups/tag-editor
) でタグエディタを開きます。 -
[リージョン] で、タグを解除するリソースが存在するリージョンを選択します。
-
[リソースタイプ] で、タグを解除するリソースのタイプを選択します (AWS::EC2::Instance など)。
-
[リソースを検索] を選択します。
-
[リソースの検索結果] で、タグを解除する各リソースの横にあるチェックボックスをオンにします。
-
[選択したリソースのタグの管理] を選択します。
-
[選択したすべてのリソースのタグを編集] で、削除するタグの横にある [タグを削除] を選択します。
-
[タグの変更を確認して適用] を選択します。
-
[Apply changes to all selected (選択したすべてに変更を適用)] を選択します。
インスタンスを起動するときのタグの追加
タグによるリソースリストのフィルタリング
1 つまたは複数のタグキーとタグ値に基づいて、リソースリストをフィルタリングできます。
Amazon EC2 コンソールでリソースのリストをタグでフィルタリングするには
-
Amazon EC2 コンソール (https://console.aws.amazon.com/ec2/
) を開きます。 -
ナビゲーションペインで、リソースタイプを選択します ([Instances] など)。
-
検索フィールドを選択します。
-
リストの [タグ] で、タグキーを選択します。
-
リストから対応するタグ値を選択します。
-
完了したら、フィルターを削除します。
Amazon EC2 コンソールでのフィルターの使用の詳細については、「リソースの一覧表示およびフィルタリング」を参照してください。
タグエディタを使用して、複数のリージョンにわたって複数のリソースをタグでフィルタリングするには
AWS リソースグループコンソールのタグエディタを使用して、複のリージョンにわたって複数のリソースをタグでフィルタリングできます。詳細については、「AWS リソースのタグ付けユーザーガイド」の「タグ付けするリソースの検索」を参照してください。
コマンドラインによるタグの使用
作成時に、create コマンドのタグ仕様パラメータを使用して、多くの EC2 リソースにタグを追加できます。リソースの describe コマンドを使用して、リソースのタグを表示できます。次のコマンドを使用して、既存のリソースのタグを追加、更新、または削除することもできます。
タスク | AWS CLI | AWS Tools for Windows PowerShell |
---|---|---|
1 つ以上のタグを追加、または上書きします |
||
1 つ以上のタグを削除します |
||
1 つ以上のタグを記述します |
リソース作成時のタグの追加
次の例は、リソースの作成時にタグを適用する方法を示しています。
注記
コマンドラインで JSON 形式のパラメータを入力する方法はオペレーティングシステムによって異なります。
-
Linux、macOS、または Unix と Windows PowerShell - 一重引用符 (') を使用して JSON データ構造を囲みます。
-
Windows - Windows コマンドラインでコマンドを使用するときは一重引用符を省略します。
詳細については、「AWS CLI のパラメータ値の指定」を参照してください。
例: インスタンスを起動し、インスタンスおよびボリュームにタグを適用する
次の run-instances コマンドは、インスタンスを起動し、キー webserver
と値 production
を含むタグをインスタンスに適用します。さらに、cost-center
キーと cc123
の値を持つタグを、作成された EBS ボリューム (この場合はルートボリューム) に適用します。
aws ec2 run-instances \ --image-id ami-abc12345 \ --count 1 \ --instance-type t2.micro \ --key-name MyKeyPair \ --subnet-id subnet-6e7f829e \ --tag-specifications 'ResourceType=
instance
,Tags=[{Key=webserver
,Value=production
}]' 'ResourceType=volume
,Tags=[{Key=cost-center
,Value=cc123
}]'
起動時にインスタンスとボリュームの両方に同じタグキーと値を適用できます。次のコマンドは、インスタンスを起動し、cost-center
のキーと cc123
の値を持つタグを、作成されたインスタンスとすべての EBS ボリュームに適用します。
aws ec2 run-instances \ --image-id ami-abc12345 \ --count 1 \ --instance-type t2.micro \ --key-name MyKeyPair \ --subnet-id subnet-6e7f829e \ --tag-specifications 'ResourceType=
instance
,Tags=[{Key=cost-center,Value=cc123}]' 'ResourceType=volume,Tags=[{Key=cost-center,Value=cc123}]'
例: ボリュームを作成してタグを適用する
次の create-volume コマンドは、ボリュームを作成し、2 つのタグ purpose=production
および cost-center=cc123
を適用します。
aws ec2 create-volume \ --availability-zone us-east-1a \ --volume-type gp2 \ --size 80 \ --tag-specifications 'ResourceType=
volume
,Tags=[{Key=purpose
,Value=production
},{Key=cost-center
,Value=cc123
}]'
既存のリソースへのタグの追加
次の例は、create-tags コマンドを使用して既存のリソースにタグを追加する方法を示しています。
例: リソースにタグを追加する
次のコマンドでは、タグ (Stack=production
) を指定されたイメージに追加するか、タグキーが Stack
の AMI 用に既存のタグを上書きします。コマンドが成功した場合、出力は返りません。
aws ec2 create-tags \ --resources ami-78a54011 \ --tags Key=
Stack
,Value=production
例: タグを複数のリソースに追加する
この例では、2 つのタグを AMI とインスタンス用に追加 (または上書き) します。一方のタグにはキー (webserver
) のみ含まれており、値は設定されていません (値を空の文字列に設定)。もう 1 つのタグはキー (stack
) と値 (Production
) で構成されます。コマンドが成功した場合、出力は返りません。
aws ec2 create-tags \ --resources ami-1a2b3c4d i-1234567890abcdef0 \ --tags Key=
webserver
,Value= Key=stack
,Value=Production
例: 特殊文字のタグを追加する
この例では、タグ ([Group]=test
) をインスタンスに追加します。角括弧 ([
および ]
) は特殊文字であり、エスケープする必要があります。
Linux または OS X を使用している場合、特殊文字をエスケープするには、特殊文字を含む要素を二重引用符 ("
) で囲んでから、キーと値の構造全体を一重引用符 ('
) で囲みます。
aws ec2 create-tags \ --resources i-1234567890abcdef0 \ --tags 'Key="
[Group]
",Value=test
'
Windows を使用している場合、特殊文字をエスケープするには、特殊文字を含む要素を二重引用符 (") で囲み、各二重引用符の前にバックスラッシュ (\
) を付けます。
aws ec2 create-tags ^ --resources i-1234567890abcdef0 ^ --tags Key=\"
[Group]
\",Value=test
Windows PowerShell を使用している場合、特殊文字をエスケープするには、次のように特殊文字を含む値を二重引用符 ("
) で囲み、各二重引用符の前にバックスラッシュ (\
) を付けてから、キーと値の構造全体を一重引用符 ('
) で囲みます。
aws ec2 create-tags ` --resources i-1234567890abcdef0 ` --tags 'Key=\"
[Group]
\",Value=test
'
タグ付きリソースの説明
次の例は、describe-instances でフィルターを使用して、特定のタグを持つインスタンスを表示する方法を示しています。すべての EC2 describe コマンドは、この構文を使用して、1 つのリソースタイプ全体でタグに基づいてフィルタリングします。または、describe-tags コマンドを使用して、EC2 リソースタイプ間でタグに基づいてフィルタリングすることもできます。
例: 特定のタグキーでインスタンスの詳細を示します。
次のコマンドは、タグの値にかかわらず Stack
タグでインスタンスの詳細を示します。
aws ec2 describe-instances \ --filters Name=tag-key,Values=
Stack
例: 特定のタグでインスタンスの詳細を示します。
次のコマンドは、Stack=production
タグでインスタンスの詳細を示します。
aws ec2 describe-instances \ --filters Name=tag:
Stack
,Values=production
例: 特定のタグの値でインスタンスの詳細を示します。
次のコマンドは、タグキーにかかわらず値 production
を持つタグでインスタンスの詳細を示します。
aws ec2 describe-instances \ --filters Name=tag-value,Values=
production
例: 指定したタグを持つすべての EC2 リソースの詳細を示す
次のコマンドは、タグ Stack=Test
を持つすべての EC2 リソースの詳細を示します。
aws ec2 describe-tags \ --filters Name=key,Values=
Stack
Name=value,Values=Test
インスタンスメタデータ内のインスタンスタグの使用
インスタンスのメタデータからインスタンスのタグにアクセスできます。インスタンスメタデータからタグにアクセスすると、DescribeInstances
または DescribeTags
API コールを使用してタグ情報を取得する必要がなくなります。これにより、1 秒あたりの API トランザクションが削減され、制御するインスタンスの数に応じてタグ取得をスケーリングできるようになります。さらに、インスタンスで実行されているローカルプロセスは、インスタンスのメタデータからインスタンスのタグ情報を直接表示できます。
デフォルトでは、インスタンスメタデータからタグは使用できません。アクセスを明示的に許可する必要があります。インスタンスの起動時、または実行中または停止したインスタンスでの起動後にアクセスを許可できます。起動テンプレートでこれを指定することで、タグへのアクセスを許可することもできます。テンプレートを使用してインスタンスが起動されると、インスタンスメタデータ内のタグへのアクセスが許可されます。
インスタンスタグを追加または削除すると、インスタンスの実行中にインスタンスのメタデータが更新されます。インスタンスを停止して起動したりする必要はありません。
トピック
インスタンスメタデータのタグへのアクセスを許可する
デフォルトでは、インスタンスメタデータ内のインスタンスタグへのアクセス権はありません。インスタンスごとに、次のいずれかの方法を使用してアクセスを明示的に許可する必要があります。
コンソールを使用してインスタンスメタデータのタグへのアクセスを許可するには
-
Amazon EC2 コンソール (https://console.aws.amazon.com/ec2/
) を開きます。 -
ナビゲーションペインで、[インスタンス] を選択します。
-
インスタンスを選択し、[Actions] (アクション)、[Instance settings] (インスタンス設定)、[Allow tags in instance metadata] (インスタンスメタデータ内のタグを許可する) の順に選択します。
-
インスタンスメタデータ内のタグへのアクセスを許可するには、[Allow] (許可) チェックボックスをオンにします。
-
[Save] を選択します。
AWS CLI を使用して起動時にインスタンスメタデータのタグへのアクセスを許可するには
run-instances コマンドを使用して、InstanceMetadataTags
を enabled
に設定します。
aws ec2 run-instances \ --image-id
ami-0abcdef1234567890
\ --instance-typec3.large
\ ... --metadata-options "InstanceMetadataTags=enabled"
AWS CLI を使用して実行中または停止中のインスタンス上のインスタンスメタデータ内のタグへのアクセスを許可するには
modify-instance-metadata-options コマンドを使用して、--instance-metadata-tags
を enabled
に設定します。
aws ec2 modify-instance-metadata-options \ --instance-id
i-123456789example
\ --instance-metadata-tags enabled
インスタンスメタデータのタグへのアクセスを無効にする
インスタンスメタデータ内のインスタンスタグへのアクセスを無効にするには、次のいずれかの方法を使用します。インスタンスメタデータのインスタンスタグへのアクセスは、デフォルトでオフになっているため、起動時にインスタンスタグへのアクセスをオフにする必要はありません。
コンソールを使用してインスタンスメタデータのタグへのアクセスを無効にするには
-
Amazon EC2 コンソール (https://console.aws.amazon.com/ec2/
) を開きます。 -
ナビゲーションペインで、[インスタンス] を選択します。
-
インスタンスを選択し、[Actions] (アクション)、[Instance settings] (インスタンス設定)、[Allow tags in instance metadata] (インスタンスメタデータ内のタグを許可する) の順に選択します。
-
インスタンスメタデータ内のタグへのアクセスを無効にするには、[Allow] (許可) チェックボックスをオフにします。
-
[Save] を選択します。
AWS CLI を使用してインスタンスメタデータのタグへのアクセスを無効にするには
modify-instance-metadata-options コマンドを使用して、--instance-metadata-tags
を disabled
に設定します。
aws ec2 modify-instance-metadata-options \ --instance-id
i-123456789example
\ --instance-metadata-tags disabled
インスタンスメタデータでのタグへのアクセスが許可されるか確認する
インスタンスごとに、Amazon EC2 コンソールまたは AWS CLI を使用し、インスタンスメタデータからのインスタンスタグへのアクセスが許可されているかどうかを確認できます。
コンソールを使用してインスタンスメタデータのタグへのアクセスが許可されているかを確認するには
Amazon EC2 コンソール (https://console.aws.amazon.com/ec2/
) を開きます。 -
ナビゲーションペインで [Instances] を選択してから、インスタンスを選択します。
-
[Detail] (詳細) タブで、[Allow tags in instance metadata] (インスタンスメタデータのタグを許可) フィールドをチェックします。値が [Enabled] (有効) の場合、インスタンスメタデータのタグを使用できます。値が [Disabled] (無効) の場合、インスタンスメタデータのタグを使用できません。
AWS CLI を使用してインスタンスメタデータのタグへのアクセスが許可されるか確認するには
describe-instances コマンドを使用して、インスタンス ID を指定します。
aws ec2 describe-instances \ --instance-ids
i-1234567890abcdef0
次の例では、出力はスペースの都合上、表示されていません。"InstanceMetadataTags"
パラメータは、インスタンスメタデータのタグを許可するかどうかを示します。値が enabled
の場合、インスタンスメタデータのタグを使用できます。値が disabled
の場合、インスタンスメタデータのタグを使用できません。
{
"Reservations": [
{
"Groups": [],
"Instances": [
{
"AmiLaunchIndex": 0,
"ImageId": "ami-0abcdef1234567890",
"InstanceId": "i-1234567890abcdef0",
...
"MetadataOptions": {
"State": "applied",
"HttpTokens": "optional",
"HttpPutResponseHopLimit": 1,
"HttpEndpoint": "enabled",
"HttpProtocolIpv6": "disabled",
"InstanceMetadataTags": "enabled"
},
...
インスタンスメタデータからタグを取得する
インスタンスメタデータでインスタンスタグが許可されている場合、tags/instance
カテゴリはインスタンスのメタデータからアクセスできます。インスタンスメタデータからタグを取得する方法の例については、インスタンスのインスタンスタグを取得するを参照してください。
CloudFormation を使用したリソースへのタグの追加
Amazon EC2 リソースタイプでは、Tags
または TagSpecifications
プロパティを使用してタグを指定します。
次の例では、Stack=Production
プロパティを使用して AWS::EC2::Instance にタグ Tags
を追加します。
例: YAML のタグ
Tags: - Key: "Stack" Value: "Production"
例: JSON のタグ
"Tags": [ { "Key": "Stack", "Value": "Production" } ]
次の例では、Stack=Production
プロパティを使用して AWS::EC2::LaunchTemplate LaunchTemplateData にタグ TagSpecifications
を追加します。
例: YAML のタグ仕様
TagSpecifications: - ResourceType: "instance" Tags: - Key: "Stack" Value: "Production"
例: JSON のタグ仕様
"TagSpecifications": [ { "ResourceType": "instance", "Tags": [ { "Key": "Stack", "Value": "Production" } ] } ]