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

Amazon EKS リソースのタグ付け

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

注記

タグは、Kubernetes ラベルや注釈とは別のメタデータの一種です。これらの他のメタデータタイプの詳細については、Kubernetes ドキュメントの次のセクションを参照してください。

タグの基本

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

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

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

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

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

リソースのタグ付け

Amazon EKS の以下のリソースがタグをサポートしています。

  • クラスター

  • マネージド型ノードグループ

  • Fargate プロファイル

以下を使用して、これらのリソースにタグ付けできます。

  • Amazon EKS コンソールを使用している場合、新規または既存のリソースにいつでもタグを適用できます。これを行うには、関連リソースページの [Tags] (タグ) タブを使用します。詳細については、「コンソールでのタグの処理」を参照してください。

  • eksctl を使用している場合は、--tags オプションを使ってリソースを作成する際に、リソースにタグを適用できます。

  • AWS CLI、Amazon EKS API、または AWS SDK を使用している場合は、関連する API アクションの tags パラメータを使用して、新しいリソースにタグを適用できます。TagResource API アクションを使用して既存のリソースにタグを適用することもできます。詳細については、「TagResource」を参照してください。

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

タグは、作成したリソースに関連付けられている他のリソースには伝達されません。例えば、Fargate プロファイルタグは、Fargate プロファイルに関連付けられている pods など、Fargate プロファイルに関連付けられている他のリソースには伝播されません。

タグの制限

タグには以下の制限があります。

  • 1 つのリソースに対して最大 50 個のタグを関連付けることができます。

  • 1 つのリソースに対してタグキーを繰り返すことはできません。各タグキーは一意である必要があり、それぞれに使用できる値は 1 つのみです。

  • キーの値には最大 128 UTF-8 文字を使用できます。

  • 値の最大長は 256 UTF-8 文字です。

  • 複数の AWS のサービスおよびリソースがタグ付けスキーマを使用する場合、使用する文字の種類を制限します。一部のサービスでは、使用できる文字に制限がある場合があります。通常、使用できる文字は、英字、数字、スペース、および特殊文字 +-=._:/@ です。

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

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

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

Amazon EKS クラスターにタグを適用すると、そのタグを [Cost & Usage Reports] (コストと使用状況レポート) 内のコスト配分に使用できます。[Cost & Usage Reports] (コストと使用状況レポート) の計測データには、すべての Amazon EKS タスクの使用状況が示されます。詳細については、「AWS Billing ユーザーガイド」の「AWS コストと使用状況レポート」を参照してください。

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

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

注記

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

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

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

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

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

また、AWS Management Console の [Tag Editor] (タグエディタ) を使用することもできます。これにより、タグを一貫性のある方法で管理できます。詳細については、「AWS Resource Groups とタグユーザーガイド」の「Working with Tag Editor」(タグエディタの使用) を参照してください。

リソース作成時のタグの追加

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

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

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

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

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

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

  3. 左のナビゲーションペインで [Clusters] (クラスター) を選択します。

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

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

  6. [Manage tags] (タグの管理) ページで、必要に応じてタグを追加または削除します。

    • タグを追加するには、[タグの追加] を選択します。その後、タグごとにキーと値を指定します。

    • タグを削除するには、[Remove tag] (タグの削除) を選択します。

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

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

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

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

Amazon EKS リソースのタグ付けのサポート
タスク AWS CLI AWS Tools for Windows PowerShell API アクション

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

tag-resource

Add-EKSResourceTag

TagResource

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

untag-resource

Remove-EKSResourceTag

UntagResource

以下の例では、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

クラスターの作成

create-cluster

New-EKSCluster

CreateCluster

create cluster

マネージド型ノードグループの作成*

create-nodegroup

New-EKSNodegroup

CreateNodegroup

create nodegroup

Fargate プロファイルの作成

create-fargate-profile

New-EKSFargateProfile

CreateFargateProfile.html

create fargateprofile

* マネージド型ノードグループの作成時に Amazon EC2 インスタンスにもタグ付けを行う場合は、起動テンプレートを使用してマネージド型ノードグループを作成します。詳細については、「Amazon EC2 インスタンスへのタグ付け」を参照してください。インスタンスがすでに存在する場合は、インスタンスに手動でタグ付けを行うことができます。詳細については、「Amazon EC2 Linux インスタンス用ユーザーガイド」の「リソースのタグ付け」を参照してください。