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

Amazon ECS リソースのタグ付け

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

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

重要

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

タグのベーシック

タグは、AWS リソースに割り当てるラベルです。タグはそれぞれ、1 つのキーとオプションの 1 つので構成されており、どちらもお客様側が定義します。

タグを使用すると、用途、所有者、環境などのさまざまな方法で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 リソースのタグ付けのサポート

Resource

タグをサポート

タグの伝播をサポート

作成時のタグ付けのサポート (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 使用状況レポート」を参照してください。

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

重要

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

注記

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

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

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

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

重要

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

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

以下のリソースでは、リソースの作成時にタグを指定できます。

タスク

コンソール

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

[Run a standalone task] (スタンドアロンタスクを実行)

サービスを作成する

Amazon ECS サービスを作成する

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

外部デプロイ

タスク定義を登録する

新しいコンソールを使用したタスク定義の作成

クラスターを作成する

従来のコンソールを使用したクラスターの作成

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

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

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

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

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

  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 untag-resource --resource-arn resource_ARN --tag-keys tag_key

例 3: リソースのタグのリスト取得

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

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