Amazon ECS リソースのタグ付け - Amazon ECS

Amazon ECS リソースのタグ付け

Amazon ECS リソースを管理しやすくするために、タグを使用してオプションで各リソースに独自のメタデータを割り当てることができます。このトピックでは、Amazon ECS のタグの概要と、タグの作成方法について説明します。

この機能を使用するには、新しい Amazon リソースネーム (ARN) およびリソース識別子 (ID) の形式をオプトインする必要があります。詳細については、「Amazon リソースネーム (ARN) と ID」を参照してください。

重要

個人情報 (PII) などの機密情報や秘匿性の高い情報はタグに追加しないようにします。タグは、多くの AWS のサービス (請求など) からアクセスできます。タグは、プライベートデータや機密データに使用することを意図していません。

タグの基本

タグとは、AWS リソースに付けるラベルです。各タグはキーとオプションの値で構成されます。両方を定義します。

タグを使用すると、AWS リソースを目的、所有者、環境などさまざまな方法で分類することができます。これは、同じ種類のリソースが多い場合に役立ちます。リソースに割り当てたタグに基づいて、特定のリソースをすばやく識別できます。例えば、アカウントの Amazon ECS コンテナインスタンスの一連のタグを定義できます。これは、各インスタンスの所有者とスタックレベルを追跡するのに役立ちます。

各リソースタイプのニーズを満たす一連のタグキーを考案することをお勧めします。リソースの管理を容易にするために、タグキーの一貫したセットを使用できます。追加したタグに基づいてリソースを検索およびフィルタリングできます。

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

AWS Management Console、AWS CLI、および Amazon ECS API を使用してタグを操作できます。

AWS Identity and Access Management (IAM) を使用すると、AWS アカウント内のどのユーザーがタグを管理するアクセス許可を持っているかを制御できます。

リソースのタグ付け

Amazon ECS の新規または既存のタスク、サービス、タスク定義、およびクラスターにタグ付けできます。

重要

個人情報 (PII) などの機密情報や秘匿性の高い情報はタグに追加しないようにします。タグは、多くの AWS のサービス (請求など) からアクセスできます。タグは、プライベートデータや機密データに使用することを意図していません。

Amazon ECS コンソールを使用している場合、新規または既存のリソースにタグを適用できます。関連リソースページの [Tags] (タグ) タブを使用して、いつでもこれを実行できます。Amazon ECS 管理タグオプション(タグの伝播オプション) では、タスク定義またはサービスからタスクにタグがコピーされます。これは、タスクを実行中またはサービスを作成しているときに実行できます。

Amazon ECS API、AWS CLI、または AWS SDK を使用している場合は、関連する API アクションの tags パラメータを使用して、新しいリソースにタグを適用できます。または、TagResource API アクションを使用して既存のリソースにタグを適用することもできます。詳細については、TagResourceを参照してください。PropagateTags パラメータを使用して、タスク定義またはサービスからタスクにタグをコピーできます。これは、タスクを実行するか、またはサービスを作成するときに実行できます。詳細については、RunTaskおよびCreateServiceを参照してください。

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

ECS マネージドタグオプションを使用すると、Amazon ECS はタスク定義またはサービスのいずれかのタスクにタグを自動的に伝播します。

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

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

リソース

タグをサポート

タグの伝播をサポート

作成時のタグ付けのサポート (Amazon ECS API、AWS CLI、AWS SDK、)

Amazon ECS タスク

はい

はい、タスク定義からサポートします。

はい

Amazon ECS サービス

はい

はい、タスク定義またはサービス内のタスクへのサービスのいずれかからサポートします。

はい

Amazon ECSの タスクセット

はい

いいえ

はい

Amazon ECSの タスク定義

はい

いいえ

はい

Amazon ECS クラスター

はい

いいえ

はい

Amazon ECS 外部インスタンス

はい

いいえ

いいえ、AWS Management Console を使用するか、Amazon ECS API、AWS CLI、または AWS SDKを使用して、外部インスタンスがクラスターに登録された後にタグを追加できます。詳細については、「クラシックコンソールを使って個々のリソースのタグを追加および削除」を参照してください。

Amazon ECS キャパシティープロバイダー はい。事前定義済みの FARGATE および FARGATE_SPOT キャパシティープロバイダーにタグを付けることはできません。 いいえ はい

タグの制限

タグには以下のベーシックな制限があります。

  • それぞれのリソースに付けることができるタグの最大数は 50 です。

  • タグキーは、リソースごとにそれぞれ一意である必要があります。また、各タグキーに設定できる値は 1 つのみです。

  • キーの最大長 - UTF-8 の 128 Unicode 文字

  • 値の最大長 - UTF-8 の 256 Unicode 文字

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

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

  • aws:AWS:、またはその大文字または小文字の組み合わせを、キーまたは値のプレフィックスとして使用しないでください。これらは AWS 使用のためにのみ予約されています。このプレフィックスが含まれるタグのキーや値を編集または削除することはできません。このプレフィックスが付いたタグは、タグのクォータにはカウントされません。

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

Amazon ECS が管理するタグを使用すると、Amazon ECS は新しく起動されたすべてのタスクにクラスター名のタグを自動的に付けます。サービスに属するタスクにも、サービス名を使用してタグ付けされます。これらのマネージドタグは、コスト配分を有効にした後にコストと使用状況レポートでコスト配分を確認するときに便利です。詳細については、「Amazon ECS 使用状況レポート」を参照してください。

この機能には、以下のオプションが必要です。

  • 新しい Amazon リソースネーム (ARN) とリソース識別子 (ID) 形式にオプトインする必要があります。詳細については、「Amazon リソースネーム (ARN) と ID」を参照してください。

  • API を使用してサービスを作成したり、タスクを実行したりするときは、run-taskcreate-serviceenableECSManagedTagstrue に設定する必要があります。詳細については、「AWS Command Line Interface API リファレンス」の「CreateService」および「RunTask」を参照してください。

リソースを組み合わせたコストを確認するには、同じタグキー値を持つリソースに基づいて、請求情報を整理します。例えば、複数のリソースに特定のアプリケーション名のタグを付け、請求情報を整理することで、複数のサービスを利用しているアプリケーションの合計コストを確認することができます。タグによるコスト配分レポートの設定の詳細については、AWS Billing ユーザーガイドコスト配分月次レポートを参照してください。

注記

レポートを有効にすると、24 時間後に当月のデータを表示できます。

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

Amazon ECS コンソールを使用して、新規または既存のタスク、サービス、タスク定義、クラスター、またはコンテナインスタンスに関連付けられているタグを管理できます。

Amazon ECS コンソールでリソース固有のページを選択すると、リソースリストが表示されます。例えば、ナビゲーションペインで [Clusters (クラスター)] を選択すると、Amazon ECS クラスターのリストがコンソールに表示されます。これらのリストの1つ(たとえば、特定のクラスター)からタグをサポートするリソースを選択すると、Tagsタブでタグを表示および管理できます。

重要

個人情報 (PII) などの機密情報や秘匿性の高い情報はタグに追加しないようにします。タグは、多くの AWS のサービス (請求など) からアクセスできます。タグは、プライベートデータや機密データに使用することを意図していません。

個々のリソースでの起動時のタグの追加

リソースの作成時に、次のリソースを使用してタグを指定できます。

クラシックコンソールを使って個々のリソースのタグを追加および削除

Amazon ECS では、クラスター、サービス、タスク定義に関連付けられているタグを、そのリソースのページから直接追加または削除できます。

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

  1. Amazon ECS コンソール (https://console.aws.amazon.com/ecs/) を開きます。

  2. ナビゲーションバーから、使用する AWS リージョン を選択します。

  3. ナビゲーションペインでリソースタイプ (例:Clusters (クラスター) を選択します

  4. リソースリストからリソースを選択して Tags (タグ)Edit (編集)の順に選択します。

  5. Edit Tags (タグの編集) ダイアログボックスで、各タグのキーと値を指定してから Save (保存) を選択します。

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

  1. Amazon ECS コンソール (https://console.aws.amazon.com/ecs/) を開きます。

  2. ナビゲーションバーから、使用するリージョンを選択します。

  3. ナビゲーションペインでリソースタイプ (例: Clusters (クラスター)) を選択します。

  4. リソースリストからリソースを選択して Tags (タグ)Edit (編集) の順に選択します。

  5. Edit Tags (タグの編集) ページで、削除する各タグのDelete (削除)アイコンを選択してから Save (保存) を選択します。

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

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

重要

タグには、個人を特定できる情報 (PII) や、機密情報あるいは秘匿性の高い情報は追加しないでください。タグは、多くの AWS のサービス (請求など) からアクセスできます。タグは、プライベートデータや機密データに使用することを意図していません。

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

タスク

AWS CLI

API アクション

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

タグリソース

TagResource

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

タグなしリソース

UntagResource

以下の例では、AWS CLIを使用して、リソースに対してタグ付けまたはタグ削除する方法を示しています。

例 1: 既存のクラスターへのタグ付け

次のコマンドは既存のクラスターにタグ付けします。

aws ecs tag-resource --resource-arn resource_ARN --tags key=stack,value=dev

例 2: クラスターに複数のタグを追加する

次のコマンドは、クラスターに複数のタグを追加します。

aws ecs tag-resource \ --resource-arn resource_ARN \ --tags key=key1,value=value1 key=key2,value=value2 key=key3,value=value3

例 3: 既存のクラスターのタグを削除する

次のコマンドは既存のクラスターからタグを削除します。

aws ecs untag-resource --resource-arn resource_ARN --tag-keys tag_key

例 4: リソースのタグを一覧表示する

次のコマンドは、既存のリソースに関連付けられているタグのリストを取得します。

aws ecs list-tags-for-resource --resource-arn resource_ARN

リソースの作成時に、いくつかのリソース作成アクションを使用してタグを指定できます。以下のアクションでは、作成時のタグ付けがサポートされます。

タスク

AWS CLI

AWS Tools for Windows PowerShell

API アクション

1 つまたは複数のタスクを実行する

実行タスク

Start-ECSTask

RunTask

サービスを作成する

サービスの作成

New-ECSService

CreateService

タスクセットを作成します。

タスクセットを作成

New-ECSTaskSet

CreateTaskSet

タスク定義を登録する

タスク定義を登録

Register-ECSTaskDefinition

RegisterTaskDefinition

クラスターを作成する。

クラスター作成

New-ECSCluster

CreateCluster

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

例 1: クラスターを作成してタグを適用する

次のコマンドは、devcluster という名前のクラスターを作成し、キーが team で値が devs のタグを追加します。

aws ecs create-cluster --cluster-name devcluster --tags key=team,value=devs

例 2: サービスを作成してタグを適用する

次のコマンドは、application という名前のサービスを作成し、キーが stack で値が dev のタグを追加します。

aws ecs create-service --service-name application --task-definition task-def-app --tags key=stack,value=dev

例 3: タグを含むサービスを作成し、タグを伝播する

--propagateTags パラメータを使用して、タグをタスク定義またはサービスからサービス内のタスクにコピーできます。次のコマンドは、タグ付きのサービスを作成し、そのタグをそのサービス内のタスクに伝播します。

aws ecs create-service --service-name application --task-definition task-def-app --tags key=stack,value=dev --propagateTags Service