メニュー
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 リソースのタグ付けのサポート

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

AFI

いいえ

いいえ

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 コンソールのボリューム画面を使用して、作成時に EBS ボリュームにタグを付けることができます。

タグベースのリソースレベルアクセス権限を 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 Billing and Cost Management ユーザーガイド の「毎月のコスト配分レポート」を参照してください。リソースを組み合わせたコストを確認するには、同じタグキー値を持つリソースに基づいて、請求情報を整理します。たとえば、複数のリソースに特定のアプリケーション名のタグを付け、請求情報を整理することで、複数のサービスを利用しているアプリケーションの合計コストを確認することができます。詳細については、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] ペイン

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

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

個々のリソースにタグを追加するには

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

  2. ナビゲーションバーから、必要に応じてリージョンを選択します。この選択は、リージョン間で共有できるのが一部の Amazon EC2 リソースのみであるため、重要です。詳細については、「リソースの場所」を参照してください。

  3. ナビゲーションペインで、リソースタイプを選択します ([Instances] など)。

  4. リソースリストからリソースを選択します。

  5. 詳細ペインの [Tags] タブをクリックします。

  6. [Add/Edit Tags] ボタンを選択します。

  7. [Add/Edit Tags] ダイアログボックスで、各タグのキーと値を指定し、[Save] を選択します。

個々のリソースからタグを削除するには

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

  2. ナビゲーションバーから、必要に応じてリージョンを選択します。この選択は、リージョン間で共有できるのが一部の Amazon EC2 リソースのみであるため、重要です。詳細については、「リソースの場所」を参照してください。

  3. ナビゲーションペインで、リソースタイプを選択します ([Instances] など)。

  4. リソースリストからリソースを選択します。

  5. 詳細ペインの [Tags] タブをクリックします。

  6. [Add/Edit Tags] を選択し、タグの [Delete] アイコンを選択して、[Save] を選択します。

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

リソースグループにタグを追加するには

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

  2. ナビゲーションバーから、必要に応じてリージョンを選択します。この選択は、リージョン間で共有できるのが一部の Amazon EC2 リソースのみであるため、重要です。詳細については、「リソースの場所」を参照してください。

  3. ナビゲーションペインで、[ Tags] を選択します。

  4. コンテンツペインの上部にある [Manage Tags] を選択します。

  5. [Filter] で、タグを追加するリソースのタイプ (インスタンスなど) を選択します。

  6. リソースリストで、タグを追加する各リソースの横にあるチェックボックスをオンにします。

  7. [Add Tag] の [Key] と [Value] に、タグキーと値を入力し、[Add Tag] を選択します。

    注記

    既存のタグとタグキーが同じ新しいタグを追加すると、既存のタグは新しいタグで上書きされます。

リソースグループからタグを削除するには

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

  2. ナビゲーションバーから、必要に応じてリージョンを選択します。この選択は、リージョン間で共有できるのが一部の Amazon EC2 リソースのみであるため、重要です。詳細については、「リソースの場所」を参照してください。

  3. ナビゲーションペインで、[Tags]、[Manage Tags] を選択します。

  4. 使用中のタグを表示するには、[Show/Hide Columns] (歯車型のアイコン) を選択し、[Show/Hide Columns] ダイアログボックスで、表示するタグキーを選択して [Close] を選択します。

  5. [Filter] で、タグを削除するリソースのタイプ (インスタンスなど) を選択します。

  6. リソースリストで、タグを削除する各リソースの横にあるチェックボックスをオンにします。

  7. [Remove Tag] の [Key] に、タグの名前を入力し、[Remove Tag] を選択します。

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

[Launch Wizard] を使用してタグを追加するには

  1. ナビゲーションバーで、インスタンスを起動するリージョンを選択します。この選択は、リージョン間で共有できるのが一部の Amazon EC2 リソースのみであるため、重要です。ニーズに合ったリージョンを選択してください。詳細については、「リソースの場所」を参照してください。

  2. [インスタンスの作成] を選択します。

  3. [Choose an Amazon Machine Image (AMI)] ページには、Amazon マシンイメージ (AMI) と呼ばれる基本設定リストが表示されます。使用する AMI を選択し、[Select] を選択します。AMI の選択の詳細については、「Linux AMI の検索」を参照してください。

  4. [Configure Instance Details] ページで、必要に応じてインスタンスの設定を行い、[Next: Add Storage] を選択します。

  5. [Add Storage] ページで、インスタンスに追加のストレージボリュームを指定できます。完了したら、[Next: Add Tags] を選択します。

  6. [Add Tags] ページで、インスタンス、ボリューム、またはその両方のタグを指定します。インスタンスに複数のタグを追加するには、[Add another tag] を選択します。完了したら、[次の手順: セキュリティグループの設定] を選択します。

  7. [Configure Security Group] ページで、所有する既存のセキュリティグループから選択するか、ウィザードで新しいセキュリティグループを作成します。完了したら、[Review and Launch] を選択します。

  8. 設定を確認します。選択した内容でよければ、[Launch] を選択します。 既存のキーペアを選択するか、新しいキーペアを作成し、確認のチェックボックスを選択して、[Launch Instances] を選択します。

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

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

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

  1. 次の手順でタグの列を表示します。

    1. リソースを選択します。

    2. 詳細ペインで、[Tags] を選択します。

    3. リスト内のタグを選択し、[Show Column] を選択します。

  2. フィルタリストを表示するタグの列の右上にあるフィルタアイコンを選択します。

  3. タグ値を選択し、[Apply Filter] を選択して結果リストをフィルタリングします。

    注記

    フィルタについての詳細は、「リソースのリスト表示とフィルタリング」を参照してください。

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 コマンドでタグを使用して、インスタンスをフィルタリングする方法を示しています。

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