メニュー
Amazon Elastic Compute Cloud
Linux インスタンス用ユーザーガイド

Amazon EC2 リソースにタグを付ける

インスタンス、イメージ、その他の Amazon EC2 リソースの管理を支援するため、各リソースにはタグという形式で独自のメタデータをオプションで割り当てることができます。 ここでは、タグとその作成方法について説明します。

タグの基本

タグを使用すると、AWS リソースを目的、所有者、環境などさまざまな方法で分類することができます。同じ型のリソースが多い場合に役立ちます — 割り当てたタグに基づいて特定のリソースをすばやく識別できます。 タグはそれぞれ、1 つのキーとオプションの 1 つので構成されており、どちらもお客様側が定義します。たとえば、アカウントの各インスタンスの所有者とスタックレベルを追跡しやすくするため、Amazon EC2 インスタンスに対して一連のタグを定義できます。ニーズを満たす一連のタグキーをリソースタイプごとに考案されることをお勧めします。一貫性のあるタグキーセットを使用することで、リソースの管理が容易になります。追加したタグに基づいてリソースを検索およびフィルタリングできます。

次の図は、タグの機能を示しています。図の中では、インスタンスのそれぞれに 2 つのタグを割り当てています。1 つは Owner、もう 1 つは Stack という名前です。各タグには値も関連付けられています。

 タグの例

タグには、Amazon EC2 に関連する意味はなく、完全に文字列として解釈されます。また、タグは自動的にリソースに割り当てられます。タグのキーと値は編集でき、タグはリソースからいつでも削除できます。タグの値を空の文字列に設定することはできますが、タグの値を null に設定することはできません。特定のリソースについて既存のタグと同じキーを持つタグを追加した場合、古い値は新しい値によって上書きされます。リソースを削除すると、リソースのタグも削除されます。

AWS マネジメントコンソール、AWS CLI、および Amazon EC2 API を使用して、タグで作業できます。

AWS Identity and Access Management (IAM) を使用している場合は、AWS アカウント内のユーザーに対してタグを作成、編集、削除するアクセス許可を割り当てることができます。詳細については、「Amazon EC2 のリソースに対するアクセスの制御」を参照してください。

リソースにタグを付ける

アカウントにすでに存在するほとんどの Amazon EC2 リソースにタグ付けできます。以下のに、タグ付けをサポートするリソースを示します。

Amazon EC2 コンソールを使用している場合、関連するリソース画面の [Tags] タブを使用してリソースにタグを適用するか、[Tags] 画面を使用することができます。一部のリソースの画面では、リソースの作成時にリソースのタグを指定できます。たとえば、Name のキーと指定した値をタグ付けします。ほとんどの場合、リソースの作成後すぐに (リソースの作成時ではなく) コンソールによりタグが適用されます。コンソールではリソースを Name タグに応じて整理できますが、このタグには Amazon EC2 サービスに対する意味論的意味はありません。

Amazon EC2 API、AWS CLI、または AWS SDK を使用している場合、CreateTags EC2 API アクションを使用してタグを既存のリソースに適用できます。さらに、リソース作成アクションによっては、リソースの作成時にリソースのタグを指定できます。リソースの作成時にタグを適用できない場合は、リソース作成プロセスがロールバックされます。これにより、リソースがタグ付きで作成されるか、まったく作成されないようになるため、タグ付けされていないリソースが存在することがなくなります。作成時にリソースにタグ付けすることで、リソース作成後にカスタムタグ付けスクリプトを実行する必要がなくなります。

次の表では、タグ付け可能な Amazon EC2 リソースと、作成時にタグ付け可能なリソースについて説明します。

Amazon EC2 リソースのタグ付けのサポート

リソース タグをサポート 作成時のタグ付けをサポート (EC2 API、AWS CLI、AWS SDK)

AMI

はい

いいえ

バンドルタスク

いいえ

いいえ

カスタマーゲートウェイ

はい

いいえ

Dedicated Host

いいえ

いいえ

DHCP オプション

はい

いいえ

EBS スナップショット

はい

いいえ

EBS ボリューム

はい

はい

Egress-only Internet gateway

いいえ

いいえ

Elastic IP アドレス

いいえ

いいえ

インスタンス

はい

はい

インスタンスストアボリューム

該当なし

該当なし

インターネットゲートウェイ

はい

いいえ

キーペア

いいえ

いいえ

NAT ゲートウェイ

いいえ

いいえ

ネットワーク ACL

はい

いいえ

ネットワークインターフェイス

はい

いいえ

配置グループ

いいえ

いいえ

リザーブドインスタンス

はい

いいえ

リザーブドインスタンスのリスト

いいえ

いいえ
ルートテーブル

はい

いいえ

スポットインスタンスリクエスト

はい

いいえ

セキュリティグループ–EC2-Classic

はい

いいえ

セキュリティグループ–VPC

はい

いいえ

サブネット

はい

いいえ

仮想プライベートゲートウェイ

はい

いいえ

VPC

はい

いいえ

VPC エンドポイント

いいえ

いいえ

VPC フローログ

いいえ

いいえ

VPC ピア接続

はい

いいえ

VPN 接続

はい

いいえ

作成時にインスタンスやボリュームにタグ付けするには、Amazon EC2 コンソール、RunInstances Amazon EC2 API、または CreateVolume Amazon EC2 API で Amazon EC2 起動インスタンスウィザードを使用します。Amazon EC2 コンソールの [Volumes] 画面では、作成時のタグ付けはサポートされません。

タグベースのリソースレベルアクセス権限を IAM ポリシーの CreateVolume および RunInstances Amazon EC2 API アクションに適用し、作成時にリソースにタグ付けできるユーザーとグループを細かく制御できます。リソースは、作成時から適切に保護されます。タグはリソースに即座に適用されるため、リソースの使用を制御するタグベースのリソースレベルアクセス権限がただちに有効になります。リソースは、より正確に追跡および報告されます。新しいリソースにタグ付けの使用を適用し、リソースで設定されるタグキーと値を制御できます。

さらに、リソースレベルのアクセス権限を IAM ポリシーの CreateTags および DeleteTags Amazon EC2 API アクションに適用し、既存のリソースで設定されるタグキーと値を制御することもできます。詳細については、「Amazon EC2 API アクションでサポートされるリソースレベルのアクセス許可」および「AWS CLI または AWS SDK で使用するサンプルポリシー」を参照してください。

請求用のリソースへのタグ付けの詳細については、AWS Billing and Cost Management ユーザーガイド の「コスト配分タグの使用」を参照してください。

タグの制限

タグには以下のような基本制限があります。

  • リソースあたりのタグの最大数 – 50

  • キーの最大長 - 127 文字 (Unicode) (UTF-8)

  • 値の最大長 - 255 文字 (Unicode) (UTF-8)

  • タグのキーと値は大文字と小文字が区別されます。

  • タグの名前または値に aws: プレフィックスは使用しないでください。このプレフィックスは AWS 用に予約されています。このプレフィックスが含まれるタグの名前または値は編集または削除できません。このプレフィックスを持つタグは、リソースあたりのタグ数の制限時には計算されません。

  • 複数のサービス間およびリソース間でタグ付けスキーマを使用する場合、他のサービスでも許可される文字に制限が適用されることがあるのでご注意ください。一般的に使用が許可される文字は、UTF-8 で表現できる文字、スペース、および数字と、+、-、=、.、_、:、/、@ などの特殊文字です。

タグのみに基づいてリソースを終了、停止、削除することはできません。リソース識別子を指定する必要があります。たとえば、DeleteMe というタグキーを使用してタグ付けしたスナップショットを削除するには、DeleteSnapshots のようなスナップショットのリソース識別子を指定して snap-1234567890abcdef0 アクションを使用する必要があります。

パブリックリソースまたは共有リソースにタグを付けることはできますが、割り当てるタグはタグ付けを行った AWS アカウントだけが使用できるものであり、リソースを共有するその他のアカウントは使用できません。

すべてのリソースにタグ付けすることはできません。詳細については、「Amazon EC2 リソースのタグ付けのサポート」を参照してください。

請求用のリソースにタグを付ける

タグを使用して AWS 請求書を整理し、自分のコスト構造を反映することができます。そのためには、AWS アカウントにサインアップして、タグキー値が含まれた AWS アカウントの請求書を取得する必要があります。タグによるコスト配分レポートの設定の詳細については、「AWS アカウント請求について」の「毎月のコスト配分レポート」を参照してください。リソースを組み合わせたコストを確認するには、同じタグキー値を持つリソースに基づいて、請求情報を整理します。たとえば、複数のリソースに特定のアプリケーション名のタグを付け、請求情報を整理することで、複数のサービスを利用しているアプリケーションの合計コストを確認することができます。詳細については、AWS Billing and Cost Management ユーザーガイド の「コスト配分タグの使用」を参照してください。

コスト割り当てタグは、どのリソースがコストに貢献しているかを示すことができますが、リソースを削除または非アクティブ化にしてもコストは必ずしも削減されるわけではありません。たとえば、元のデータを含むスナップショットが削除された場合でも、別のスナップショットによって参照されるスナップショットデータは維持されます。詳細については、『AWS Billing and Cost Management ユーザーガイド』の「Amazon Elastic Block Store のボリュームおよびスナップショット」を参照してください。

注記

レポートを有効にすると、約 24 時間後に、今月のデータを表示できるようになります。

コンソールでのタグの処理

Amazon EC2 コンソールを使用して、同じリージョン内のすべての Amazon EC2 リソースで使用中のタグを表示できます。タグは、リソース別およびリソースタイプ別で表示し、指定したタグに関連付けられている各リソースタイプの項目数を表示することができます。また、Amazon EC2 コンソールを使用して、同時に 1 つまたは複数のリソースについてタグの適用またはタグの削除を行うことができます。

リソースをリスト表示するときのフィルタの使い方については、リソースのリスト表示とフィルタリング を参照してください。

使いやすさと最適な結果を実現するために、AWS マネジメントコンソールで Tag Editor を使用してください。統一された方法で一元的にタグを作成および管理できます。オプショングループの操作方法の詳細については、Getting Started with the AWS Management Console の「Tag Editor の使用」を参照してください。

タグを表示する

Amazon EC2 コンソールでは、2 種類の方法でタグを表示できます。個々のリソースまたはすべてのリソースについて、タグを表示できます。

個々のリソースのタグを表示するには

Amazon EC2 コンソールでリソース固有のページを選択すると、リソースリストが表示されます。たとえば、ナビゲーションペインの [Instances] を選択すると、Amazon EC2 インスタンスリストが表示されます。このようなリスト (インスタンスなど) からリソースを選択し、リソースがタグをサポートしている場合、タグを表示し、管理することができます。ほとんどのリソースページで、詳細ペインの [Tags] タブでタグを表示できます。

リソースリストには、キーが同じタグのすべての値を表示する列を追加できます。この列で、タグを使用してリソースリストの並べ替えやフィルタリングを行うことができます。新しい列をリソースリストに追加し、タグを表示するには、2 つの方法があります。

  • [Tags] タブで、[Show Column] を選択します。新しい列がコンソールに追加されます。

  • [Show/Hide Columns] (歯車型のアイコン) を選択し、[Show/Hide Columns] ダイアログボックスの [Your Tag Keys] のタグキーを選択します。

すべてのリソースのタグを表示するには

Amazon EC2 コンソールのナビゲーションペインの [Tags] を選択して、すべてのリソースのタグを表示できます。次の図は、リソースタイプごとに使用中のすべてのタグが表示された [Tags] ペインです。

 Amazon EC2 コンソールの [Tags] ペイン

個々のリソースでのタグの追加と削除

リソースのページから、個々のリソースのタグを直接管理できます。

To add a tag to an individual resource

  1. https://console.aws.amazon.com/ec2/) にある Amazon EC2 コンソールを開きます。

  2. From the navigation bar, select the region that meets your needs. This choice is important because some Amazon EC2 resources can be shared between regions, while others can't. For more information, see リソースの場所.

  3. In the navigation pane, select a resource type (for example, Instances).

  4. Select the resource from the resource list.

  5. Select the Tags tab in the details pane.

  6. Choose the Add/Edit Tags button.

  7. In the Add/Edit Tags dialog box, specify the key and value for each tag, and then choose Save.

To delete a tag from an individual resource

  1. https://console.aws.amazon.com/ec2/) にある Amazon EC2 コンソールを開きます。

  2. From the navigation bar, select the region that meets your needs. This choice is important because some Amazon EC2 resources can be shared between regions, while others can't. For more information, see リソースの場所.

  3. In the navigation pane, choose a resource type (for example, Instances).

  4. Select the resource from the resource list.

  5. Select the Tags tab in the details pane.

  6. Choose Add/Edit Tags, select the Delete icon for the tag, and choose Save.

リソースグループへのタグの追加と削除

To add a tag to a group of resources

  1. https://console.aws.amazon.com/ec2/) にある Amazon EC2 コンソールを開きます。

  2. From the navigation bar, select the region that meets your needs. This choice is important because some Amazon EC2 resources can be shared between regions, while others can't. For more information, see リソースの場所.

  3. In the navigation pane, choose Tags.

  4. At the top of the content pane, choose Manage Tags.

  5. For Filter, select the type of resource (for example, instances) to which to add tags.

  6. In the resources list, select the check box next to each resource to which to add tags.

  7. Under Add Tag, for Key and Value, type the tag key and values, and then choose Add Tag.

    注記

    If you add a new tag with the same tag key as an existing tag, the new tag overwrites the existing tag.

To remove a tag from a group of resources

  1. https://console.aws.amazon.com/ec2/) にある Amazon EC2 コンソールを開きます。

  2. From the navigation bar, select the region that meets your needs. This choice is important because some Amazon EC2 resources can be shared between regions, while others can't. For more information, see リソースの場所.

  3. In the navigation pane, choose Tags, Manage Tags.

  4. To view the tags in use, select the Show/Hide Columns gear-shaped icon, and in the Show/Hide Columns dialog box, select the tag keys to view and choose Close.

  5. For Filter, select the type of resource (for example, instances) from which to remove tags.

  6. In the resource list, select the check box next to each resource from which to remove tags.

  7. Under Remove Tag, for Key, type the tag's name and choose Remove Tag.

インスタンスを起動するときにタグを追加する

To add a tag using the Launch Wizard

  1. From the navigation bar, select the region for the instance. This choice is important because some Amazon EC2 resources can be shared between regions, while others can't. Select the region that meets your needs. For more information, see リソースの場所.

  2. Choose Launch Instance.

  3. The Choose an Amazon Machine Image (AMI) page displays a list of basic configurations called Amazon Machine Images (AMIs). Select the AMI to use and choose Select. For more information about selecting an AMI, see Linux AMI の検索.

  4. On the Configure Instance Details page, configure the instance settings as necessary, and then choose Next: Add Storage.

  5. On the Add Storage page, you can specify additional storage volumes for your instance. Choose Next: Add Tags when done.

  6. On the Add Tags page, specify tags for the instance, the volumes, or both. Choose Add another tag to add more than one tag to your instance. Choose Next: Configure Security Group when you are done.

  7. On the Configure Security Group page, you can choose from an existing security group that you own, or let the wizard create a new security group for you. Choose Review and Launch when you are done.

  8. Review your settings. When you're satisfied with your selections, choose Launch. Select an existing key pair or create a new one, select the acknowledgment check box, and then choose Launch Instances.

タグを使用してリソースリストをフィルタリングする

1 つまたは複数のタグキーとタグ値に基づいて、リソースリストをフィルタリングできます。

To filter a list of resources by tag

  1. Display a column for the tag as follows:

    1. Select a resource.

    2. In the details pane, choose Tags.

    3. Locate the tag in the list and choose Show Column.

  2. Choose the filter icon in the top right corner of the column for the tag to display the filter list.

  3. Select the tag values, and then choose Apply Filter to filter the results list.

    注記

    For more information about filters, see リソースのリスト表示とフィルタリング.

CLI または API でのタグの操作

リソースのタグの追加、更新、リスト表示、および削除には、次を使用します。対応するドキュメントに例が記載されています。

タスク AWS CLI AWS Tools for Windows PowerShell API アクション

1 つ以上のタグを追加、または上書きします。

create-tags

New-EC2Tag

CreateTags

1 つ以上のタグを削除します。

delete-tags

Remove-EC2Tag

DeleteTags

1 つ以上のタグを記述します。

describe-tags

Get-EC2Tag

DescribeTags

タグに応じて、リソースのリストをフィルタリングすることもできます。次の例では、describe-instances コマンドでタグを使用して、インスタンスをフィルタリングする方法を示しています。

重要

タグはリソースに即座に適用されるため、IAM ポリシーで使用しているタグベースのリソースレベルアクセス権限がただちに有効になります。ただし、複数のリソースを記述すると、結果的に整合性が取れる場合があり、一部のタグは返されないことがあります。リソースのタグを確認するには、1 つのリソースを記述します。

例 1: 特定のタグキーでインスタンスの詳細を示します。

次のコマンドは、タグの値にかかわらず Stack タグでインスタンスの詳細を示します。

Copy
aws ec2 describe-instances --filters Name=tag-key,Values=Stack

例 2: 特定のタグでインスタンスの詳細を示します。

次のコマンドは、Stack=production タグでインスタンスの詳細を示します。

Copy
aws ec2 describe-instances --filters Name=tag:Stack,Values=production

例 3: 特定のタグの値でインスタンスの詳細を示します。

次のコマンドは、タグキーにかかわらず値 production を持つタグでインスタンスの詳細を示します。

Copy
aws ec2 describe-instances --filters Name=tag-value,Values=production

一部のリソース作成アクションでは、リソースの作成時にタグを指定できます。以下のアクションでは、作成時のタグ付けがサポートされます。

タスク AWS CLI AWS Tools for Windows PowerShell API アクション

1 つまたは複数のインスタンスを起動します。

run-instances

New-EC2Instance

RunInstances

EBS ボリュームを作成します。

create-volume

New-EC2Volume

CreateVolume

次の例は、リソースの作成時にタグを適用する方法を示しています。

例 4: インスタンスを起動し、インスタンスおよびボリュームにタグを適用する

次のコマンドは、インスタンスを起動し、webserver のキーと production の値を持つタグをインスタンスに適用します。さらに、cost-center キーと cc123 の値を持つタグを、作成された EBS ボリューム (この場合はルートボリューム) に適用します。

Copy
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 ボリュームに適用します。

Copy
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}]'

例 5: ボリュームを作成してタグを適用する

次のコマンドは、ボリュームを作成し、2 つのタグ purpose = production および cost-center = cc123 を適用します。

Copy
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}]'