

 **このページの改善にご協力ください** 

このユーザーガイドに貢献するには、すべてのページの右側のペインにある「**GitHub でこのページを編集する**」リンクを選択してください。

# タグを使用して Amazon EKS リソースを整理する
<a name="eks-using-tags"></a>

タグ を使用すると、Amazon EKS リソースの管理に役立ちます。このトピックでは、タグ機能の概要とタグの作成方法について説明します。

**Topics**
+ [タグの基本](#tag-basics)
+ [リソースのタグ付け](#tag-resources)
+ [タグの制限](#tag-restrictions)
+ [請求用のリソースにタグを付ける](#tag-resources-for-billing)
+ [コンソールでのタグの処理](#tag-resources-console)
+ [CLI、API または `eksctl` でのタグの操作](#tag-resources-api-sdk)

**注記**  
タグは、Kubernetes のラベルやアノテーションとは別のメタデータのタイプです。これらのその他のメタデータタイプの詳細については、Kubernetes ドキュメントの次のセクションを参照してください。  
 [ラベル (Labels) とセレクター (Selectors)](https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/) 
 [注釈](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/) 

## タグの基本
<a name="tag-basics"></a>

タグとはAWS リソースに割り当てるラベルです。各タグはキーとオプションの値で構成されます。

タグを使用して AWS リソースを分類できます。例えば、目的、所有者、環境などに基づいてリソースを分類できます。同じ型のリソースが多い場合に、特定のリソースに割り当てたタグを使用して、そのリソースをすばやく識別できます。例えば Amazon EKS クラスターに一連のタグを定義して、各クラスターの所有者とスタックレベルを追跡できます。リソースタイプごとに一貫した一連のタグキーを考案することをお勧めします。追加したタグに基づいてリソースを検索およびフィルタリングできます。

タグを追加したら、いつでもタグキーと値は編集でき、タグはリソースからいつでも削除できます。リソースを削除すると、リソースのタグも削除されます。

タグには Amazon EKS に関する意味論的な意味はなく、完全に文字列として解釈されます。タグの値は空の文字列に設定できます。ただし、タグの値を null に設定することはできません。そのリソースの既存のタグと同じキーを持つタグを追加した場合、古い値は新しい値によって上書きされます。

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

## リソースのタグ付け
<a name="tag-resources"></a>

Amazon EKS の以下のリソースがタグをサポートしています。
+ クラスター
+ マネージド型ノードグループ
+ Fargate プロファイル

以下を使用して、これらのリソースにタグ付けできます。
+ Amazon EKS コンソールを使用している場合、新規または既存のリソースにいつでもタグを適用できます。これを行うには、関連リソースページの **[Tags]** (タグ) タブを使用します。詳細については、「[コンソールでのタグの処理](#tag-resources-console)」を参照してください。
+ `eksctl` を使用している場合は、`--tags` オプションを使ってリソースを作成する際に、リソースにタグを適用できます。
+ AWS CLI、Amazon EKS API、または AWS SDK を使用している場合は、関連する API アクションの `tags` パラメータを使用して、新しいリソースにタグを適用できます。`TagResource` API アクションを使用して既存のリソースにタグを適用することもできます。詳細については、「[TagResource](https://docs.aws.amazon.com/eks/latest/APIReference/API_TagResource.html)」を参照してください。

リソース作成アクションによっては、リソースの作成時にリソースのタグを指定することもできます。リソースの作成中にタグを適用できない場合、リソースの作成は失敗します。これにより、タグ付けするリソースが、指定したタグで作成されているか、まったく作成されていないかが確認できます。リソースの作成時にタグ付けを行う場合、リソースの作成後にカスタムタグ付けスクリプトを実行する必要はありません。

タグは、作成したリソースに関連付けられている他のリソースには伝達されません。例えば、Fargate プロファイルのタグは、それによってスケジュールされた Pod などの、Fargate プロファイルに関連付けられている他のリソースには適用されません。

## タグの制限
<a name="tag-restrictions"></a>

タグには以下の制限があります。
+ 1 つのリソースに対して最大 50 個のタグを関連付けることができます。
+ 1 つのリソースに対してタグキーを繰り返すことはできません。各タグキーは一意である必要があり、それぞれに使用できる値は 1 つのみです。
+ キーの値には最大 128 UTF-8 文字を使用できます。
+ 値の最大長は 256 UTF-8 文字です。
+ 複数の AWS サービスおよびリソースがタグ付けスキーマを使用する場合、使用する文字の種類を制限します。一部のサービスでは、使用できる文字に制限がある場合があります。通常、使用できる文字は、英字、数字、スペース、および特殊文字 `+`、`-`、`=`、`.`、`_`、`:`、`/`、`@` です。
+ タグのキーと値では、大文字と小文字が区別されます。
+ キーまたは値のプレフィックスとして、`aws:`、` AWS:`、またはその大文字と小文字の組み合わせを変えたものは使用しないでください。これらは AWS でのみ使用するように予約されています。このプレフィックスを持つタグのキーや値を編集または削除することはできません。このプレフィックスを持つタグは、リソースあたりのタグ数の制限にはカウントされません。

## 請求用のリソースにタグを付ける
<a name="tag-resources-for-billing"></a>

Amazon EKS クラスターにタグを適用すると、そのタグを **[Cost & Usage Reports]** (コストと使用状況レポート) 内のコスト配分に使用できます。**[Cost & Usage Reports]** (コストと使用状況レポート) の計測データには、すべての Amazon EKS タスクの使用状況が示されます。詳細については、「AWS 請求ユーザーガイド」の「[AWS コストと使用状況レポート](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/billing-reports-costusage.html)」を参照してください。

AWS 生成されたコスト配分タグ、特に `aws:eks:cluster-name` では、**[Cost Explorer]** (コストエクスプローラー) で Amazon EC2 インスタンスのコストを個々の Amazon EKS クラスターごとに分類できます。ただし、このタグにはコントロールプレーンの費用を捕捉するものではありません。このタグは、Amazon EKS クラスターに参加している Amazon EC2 インスタンスに自動的に追加されます。この動作は、インスタンスが Amazon EKS マネージド型ノードグループまたは Karpenter を使用して、または直接 Amazon EC2 を使用してプロビジョニングされたかどうかに関係なく、発生します。この特定のタグは 50 個のタグの上限にはカウントされません。タグを使用するには、アカウント所有者が AWS 請求コンソールまたは API を使用してタグをアクティブ化する必要があります。AWS Organizations 管理アカウントの所有者がこのタグをアクティブ化すると、すべての組織のメンバーアカウントにも有効になります。

同じタグキー値を持つリソースに基づいて、請求情報を整理することもできます。例えば、複数のリソースに特定のアプリケーション名のタグを付け、請求情報を整理することができます。これにより、複数のサービスを利用しているアプリケーションの合計コストを確認することができます。タグによるコスト配分レポートの設定の詳細については、AWS 請求ユーザーガイドの「[コスト配分月次レポート](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/configurecostallocreport.html)」を参照してください。

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

 **Cost Explorer** は、AWS 無料利用枠の一部として利用できるレポートツールです。**Cost Explorer** を使用すると、過去 13 か月間の Amazon EKS リソースのグラフを表示できます。また、次の 3 か月間のリソース使用量も予測できます。時間の経過と共に AWS リソースに費やす金額のパターンを確認できます。例えば、Cost Explorer を使用して、さらに調べる必要がある分野を特定し、コストを把握するために使用できる傾向を確認できます。データの時間範囲を指定したり、時間データを日または月ごとに表示することもできます。

## コンソールでのタグの処理
<a name="tag-resources-console"></a>

Amazon EKS コンソールを使用して、新規または既存のクラスターおよびマネージド型ノードグループに関連付けられたタグを管理できます。

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

また、AWS マネジメントコンソール の **[Tag Editor]** (タグエディタ) を使用することもできます。これにより、タグを一貫性のある方法で管理できます。詳細については、「AWS タグエディタユーザーガイド」の「[タグエディタを使用して AWS リソースにタグを付ける](https://docs.aws.amazon.com/ARG/latest/userguide/tag-editor.html)」を参照してください。

### リソース作成時のタグの追加
<a name="adding-tags-creation"></a>

Amazon EKS クラスターおよびマネージド型ノードグループ、および Fargate プロファイルの作成時に、タグを追加できます。詳細については、「[Amazon EKS クラスターを作成します。](create-cluster.md)」を参照してください。

### リソースでのタグの追加と削除
<a name="adding-or-deleting-tags"></a>

クラスターに関連付けられたタグをリソースのページから直接追加または削除できます。

1. [アマゾン EKS コンソール](https://console.aws.amazon.com/eks/home#/clusters)を開きます。

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

1. 左のナビゲーションペインで **[Clusters]** (クラスター) を選択してください。

1. 指定するクラスターを選択します。

1. **[タグ]** タブを選択し、**[タグ管理]** を選択します。

1. **[Manage tags]** (タグの管理) ページで、必要に応じてタグを追加または削除します。
   + タグを追加するには、**[タグの追加]** を選択します。その後、タグごとにキーと値を指定します。
   + タグを削除するには、**[Remove tag]** (タグの削除) を選択します。

1. 追加または削除するタグごとにこのプロセスを繰り返します。

1. **[更新]** を選択して終了します。

## CLI、API または `eksctl` でのタグの操作
<a name="tag-resources-api-sdk"></a>

リソースのタグの追加、更新、リスト表示、および削除には、次の AWS CLI コマンドまたは Amazon EKS API オペレーションを使用します。1 つのコマンドで新しいリソースを同時に作成しながらタグを追加するのに使用できるのは `eksctl` だけです。


| タスク |  AWS CLI |  AWS Tools for Windows PowerShell | API アクション | 
| --- | --- | --- | --- | 
|  1 つ以上のタグを追加、または上書きします。  |   [タグリソース](https://docs.aws.amazon.com/cli/latest/reference/eks/tag-resource.html)   |   [Add-EKSResourceTag](https://docs.aws.amazon.com/powershell/latest/reference/items/Add-EKSResourceTag.html)   |   [TagResource](https://docs.aws.amazon.com/eks/latest/APIReference/API_TagResource.html)   | 
|  1 つ以上のタグを削除します。  |   [タグなしリソース](https://docs.aws.amazon.com/cli/latest/reference/eks/untag-resource.html)   |   [Remove-EKSResourceTag](https://docs.aws.amazon.com/powershell/latest/reference/items/Remove-EKSResourceTag.html)   |   [UntagResource](https://docs.aws.amazon.com/eks/latest/APIReference/API_UntagResource.html)   | 

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

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

```
aws eks tag-resource --resource-arn resource_ARN --tags team=devs
```

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

```
aws eks untag-resource --resource-arn resource_ARN --tag-keys tag_key
```

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

```
aws eks list-tags-for-resource --resource-arn resource_ARN
```

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


| タスク |  AWS CLI |  AWS Tools for Windows PowerShell | API アクション | eksctl | 
| --- | --- | --- | --- | --- | 
|  クラスターを作成する  |   [クラスター作成](https://docs.aws.amazon.com/cli/latest/reference/eks/create-cluster.html)   |   [New-EKSCluster](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EKSCluster.html)   |   [CreateCluster](https://docs.aws.amazon.com/eks/latest/APIReference/API_CreateCluster.html)   |   `create cluster`   | 
|  マネージド型ノードグループの作成\$1  |   [create-nodegroup](https://docs.aws.amazon.com/cli/latest/reference/eks/create-nodegroup.html)   |   [New-EKSNodegroup](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EKSNodegroup.html)   |   [CreateNodegroup](https://docs.aws.amazon.com/eks/latest/APIReference/API_CreateNodegroup.html)   |   `create nodegroup`   | 
|  Fargate プロファイルの作成  |   [create-fargate-profile](https://docs.aws.amazon.com/cli/latest/reference/eks/create-fargate-profile.html)   |   [New-EKSFargateProfile](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EKSFargateProfile.html)   |   [CreateFargateProfile.html](https://docs.aws.amazon.com/eks/latest/APIReference/API_CreateFargateProfile.html)   |   `create fargateprofile`   | 
+ マネージド型ノードグループの作成時に Amazon EC2 インスタンスにもタグ付けを行う場合は、起動テンプレートを使用してマネージド型ノードグループを作成します。詳細については、「[アマゾン EC2 インスタンスへのタグ付け](launch-templates.md#launch-template-tagging)」を参照してください。インスタンスがすでに存在する場合は、インスタンスに手動でタグ付けを行うことができます。詳細については、「Amazon EC2 ユーザーガイド」の「[リソースのタグ付け](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html#tag-resources)」を参照してください。