

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

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

# クラスターリソースを整理およびモニタリングする
<a name="eks-managing"></a>

この章では、クラスターの管理に役立つ以下のトピックについて説明します。また、AWS マネジメントコンソール で [Kubernetes リソース](view-kubernetes-resources.md)に関する情報を表示することもできます。
+ Kubernetes ダッシュボードは、Kubernetes クラスター用の汎用でウェブベースの UI です。これにより、ユーザーはクラスター自体を管理するだけでなく、クラスターで実行されているアプリケーションの管理およびトラブルシューティングを行うことができます。詳細については、「[Kubernetes ダッシュボード](https://github.com/kubernetes/dashboard)」GitHub リポジトリを参照してください。
+  [Kubernetes Metrics Server でのリソース使用状況の表示](metrics-server.md) – Kubernetes メトリクスサーバーは、クラスター内のリソース使用状況データを集約します。デフォルトでは、クラスターにはデプロイされませんが、Kubernetes ダッシュボードや [Horizontal Pod Autoscaler を使用してポッドデプロイをスケールする](horizontal-pod-autoscaler.md) などの Kubernetes のアドオンで使用されます。このトピックでは、メトリクスサーバーのインストール方法を説明します。
+  [Helm を使用して Amazon EKS にアプリケーションをデプロイする](helm.md) – Kubernetes 用の Helm パッケージマネージャーを使用すると、Kubernetes クラスターにアプリケーションをインストールし、管理できます。このトピックは、Helm バイナリをインストールして実行する際に役立ちます。これにより、ローカルコンピューターで Helm CLI を使用してチャートをインストールおよび管理することができます。
+  [タグを使用して Amazon EKS リソースを整理する](eks-using-tags.md) – Amazon EKS リソースを管理しやすくするために、タグ形式で各リソースに独自のメタデータを割り当てることができます。ここでは、タグとその作成方法について説明します。
+  [Amazon EKS と Fargate Service Quotas を表示して管理する](service-quotas.md) – AWS アカウントには、AWS のサービスごとにデフォルトのクォータ (以前は制限と呼ばれていました) があります。Amazon EKS のクォータと拡大方法について説明します。

# Amazon EKS クラスターのコストをモニタリングして最適化する
<a name="cost-monitoring"></a>

コストのモニタリングは、Amazon EKS で Kubernetes クラスターを管理する上で不可欠な要素です。クラスターのコストを可視化することで、リソースの使用率を最適化し、予算を設定し、デプロイに関するデータ主導の意思決定を行うことができます。Amazon EKS には 2 つのコストモニタリングソリューションがあり、それぞれに独自の利点があり、コストを効果的に追跡して割り当てるのに役立ちます。

 ** AWS 請求を活用した Amazon EKS のコスト配分データの分割** — このネイティブ機能は、AWS 請求コンソールにシームレスに統合されるため、他の AWS のサービスと同様の使い慣れたインターフェイスとワークフローを使って、コストの分析および割り当てを行うことができます。コスト配分の分割を使用すると、Kubernetes コストに関するインサイトを他の AWS 支出と並行して直接得ることができるため、AWS 環境全体でコストを簡単に、総合的に最適化できるようになります。コストカテゴリーやコスト異常検出など、既存の AWS 請求の機能を活用して、コスト管理機能をさらに強化することもできます。詳細については、「AWS ユーザーガイド」の「[Understanding split cost allocation data](https://docs.aws.amazon.com/cur/latest/userguide/split-cost-allocation-data.html)」を参照してください。

 **Kubecost** — Amazon EKS は、Kubernetes のコストモニタリングツールである Kubecost をサポートしています。Kubecost には、リソースごとの詳細なコストの内訳、コスト最適化のために推奨される方法、すぐに使用できるダッシュボードやレポートなど、Kubernetes ネイティブのコストモニタリングに特化した機能が多数用意されています。また、Kubecost を使用して AWS コストと使用状況レポートと統合すると、正確な価格データを取得でき、Amazon EKSのコストを正確に把握することができます。[Kubecost をインストール](cost-monitoring-kubecost.md#kubecost-overview)する方法について説明します。無料の Kubecost サブスクリプションの取得については、[Kubecost](https://aws.amazon.com/marketplace/pp/prodview-asiz4x22pm2n2) AWS Marketplace ページを参照してください。

# 分割コスト割り当てを使用した AWS 請求で Pod ごとにコストを表示する
<a name="cost-monitoring-aws"></a>

## Amazon EKS の AWS コスト配分データの分割を使用したコストモニタリング
<a name="cost_monitoring_using_shared_aws_split_cost_allocation_data_for_amazon_eks"></a>

Amazon EKS の AWS コスト配分データの分割を使用すると、Amazon EKS クラスターのコストをきめ細かく把握することができます。これにより、Kubernetes アプリケーションのコストと使用状況の分析、最適化、チャージバックが可能になります。アプリケーションのコストは、Kubernetes アプリケーションが使用した Amazon EC2 CPU とメモリリソースに基づいて個々の部門およびチームに割り当てられます。Amazon EKS のコスト配分データの分割を使用することで、Pod あたりのコストを可視化し、名前空間、クラスター、その他の Kubernetes プリミティブを使用している Pod ごとのコストデータを集計することができます。以下は、Amazon EKS コスト配分データの分析に使用できる Kubernetes プリミティブの一例です。
+ クラスター名
+ デプロイ
+ 名前空間
+ ノード
+ ワークロード名
+ ワークロードタイプ

 [ユーザー定義のコスト配分タグ](https://console.aws.amazon.com/costmanagement/home#/tags)もサポートされています。コスト配分データの分割の詳細については、「AWS Billing ユーザーガイド」の「[Understanding split cost allocation data](https://docs.aws.amazon.com/cur/latest/userguide/split-cost-allocation-data.html)」を参照してください。

## コストと使用状況レポートの設定
<a name="task-cur-setup"></a>

コスト管理のコンソール、AWS コマンドラインインターフェイス、AWS SDK のいずれかで、[EKS のコスト配分データの分割] をオンにします。

*コスト配分データの分割*には以下を使用します。

1. コスト配分データの分割にオプトインします。詳細については、「AWS コストと使用状況レポートユーザーガイド」の「[分割コスト配分データの有効化](https://docs.aws.amazon.com/cur/latest/userguide/enabling-split-cost-allocation-data.html)」を参照してください。

1. 新しいレポートまたは既存のレポートにデータを含めます。

1. レポートを表示します。請求とコスト管理コンソールを使用するか、Amazon Simple Storage Service でレポートファイルを表示できます。

# Kubecost のインストール
<a name="cost-monitoring-kubecost"></a>

Amazon EKS がサポートする Kubecost を使用して、Pod、ノード、名前空間、ラベルなどの Kubernetes リソースごとにコストを分類して監視することができます。このトピックでは、Kubecost のインストールと Kubecost ダッシュボードへのアクセスについて説明します。

Amazon EKS は、クラスターコストの可視化のため、AWS に最適化された Kubecost のバンドルを提供します。既存の AWS サポート契約を使用してサポートを受けることができます。使用できる Kubecost のバージョンの詳細については、「[Kubecost の詳細](cost-monitoring-kubecost-bundles.md)」を参照してください。

**注記**  
Kubecost v3 では、パフォーマンスの劇的な向上や自動化機能の強化など、アーキテクチャの大幅な改善が導入されています。[Kubecost v3 の詳細はこちらです。](cost-monitoring-kubecost-bundles.md#kubecost-v3)  
Kubecost v2 では、いくつかの主要な新機能が導入されています。[Kubecost v2 の詳細はこちらです。](cost-monitoring-kubecost-bundles.md#kubecost-v2)

Kubecost の詳細については、[Kubecost](https://www.ibm.com/docs/en/kubecost/self-hosted/3.x) ドキュメントと「[よくある質問](cost-monitoring-kubecost-bundles.md#cost-monitoring-faq)」を参照してください。

## Amazon EKS 最適化 Kubecost バンドルをインストールする
<a name="kubecost-overview"></a>

Amazon *EKS 最適化 Kubecost バンドル*をインストールするには、次のいずれかの手順を使用します。
+ 開始する前に、「[Kubecost - Architecture Overview](https://www.ibm.com/docs/en/kubecost/self-hosted/3.x?topic=installations-amazon-eks-integration)」を確認して、Kubecost が Amazon EKS でどのように機能するかを理解することをお勧めします。
+ Amazon EKS を初めて使用する場合は、*Amazon EKS 最適化 Kubecost バンドル*のインストールが簡素化されるため、Amazon EKS アドオンを使用してインストールすることをお勧めします。詳細については、「[Deploying Kubecost on an Amazon EKS cluster using Amazon EKS add-on](https://www.ibm.com/docs/en/kubecost/self-hosted/3.x?topic=installations-amazon-eks-integration#ariaid-title3)」を参照してください。
+ インストールをカスタマイズするには、*Amazon EKS 最適化 Kubecost バンドル*を Helm で設定できます。詳細については、*Kubecost ドキュメント*の「[Deploying Kubecost on an Amazon EKS cluster using Helm](https://www.ibm.com/docs/en/kubecost/self-hosted/3.x?topic=installations-amazon-eks-integration#ariaid-title8)」を参照してください。

**重要**  
Kubecost v3 では、Helm チャートの場所が `public.ecr.aws/kubecost/kubecost` に変更されました。v2 からアップグレードする場合は、それに応じて Helm リポジトリのリファレンスを更新します。

**注記**  
Kubecost v3 を使用したマルチクラスターデプロイでは、メトリクスストレージに S3 互換オブジェクトストレージ (EKS のお客様の場合は AWS S3) が必要です。これにより、v2 で使用される Prometheus 互換ストレージが置き換えられます。詳細については、Kubecost ドキュメントの「[Multi-Cluster Installation](https://www.ibm.com/docs/en/kubecost/self-hosted/3.x?topic=installation-multi-cluster)」を参照してください。

## Kubecost ダッシュボードにアクセスする
<a name="kubecost-access-dashbaard"></a>

*Amazon EKS 最適化 Kubecost バンドル*のセットアップが完了したら、Kubecost ダッシュボードにアクセスできます。詳細については、「[Kubecost ダッシュボードにアクセスする](cost-monitoring-kubecost-dashboard.md)」を参照してください。

# Kubecost ダッシュボードにアクセスする
<a name="cost-monitoring-kubecost-dashboard"></a>

## 前提条件
<a name="kubecost-prereqs-dashboard"></a>

1. kubecost 関連のポッドの状態が「実行中」であることを確認します。

```
kubectl get pods --namespace kubecost
```

## Kubecost ダッシュボードにアクセスする
<a name="kubecost-dashboard"></a>

1. デバイス上でポート転送を有効にして、Kubecost ダッシュボードを公開します。
   + helm を使用して kubecost v3 をインストールしている場合:

     ```
     kubectl port-forward deployment/kubecost-frontend 9090 --namespace kubecost
     ```
   + helm を使用して kubecost v1 または v2 をインストールしている場合:

     ```
     kubectl port-forward deployment/kubecost-cost-analyzer 9090 --namespace kubecost
     ```
   + kubecost のインストールに Amazon EKS アドオンを使用している場合:

     ```
     kubectl port-forward deployment/cost-analyzer 9090 --namespace kubecost
     ```

     あるいは、[AWS Load Balancer Controller](aws-load-balancer-controller.md) を使用して、認証、認可、およびユーザー管理のために Kubecost を公開して Amazon Cognito を使用することもできます。詳細については、「[How to use Application Load Balancer and Amazon Cognito to authenticate users for your Kubernetes web apps](https://aws.amazon.com/blogs/containers/how-to-use-application-load-balancer-and-amazon-cognito-to-authenticate-users-for-your-kubernetes-web-apps)」(Application Load Balancer および Amazon Cognito を使用して Kubernetes Web アプリのユーザーを認証する方法) を参照してください。

1. 前の手順を実行したのと同じデバイスで、Web ブラウザを開き、次のアドレスを入力します。

   ```
   http://localhost:9090
   ```

   ブラウザに Kubecost の概要ページが表示されます。クラスターのサイズによっては、Kubecost がメトリクスを収集するまでに 5～10 分 (またはそれ以上) かかる場合があります。クラスターにかかる累積コスト、関連する Kubernetes 資産コスト、および毎月の総支出を含む Amazon EKS の支出額を確認できます。

1. クラスターレベルでコストを追跡するには、請求対象の Amazon EKS リソースにタグを付けます。詳細については、「[請求用のリソースにタグを付ける](eks-using-tags.md#tag-resources-for-billing)」を参照してください。
   +  **コスト配分** — Amazon EKS の月間費用と、各名前空間およびその他のディメンションの過去 7 日間の累積費用を表示します。これは、アプリケーションのどの部分が Amazon EKS の支出に寄与しているかを理解するのに役立ちます。
   +  **アセット** — Amazon EKS リソースに関連する AWS インフラストラクチャアセットの費用を表示します。

# Kubecost の詳細
<a name="cost-monitoring-kubecost-bundles"></a>

Amazon EKS は、クラスターコストの可視化のため、AWS に最適化された Kubecost のバンドルを提供します。Amazon EKS がサポートする Kubecost を使用して、Pod、ノード、名前空間、ラベルなどの Kubernetes リソースごとにコストを分類して監視することができます。

このトピックでは、Kubecost の使用可能なバージョンと、使用可能な利用枠の違いについて説明します。EKS は Kubecost のバージョン 1、バージョン 2、バージョン 3 をサポートしています。各バージョンは異なる利用枠で利用できます。*Amazon EKS 最適化 Kubecost バンドル*は、Amazon EKS クラスターにおいて追加コストなしで使用できます。Amazon Managed Service for Prometheus などの関連する AWS サービスの使用に対して課金される場合があります。また、既存の AWS サポート契約を使用してサポートを受けることもできます。

Kubernetes のプラットフォーム管理者および財務リーダーとして、Kubecost を使用して Amazon EKS の請求の内訳を可視化できます。また、コストを配分し、アプリケーションチームなどの組織単位にチャージバックすることも可能です。社内チームや事業部門に、実際の AWS の請求に基づく透明で正確なコストデータを提供できます。さらに、インフラストラクチャ環境とクラスター内の使用パターンに基づいて、コストを最適化するためのカスタマイズされた推奨事項を取得することもできます。Kubecost の詳細については、[Kubecost](https://www.ibm.com/docs/en/kubecost/self-hosted/3.x) ドキュメントを参照してください。

 **Kubecost のカスタムバンドルと Kubecost の無料バージョン (OpenCost としても知られている) の違いは何ですか?**

 AWS と Kubecost が協力して Kubecost のカスタマイズバージョンを提供しました。このバージョンには、追加料金なしで商用機能のサブセットが含まれています。Kubecost のカスタムバンドルに含まれる機能については、以下の表を参照してください。

## Kubecost v3
<a name="kubecost-v3"></a>

 **Kubecost の v2 と v3 の違いは何ですか?**

Kubecost 3.0 は、大幅なパフォーマンスの向上、強化されたスケーラビリティ、プロアクティブな最適化機能を提供する大規模なアーキテクチャアップグレードです。最も重要な変更は、ClickHouse データベースへの移行によりバージョン 2.8 からの DuckDB を置き換えたことです。これにより、クエリが大幅に高速化され、大規模なパフォーマンスの信頼性向上が実現されます。Kubecost 3.0 では、Kubecost と Cloudability の機能を組み合わせた統合エージェントも導入されており、OpenCost の互換性を維持しながら Prometheus の依存関係を排除し、メモリフットプリントを縮小しています。

**重要**  
 [v3 へのアップグレードの前に Kubecost ドキュメントを確認してください。](https://www.ibm.com/docs/en/kubecost/self-hosted/3.x)v2 からの移行には慎重なプランニングが必要であり、また移行中のレポートの可用性に影響する可能性があります。Helm チャートの場所が `public.ecr.aws/kubecost/kubecost` に変更されました。

 **v3 での主なアーキテクチャ改善点:** 
+  **ClickHouse データベース**: DuckDB に代わって ClickHouse データベースを導入したことで、クエリの劇的な高速化とスケーラビリティの向上を実現
+  **統合エージェント**: Kubecost 機能と Cloudability 機能の組み合わせにより Prometheus の依存関係を排除
+  **マルチクラスター用の S3 互換ストレージ**: マルチクラスターデプロイの場合、v3 は Amazon Managed Service for Prometheus などの Prometheus 互換ストレージの代わりに S3 互換オブジェクトストレージ (EKS のお客様の場合は AWS S3) を使用します。FinOps エージェントは Kubernetes API からメトリクスをプルして S3 互換ストレージにプッシュし、アグリゲータはそのデータをプルして取得ステップを実行し、フロントエンドに結果を表示します。詳細については、Kubecost ドキュメントの「[Multi-Cluster Installation](https://www.ibm.com/docs/en/kubecost/self-hosted/3.x?topic=installation-multi-cluster)」と「[Secondary Clusters Guide](https://www.ibm.com/docs/en/kubecost/self-hosted/3.x?topic=cluster-secondary-clusters-guide)」を参照してください。
+  **メモリフットプリントの縮小**: 機能を維持しながらリソース要件を大幅に軽減
+  **アーキテクチャの簡素化**: 独立したスケーリングと耐障害性の向上のための単一コンテナポッドトポロジを採用
+  **自動化の強化**: マルチクラスター対応とカスタムプロファイルによるコンテナリクエストの自動サイズ設定

 **v3 での Amazon EKS 最適化バンドルの利点:** 

*Amazon EKS 最適化 Kubecost バンドル*は追加料金なしで引き続き利用でき、Kubecost v3 無料利用枠で導入された新しい 100,000 USD の支出制限から除外されます。EKS ユーザーは、支出レベルに関係なく、すべての Kubernetes 支出機能へのフルアクセスを保持します。

 **主要機能の比較:** 


| 機能 | Kubecost 無料利用枠 3.0 | Amazon EKS 最適化 Kubecost バンドル 3.0 | Kubecost Enterprise 3.0 | 
| --- | --- | --- | --- | 
|  [クラスターコストの可視化]  |  30 日間で 100,000 USD の支出をゲートとする無制限のクラスター  |  支出制限のない統合マルチクラスター  |  無制限の数の環境 (マルチクラウドなど) で統合クラスターの数が無制限  | 
|  データベースバックエンド  |  ClickHouse (ローカル)  |  マルチクラスターメトリクス用の S3 互換ストレージを備えた ClickHouse  |  カスタムデータベースオプションを使用した ClickHouse  | 
|  パフォーマンス  |  v2 よりも大幅に高速なクエリ  |  v2 よりも大幅に高速なクエリ  |  v2 よりも大幅に高速なクエリ  | 
|  メモリフットプリント  |  v2 と比較して縮小 (Prometheus の依存関係なし)  |  v2 と比較して縮小 (Prometheus の依存関係なし)  |  v2 と比較して縮小 (Prometheus の依存関係なし)  | 
|  自動コンテナリクエストのサイズ設定  |  使用可能 (250 コアに制限)  |  コア制限なしで使用可能  |  コア制限なしで使用可能  | 
|  支出制限  |  30 日間で 100,000 USD  |  支出制限なし  |  支出制限なし  | 
|  マルチクラスターオートメーション  |  制限あり  |  安全なメッセージングによる完全マルチクラスター対応  |  安全なメッセージングによる完全マルチクラスター対応  | 

## Kubecost v2
<a name="kubecost-v2"></a>

 **Kubecost の v1 と v2 の違いは何ですか?**

Kubecost 2.0 は以前のバージョンからのメジャーアップグレードであり、まったく新しい API バックエンドなどの主要な新機能が含まれています。なお、[Allocation](https://www.ibm.com/docs/en/kubecost/self-hosted/2.x?topic=apis-allocation-api) API と [Assets](https://www.ibm.com/docs/en/kubecost/self-hosted/2.x?topic=apis-assets-api) API は完全に下位互換性があります。[Kubecost ドキュメントを確認して、スムーズに移行してください。](https://www.ibm.com/docs/en/kubecost/self-hosted/2.x?topic=installation-kubecost-v2-installupgrade)機能強化の完全なリストについては、[Kubecost v2.0 の発表](https://github.com/kubecost/cost-analyzer-helm-chart/releases/tag/v2.0.0)と[すべてのリリースノート](https://github.com/kubecost/cost-analyzer-helm-chart/releases)を参照してください。

**重要**  
 [アップグレードの前に Kubecost ドキュメントを確認してください。](https://www.ibm.com/docs/en/kubecost/self-hosted/2.x)アップグレードすると、レポートの可用性に影響する場合があります。

 **主要機能の比較:** 


| 機能 | Kubecost 無料利用枠 2.0 | Amazon EKS 最適化 Kubecost バンドル 2.0 | Kubecost Enterprise 2.0 | 
| --- | --- | --- | --- | 
|  [クラスターコストの可視化]  |  クラスター数に制限なし (コア数は最大 250)  |  Amazon Managed Service for Prometheus と統合した場合、コア制限のない統合マルチクラスター  |  無制限の数の環境 (マルチクラウドなど) で統合クラスターの数が無制限  | 
|  デプロイ  |  ユーザーホスト  |  ユーザーホスト  |  ユーザーホスティング、Kubecost ホスティング (専用テナント)、SaaS  | 
|  [サポートされるデータベース]  |  ローカル Prometheus  |  Amazon Managed Service for Prometheus またはローカル Prometheus  |  任意の Prometheus 風およびカスタムのデータベース  | 
|  データベース保持のサポート (未加工メトリクス)  |  15 日間  |  無制限の履歴データ  |  無制限の履歴データ  | 
|  Kubecost API および UI の保持 (ETL)  |  15 日間  |  15 日間  |  無制限  | 
|  [ハイブリッドクラウドの可視性]  |  -  |  Amazon EKS と Amazon EKS Anywhere クラスター  |  マルチクラウドおよびハイブリッドクラウド  | 
|  [アラートと定期レポート]  |  プライマリクラスターでのみサポート、250 コアに制限  |  すべてのクラスターで[効率性アラート、予算アラート、支出変更アラートなどをサポート](https://www.ibm.com/docs/en/kubecost/self-hosted/2.x?topic=navigating-kubecost-ui#ariaid-title6)  |  すべてのクラスターで[効率性アラート、予算アラート、支出変更アラートなどをサポート](https://www.ibm.com/docs/en/kubecost/self-hosted/2.x?topic=navigating-kubecost-ui#ariaid-title6)  | 
|  [保存されたレポート]  |  -  |  15 日間のメトリクスを使用したレポート  |  無制限の履歴データおよびメトリクスを使用したレポート  | 
|  [クラウド請求の統合]  |  プライマリクラスターでのみサポート、250 コアに制限  |  AWS のカスタム価格サポート (複数のクラスターと複数のアカウントを含む)  |  任意のクラウドに対するカスタム料金のサポート  | 
|  [割引に関する推奨事項]  |  プライマリクラスターでのみサポート、250 コアに制限  |  プライマリクラスターのインサイト、ただし 250 コアの制限なし  |  マルチクラスターの洞察  | 
|  [ガバナンス: 監査]  |  -  |  -  |  過去のコストイベントの監査  | 
|  [シングルサインオン (SSO) のサポート]  |  -  |  Amazon Cognito のサポート  |  Okta、Auth0、PingID、KeyCloak、その他のカスタムのもの  | 
|  SAML 2.0 使用したロールベースのアクセスコントロール (RBAC)  |  -  |  -  |  Okta、Auth0、PingID、KeyCloak、その他のカスタムのもの  | 
|  [エンタープライズトレーニングとオンボーディング]  |  -  |  -  |  フルサービストレーニングおよび FinOps オンボーディング  | 
|  チーム  |  -  |  -  |  あり  | 

 **新機能:** 

以下の機能にはメトリクス制限があります。
+ Kubecost アグリゲータ
+ ネットワークモニタリング
+ Kubecost アクション
+ コレクション
+ 異常検出
+ コンテナリクエストの適切なサイズ設定
+ Kubecost 予測
+ フィルタリングと集計のオートコンプリート

 **メトリクスの制限:** 


| メトリクス | Kubecost 無料利用枠 2.0 | Amazon EKS 最適化 Kubecost バンドル 2.0 | Kubecost Enterprise 2.0 | 
| --- | --- | --- | --- | 
|  クラスターサイズ  |  クラスター数に制限なし (コア数は最大 250)  |  無制限  |  無制限  | 
|  メトリクスの保持  |  15 日間  |  15 日間  |  無制限  | 
|  マルチクラスターのサポート  |  利用不可  |  利用可能  |  使用可能  | 
|  コアの制限  |  クラスターあたり 250 コア  |  コア制限なし  |  コア制限なし  | 

## Kubecost v1
<a name="kubecost-v1"></a>


| 機能 | Kubecost 無料利用枠 | Amazon EKS 最適化 Kubecost バンドル | Kubecost Enterprise | 
| --- | --- | --- | --- | 
|   **デプロイメント**   |  ユーザーホスト  |  ユーザーホスト  |  ユーザーホストまたは Kubecost ホスト (SaaS)  | 
|   **[サポートされるクラスター数]**   |  無制限  |  無制限  |  無制限  | 
|   **[サポートされるデータベース]**   |  ローカル Prometheus  |  ローカル Prometheus または Amazon Managed Service for Prometheus  |  Prometheus、Amazon Managed Service for Prometheus、Cortex、または Thanos  | 
|   **[データベース保持サポート]**   |  15 日間  |  無制限の履歴データ  |  無制限の履歴データ  | 
|   **Kubecost API 保持 (ETL)**   |  15 日間  |  15 日間  |  無制限の履歴データ  | 
|   **[クラスターコストの可視化]**   |  単一クラスター  |  統合マルチクラスター  |  統合マルチクラスター  | 
|   **[ハイブリッドクラウドの可視性]**   |  -  |  Amazon EKS と Amazon EKS Anywhere クラスター  |  マルチクラウドとハイブリッドクラウドのサポート  | 
|   **[アラートと定期レポート]**   |  -  |  効率性アラート、予算アラート、支出変更アラートなどをサポート  |  効率性アラート、予算アラート、支出変更アラートなどをサポート  | 
|   **[保存されたレポート]**   |  -  |  15 日間のデータを使用したレポート  |  無制限の履歴データを使用したレポート  | 
|   **[クラウド請求の統合]**   |  個々のクラスターに必須  |  AWS のカスタム価格サポート (複数のクラスターと複数のアカウントを含む)  |  AWS のカスタム価格サポート (複数のクラスターと複数のアカウントを含む)  | 
|   **[割引に関する推奨事項]**   |  単一クラスターの洞察  |  単一クラスターの洞察  |  マルチクラスターの洞察  | 
|   **[ガバナンス: 監査]**   |  -  |  -  |  過去のコストイベントの監査  | 
|   **[シングルサインオン (SSO) のサポート]**   |  -  |  Amazon Cognito のサポート  |  Okta、Auth0、PingID、KeyCloak  | 
|   **[SAML `2.0` を使用したロールベースのアクセスコントロール (RBAC)]**   |  -  |  -  |  Okta、Auth0、PingID、Keycloak  | 
|   **[エンタープライズトレーニングとオンボーディング]**   |  -  |  -  |  フルサービストレーニングおよび FinOps オンボーディング  | 

## よくある質問
<a name="cost-monitoring-faq"></a>

Amazon EKS での Kubecost の使用に関する次の一般的な質問と回答を参照してください。

 **Kubecost API 保持 (ETL) 機能とは何ですか?**

Kubecost ETL 機能では、メトリクスを集約して整理し、さまざまな詳細度レベル (`namespace-level`、`pod-level`、`deployment-level`など) で表面的なコストを可視化します。*Amazon EKS 最適化 Kubecost バンドル*では、お客様は過去 15 日間のメトリクスからデータとインサイトを取得します。

 **アラート機能と定期レポート機能とは何ですか? どのようなアラートとレポートが含まれていますか?**

Kubecost アラートにより、チームはリアルタイムの Kubecost 支出とクラウド支出に関する最新情報を受け取ることができます。定期レポートでは、チームは Kubernetes 支出とクラウド支出の履歴のカスタマイズされたビューを受け取ることができます。どちらも、Kubecost UI または Helm 値で設定できます。E メール、Slack、Microsoft Teams がサポートされています。

 **保存されたレポートには何が含まれていますか?**

Kubecost の保存されたレポートは、コストと効率のメトリクスに関する事前定義されたビューです。クラスター、名前空間、ラベル、その他を基準とするコストが含まれます。

 **クラウド請求インテグレーションとは何ですか?**

AWS 請求 API との統合により、Kubecost でクラスター以外のコスト (Amazon S3 など) を表示できます。さらに、Kubecost で、スポット使用量、Savings Plans、法人割引を考慮して、Kubecost のクラスター内予測を実際の請求データと一致させられるようになります。

 **割引に関する推奨事項にはどのようなものがありますか?**

Kubecost では、ユーザーが Kubernetes インフラストラクチャおよび支出を最適化するのに役立つインサイトと自動化が提供されます。

 **この機能には料金がかかりますか?**

いいえ。*Amazon EKS 最適化 Kubecost バンドル*は、追加料金なしで使用できます。これに含まれていない Kubecost 機能が追加で必要な場合は、AWS Marketplace を通じて、または直接 Kubecost から、Kubecost のエンタープライズライセンスを購入できます。

 ***Amazon EKS 最適化 Kubecost バンドル*では、サポートを利用できますか?**

はい。*Amazon EKS 最適化 Kubecost バンドル*を使用している場合にのみ利用可能です。

 **どうすれば、*Amazon EKS 最適化 Kubecost バンドル*のサポートを受けることができますか?**

[AWS へのお問い合わせ](https://aws.amazon.com/contact-us/)から AWS サポートチームに対してサポートケースを開くことができます。

 **Amazon EKS 統合によって提供される Kubecost 機能を使用するのにライセンスが必要ですか?**

いいえ。

 **より正確なレポートを作成するために、Kubecost と AWS コストと使用状況レポートを統合できますか?**

はい。AWS コストと使用状況レポートからデータを取り込むように Kubecost を構成することで、割引、スポット料金、予約インスタンス料金などを含む正確なコストを可視化することができます。詳細については、Kubecost ドキュメントの「[AWS Cloud Billing Integration](https://www.ibm.com/docs/en/kubecost/self-hosted/2.x?topic=integrations-aws-cloud-billing-integration)」を参照してください。

 **このバージョンは、Amazon EC2 でのセルフマネージド Kubernetes クラスターのコスト管理をサポートしていますか?**

いいえ。*Amazon EKS 最適化 Kubecost バンドル*は、Amazon EKS クラスターとのみ互換性があります。

 **Kubecost は AWS Fargate での Amazon EKS のコストを追跡できますか?**

Kubecost では、Fargate での Amazon EKS のクラスターコストが可能な限り可視化されますが、Amazon EC2 での Amazon EKS に比べて精度が低くなります。これは主に、使用量に対する課金方法の違いによるものです。Fargate での Amazon EKS では、消費したリソースに対して課金されます。Amazon EC2 ノードでの Amazon EKS では、プロビジョニングしたリソースに対して課金されます。Kubecost は、CPU、RAM、エフェメラルストレージなどのノード仕様に基づいて Amazon EC2 ノードのコストを計算します。Fargate では、コストは Fargate ポッドのリクエストされたリソースに基づいて計算されます。

 **Kubecost の更新と新バージョンはどうすれば入手できますか?**

Kubecost バージョンは、標準の Helm アップグレード手順でアップグレードできます。Kubecost v3 の場合、最新バージョンは新しい Helm チャートの場所 `public.ecr.aws/kubecost/kubecost` で入手できます。以前のバージョン (v1 および v2) は、[Amazon ECR Public Gallery](https://gallery.ecr.aws/kubecost/cost-analyzer) で引き続き使用できます。

**重要**  
Kubecost v3 にアップグレードする場合、Helm チャートの場所が `public.ecr.aws/kubecost/cost-analyzer` から `public.ecr.aws/kubecost/kubecost` に変更されていることに注意してください。それに応じて Helm リポジトリのリファレンスを更新してください。

 **`kubectl-cost` CLI はサポートされていますか? どのようにインストールすればよいですか?**

はい。`Kubectl-cost` は、Kubecost (Apache 2.0 ライセンス) によるオープンソースツールで、Kubernetes コスト配分のメトリクスに CLI でアクセスできます。`kubectl-cost` をインストールするには、「GitHub」の「[インストール](https://github.com/kubecost/kubectl-cost#installation)」を参照してください。

 **Kubecost ユーザーインタフェイスはサポートされていますか? どうすれば使用できますか?**

Kubecost では、`kubectl` ポート転送、イングレス、またはロードバランサーを介してアクセスできる Web ダッシュボードが提供されます。または、AWS Load Balancer Controller を使用して Kubecost を公開し、Amazon Cognito を使用して認証、認可、およびユーザー管理を行うこともできます。詳細については、AWS ブログの「[How to use Application Load Balancer and Amazon Cognito to authenticate users for your Kubernetes web apps](https://aws.amazon.com/blogs/containers/how-to-use-application-load-balancer-and-amazon-cognito-to-authenticate-users-for-your-kubernetes-web-apps)」を参照してください。

 **Kubecost v3 の新しい 100,000 USD の支出制限は Amazon EKS ユーザーに影響しますか?**

いいえ。Kubecost v3 無料利用枠に導入される 30 日間の 100,000 USD 支出制限は、*Amazon EKS 最適化 Kubecost バンドル*ユーザーには適用されません。EKS ユーザーは、支出レベルに関係なく、すべての Kubernetes 支出機能へのフルアクセスを保持します。

 **Kubecost v3 での主なパフォーマンス改善点はどんなものがありますか?**

Kubecost v3 では、ClickHouse データベースバックエンドの導入によりパフォーマンスが大幅に向上しています。これにより、v2.8 で使用している DuckDB と比較してクエリが大幅に高速化されます。さらに、統合エージェントアーキテクチャは Prometheus の依存関係を排除し、フル機能と OpenCost の互換性を維持しながらメモリフットプリントを縮小します。

 **Kubecost v3 はマルチクラスターデプロイにどのようなストレージバックエンドを使用しますか?**

Kubecost v3 では、v2 で使用されていた Prometheus 互換ストレージに代わり、マルチクラスターメトリクスストレージとして S3 互換オブジェクトストレージ (EKS のお客様の場合は AWS S3) を使用します。FinOps エージェントは、Kubernetes API からメトリクスを収集し、S3 互換ストレージにプッシュします。次に、アグリゲータはこのデータを取得し、コスト計算を実行し、フロントエンドに結果を表示します。マルチクラスターの設定手順の詳細については、Kubecost ドキュメントの「[Multi-Cluster Installation](https://www.ibm.com/docs/en/kubecost/self-hosted/3.x?topic=installation-multi-cluster)」と「[Secondary Clusters Guide](https://www.ibm.com/docs/en/kubecost/self-hosted/3.x?topic=cluster-secondary-clusters-guide)」を参照してください。

 **Kubecost v1 から v3 に直接アップグレードできますか?**

いいえ。v1 から v3 への直接アップグレードはサポートされていません。まず v2 にアップグレードしてから v3 に移行する必要があります。このプロセスには慎重なプランニングが必要であり、移行中のレポートの可用性に影響する可能性もあるため、詳細な移行ガイダンスについては Kubecost ドキュメントを参照してください。

## Kubecost のその他の機能
<a name="kubecost-additional"></a>
+ Kubecost の v1、v2、v3 で次の機能を使用できます。
  +  **コストメトリクスのエクスポート** – Amazon EKS 最適化コストモニタリングは Kubecost でデプロイされます。v1 および v2 では、Kubecost は Prometheus と統合してメトリクスの保存と処理を行います。v3 では、Kubecost は ClickHouse データベースを使用して、OpenCost の互換性を維持しながらパフォーマンスを大幅に向上させます。v3 のマルチクラスターデプロイの場合、メトリクスは Prometheus 互換ストレージではなく S3 互換オブジェクトストレージ (EKS のお客様の場合は AWS S3) に保存されます。Kubecost は、メトリクスを読み取り、コスト配分計算を実行し、API とユーザーインターフェイスを通じてデータを提供します。アーキテクチャはバージョンによって異なりますが、一貫した機能性は維持されます。  
![\[Kubecost アーキテクチャ\]](http://docs.aws.amazon.com/ja_jp/eks/latest/userguide/images/kubecost-architecture.png)

    クエリを記述して Kubecost データをインジェストし、お使いのビジネスインテリジェンスシステムに取り込んでさらに分析できます。また、現在の [Grafana](https://grafana.com/) ダッシュボードのデータソースとして使用して、社内チームが精通している Amazon EKS クラスターの費用を表示することもできます。クエリの記述方法の詳細については「[OpenCost Configuration](https://opencost.io/docs/installation/prometheus/)」ドキュメントを参照するか、「[Kubecost Github リポジトリ](https://github.com/kubecost/cost-analyzer-helm-chart/tree/develop/cost-analyzer)」の Grafana JSON モデル例を参考にしてください。
  +  **AWS コストと使用状況レポートの統合** — Amazon EKS クラスターのコスト配分計算を実行するために、Kubecost は AWS Price List API から AWS サービスおよび AWS リソースの公開価格情報を取得します。Kubecost と** AWS コストと使用状況レポート**を統合して、AWS アカウントに固有の価格情報の正確性を高めることもできます。この情報には、エンタープライズディスカウントプログラム、リザーブドインスタンスの使用量、Savings Plans、スポット使用量が含まれます。AWS コストと使用状況レポートの統合の動作方法の詳細については、Kubecost ドキュメントの「[AWS Cloud Billing Integration](https://www.ibm.com/docs/en/kubecost/self-hosted/3.x?topic=integrations-aws-cloud-billing-integration)」を参照してください。

# Kubernetes Metrics Server でのリソース使用状況の表示
<a name="metrics-server"></a>

Kubernetes Metrics Server は、クラスター内のリソース使用状況データを集約する働きをし、デフォルトでは Amazon EKS クラスターにデプロイされません。詳細については、GitHub の「[Kubernetes Metrics Server (Kubernetes メトリクスサーバー)](https://github.com/kubernetes-sigs/metrics-server)」を参照してください。Kubernetes Metrics Server は、[Scale pod deployments with Horizontal Pod Autoscaler](horizontal-pod-autoscaler.md) や [Kubernetes Dashboard](eks-managing.md) など他の Kubernetes アドオンによってよく使用されます。詳細については、Kubernetes ドキュメントの「[Resource metrics pipeline](https://kubernetes.io/docs/tasks/debug/debug-cluster/resource-metrics-pipeline/)」を参照してください。このトピックでは、Kubernetes メトリクスサーバーを Amazon EKS クラスターにデプロイする方法について説明します。

**重要**  
メトリクスはポイントインタイム分析を目的としており、履歴分析の正確なソースではありません。監視ソリューションとして、またはその他の自動スケーリング以外の目的には使用できません。監視ツールの詳細については「[クラスターのパフォーマンスをモニタリングし、ログを表示する](eks-observe.md)」を参照してください。

## 考慮事項
<a name="_considerations"></a>
+ マニフェストを使用して Kubernetes メトリクスサーバーを Fargate ノードに手動でデプロイする場合は、デフォルトの `10250` 以外のポートを使用するように `metrics-server` デプロイを設定します。このポートは Fargate で予約されています。メトリクスサーバーの Amazon EKS アドオンバージョンは、`10251` ポートを使用するように事前設定されています。
+ セキュリティグループとネットワーク ACL で、`metrics-server` ポッドと他のすべてのノードおよびポッド間の `10250` ポートが許可されていることを確認します。Kubernetes メトリクスサーバーでは、引き続き `10250` ポートを使用してクラスター内の他のエンドポイントからメトリクスを収集します。Fargate ノードにデプロイする場合は、設定された代替メトリクスサーバーポートと `10250` ポートの両方を許可します。

## Amazon EKS アドオンを使用してコミュニティアドオンとしてデプロイする
<a name="_deploy_as_community_add_on_with_amazon_eks_add_ons"></a>

 **新規: AWSコンソールまたは Amazon EKS APIs Server をコミュニティアドオンとしてデプロイできるようになりました。**

### AWS コンソールでデプロイ
<a name="deploy_with_shared_aws_console"></a>

1. AWS コンソールで EKS クラスターを開きます

1. 「アドオン」タブから **Get More Add-ons**.を選択します。

1. 「コミュニティアドオン」セクションで、**メトリクスサーバー**を選択し、次**へ**を選択してください。

1. EKS はクラスターに適したバージョンのアドオンを決定します。**バージョン**ドロップダウン メニューを使用してバージョンを変更できます。

1. **次へ** を選択し、**作成** を選択してアドオンをインストールします。

### その他のリソース
<a name="_additional_resources"></a>

[コミュニティアドオン](community-addons.md) の詳細を確認してください。

コミュニティアドオンは他の Amazon EKS アドオンと同じ方法でインストールまたは更新します。
+  [Amazon EKS アドオンを作成する](creating-an-add-on.md) 
+  [Amazon EKS アドオンを更新する](updating-an-add-on.md) 
+  [クラスターから Amazon EKS アドオンを削除する](removing-an-add-on.md) 

## マニフェストを使用してデプロイする
<a name="_deploy_with_manifest"></a>

 **新規: AWSコンソールまたは Amazon EKS APIs Server をコミュニティアドオンとしてデプロイできるようになりました。これらのマニフェストのインストール手順はアーカイブされます。**

1. 次のコマンドを使用してメトリクスサーバーをデプロイします。

   ```
   kubectl apply -f https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/components.yaml
   ```

   Fargate を使用している場合はこのファイルを変更する必要があります。デフォルト設定ではメトリクスサーバーはポート 10250 を使用します。このポートは Fargate で予約されています。components.yaml のポート 10250 への参照を 10251 などの別のポートに置き換えます。

1. 次のコマンドを使用して、`metrics-server` デプロイで必要な数の Pod が実行されていることを確認します。

   ```
   kubectl get deployment metrics-server -n kube-system
   ```

   出力例は次のとおりです。

   ```
   NAME             READY   UP-TO-DATE   AVAILABLE   AGE
   metrics-server   1/1     1            1           6m
   ```

1. ノードのリソース (CPU/メモリ) 使用状況を表示して、メトリクスサーバーが動作しているかテストします。

   ```
   kubectl top nodes
   ```

1. エラーメッセージ `Error from server (Forbidden)` が表示された場合はKubernetes RBAC 設定を更新する必要があります。Kubernetes RBAC ID にはクラスターメトリクスを読み取るための十分なアクセス許可が必要です。[メトリクスを読み取るために必要な最低限の Kubernetes API アクセス許可](https://github.com/kubernetes-sigs/metrics-server/blob/e285375a49e3bf77ddd78c08a05aaa44f2249ebd/manifests/base/rbac.yaml#L5C9-L5C41)を GitHub で確認します。[役割などの AWS IAM ID に Kubernetes API へのアクセス権を付与する](grant-k8s-access.md#authentication-modes)方法について説明します。

# Helm を使用して Amazon EKS にアプリケーションをデプロイする
<a name="helm"></a>

Kubernetes 用の Helm パッケージマネージャーを使用すると、Kubernetes クラスターにアプリケーションをインストールし、管理できます。詳細については[Helm のドキュメント](https://docs.helm.sh/)を参照してください。このトピックはHelm バイナリをインストールして実行する際に役立ちます。これにより、ローカルシステムで Helm CLI を使用してチャートをインストールおよび管理することができます。

**重要**  
Amazon EKS クラスターに Helm チャートをインストールするにはあらかじめ Amazon EKS で動作するように `kubectl` を設定しておく必要があります。この設定をまだ行っていない場合は続行する前に「[kubeconfig ファイルを作成して kubectl を EKS クラスターに接続する](create-kubeconfig.md)」を参照してください。次のコマンドがクラスターに対して成功した場合は正しく設定されています。  

```
kubectl get svc
```

1. クライアントオペレーティングシステムに適したコマンドを実行してください。
   + macOS で [Homebrew](https://brew.sh/) を使用している場合は次のコマンドを使用してバイナリをインストールします。

     ```
     brew install helm
     ```
   + その他のインストールオプションについては、Helm ドキュメントの「[Helm のインストール](https://helm.sh/docs/intro/install/)」を参照してください。
**注記**  
最初に `openssl` をインストールする必要があるというメッセージを受け取った場合、次のコマンドを使用してインストールできます。

```
sudo yum install openssl
```

1. `PATH` で新しいバイナリを取得するため、現在のターミナルウィンドウを閉じて新しいターミナルウィンドウを開きます。

1. インストールした Helm のバージョンを確認してください。

   ```
   helm version --template='{{ .Version }}{{ "\n" }}'
   ```

   出力例は次のとおりです。

   ```
   v3.17.2
   ```

1. インストールされているバージョンがクラスターのバージョンと互換性があることを確認してください。詳細については、「[Supported Version Skew](https://helm.sh/docs/topics/version_skew/#supported-version-skew)」を確認してください。例えば、`3.17.x` で稼働している場合、サポート対象の Kubernetes バージョンは `1.29.x` ～ `1.32.x` の範囲外であってはなりません。

1. この時点で、任意の Helm コマンド (`helm install chart-name ` など 実行して、クラスター内の Helm チャートをインストール、変更、削除、またはクエリすることができます。Helm を初めて使用する場合で、インストールするチャートがないときは次の操作を実行できます：
   + サンプルチャートをインストールして試します。Helm の「[クイックスタートガイド](https://helm.sh/docs/intro/quickstart/)」の「[サンプルチャートをインストールする](https://helm.sh/docs/intro/quickstart#install-an-example-chart)」を参照してください。
   + サンプルチャートを作成し、Amazon ECR にプッシュします。詳細については「*Amazon Elastic Container Registry ユーザーガイド*」の「[Pushing a Helm chart (Helm チャートをプッシュする)](https://docs.aws.amazon.com/AmazonECR/latest/userguide/push-oci-artifact.html)」を参照してください。
   + [eks-charts](https://github.com/aws/eks-charts#eks-charts) GitHub リポジトリか [ArtifactHub](https://artifacthub.io/packages/search?page=1&repo=aws) から Amazon EKS チャートをインストールします。

# タグを使用して 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)」を参照してください。

# Amazon EKS と Fargate Service Quotas を表示して管理する
<a name="service-quotas"></a>

Amazon EKS は、Service Quotas と統合されています。Service Quotas は、クォータを一元的な場所から表示および管理するために使用できる AWS サービスです。詳細については、*Service Quotas ユーザーガイド*の「[What Is Service Quotas?](https://docs.aws.amazon.com/servicequotas/latest/userguide/intro.html)」を参照してください。Service Quotas との統合により、AWS マネジメントコンソール および AWS CLI を使用して、Amazon EKS および AWS Fargate Service Quotas の値を簡単に検索できます。

## AWS マネジメントコンソール で EKS Service Quotas を表示する
<a name="service-quotas-console"></a>

1. [Service Quotas コンソール](https://console.aws.amazon.com/servicequotas/home/services/eks/quotas)を開きます。

1. 左のナビゲーションペインで **[AWS サービス**] を選択します。

1. **[AWS サービス]** リストから、**[Amazon Elastic Kubernetes Service (Amazon EKS)]** または **[AWS Fargate]** を選択します。

   **[Service Quotas]** の一覧には、Service Quotas 名、適用された値 (使用可能な場合)、AWS のデフォルトのクォータ、クォータ値が調整可能かどうかが表示されます。

1. 説明など、Service Quotas に関する追加情報を表示するには、クォータ名を選択します。

1. (オプション) クォータの引き上げをリクエストするには、**[Request quota increase (クォータ引き上げリクエスト)]** を選択、または必要な情報を入力または選択して、**[Request (リクエスト)]** を選択します。

AWS マネジメントコンソール を使用してさらに Service Quotas の操作を行うには、「[Service Quotas ユーザーガイド](https://docs.aws.amazon.com/servicequotas/latest/userguide/intro.html)」を参照してください。クォータの引き上げをリクエストするには、*Service Quotas ユーザーガイド* の「[クォータ引き上げリクエスト](https://docs.aws.amazon.com/servicequotas/latest/userguide/request-quota-increase.html)」を参照してください。

## AWS CLI で EKS サービスクォータを表示する
<a name="view_eks_service_quotas_with_the_shared_aws_cli"></a>

次のコマンドを実行して、Amazon EKS クォータを表示します。

```
aws service-quotas list-aws-default-service-quotas \
    --query 'Quotas[*].{Adjustable:Adjustable,Name:QuotaName,Value:Value,Code:QuotaCode}' \
    --service-code eks \
    --output table
```

次のコマンドを実行して、Fargate クォータを表示します。

```
aws service-quotas list-aws-default-service-quotas \
    --query 'Quotas[*].{Adjustable:Adjustable,Name:QuotaName,Value:Value,Code:QuotaCode}' \
    --service-code fargate \
    --output table
```

**注記**  
返されるクォータは、現在の AWS リージョンのこのアカウントの Fargate で同時に実行可能な Amazon ECS タスクまたは Amazon EKS Pod の数です。

AWS CLI を使用して、さらに Service Quotas の操作を実行するには、*AWS CLI コマンドリファレンス*の「[Service Quotas](https://docs.aws.amazon.com/cli/latest/reference/service-quotas/index.html)」を参照してください。クォータの引き上げをリクエストするには、*AWS CLI コマンドリファレンス*の [request-service-quota-increase](https://docs.aws.amazon.com/cli/latest/reference/service-quotas/request-service-quota-increase.html) コマンドを参照してください。

## Amazon EKS Service Quotas
<a name="sq-text"></a>

 AWS では、AWS マネジメントコンソール を使用して現在のクォータを表示することをお勧めします。詳細については、「[AWS マネジメントコンソール で EKS Service Quotas を表示する](#service-quotas-console)」を参照してください。

デフォルトの EKS サービスクォータを表示するには、「*AWS 全般のリファレンス*」の「[Amazon Elastic Kubernetes Service endpoints and quotas](https://docs.aws.amazon.com/general/latest/gr/eks.html#limits_eks)」を参照してください。

これらの Service Quotas は、Service Quotas コンソールの **[Amazon Elastic Kubernetes Service (Amazon EKS)]** に表示されます。調整可能として表示される値のクォータの引き上げをリクエストすることもできます。「*Service Quotas ユーザーガイド*」の「[クォータ引き上げのリクエスト](https://docs.aws.amazon.com/servicequotas/latest/userguide/request-quota-increase.html)」を参照してください。

**注記**  
Service Quotas では、次のコンポーネントの調整はサポートされて**いません**。\$1 クラスターごとの Pod Identity の関連付け。制限については、「[EKS Pod Identity が Pod に AWS サービスへのアクセス権を付与する仕組みを学ぶ](pod-identities.md)」を参照してください。\$1 リモートノードネットワーク用の CIDR またはハイブリッドノード用のリモートポッドネットワーク。制限については、「[Amazon EKS Hybrid Nodes の概要](hybrid-nodes-overview.md)」を参照してください。

## AWS Fargate サービスクォータ
<a name="service-quotas-eks-fargate"></a>

Service Quotas コンソールの **AWS Fargate** サービスは、いくつかのサービスクォータを一覧表示します。使用量がサービスクォータに近づいたときに警告するアラームを設定することもできます。詳細については、「[Fargate のリソース使用状況メトリクスをモニタリングするための CloudWatch アラームの作成](monitoring-fargate-usage.md#service-quota-alarm)」を参照してください。

新規 AWS アカウントの初期の低いクォータは、経時的に引き上げられる可能性があります。Fargate は、各 AWS リージョン内のアカウント使用率を常に監視し、使用率に基づいてクォータを自動的に引き上げます。調整可能として表示される値のクォータの引き上げをリクエストすることもできます。詳細については、「*Service Quotas ユーザーガイド*」の「[クォータの引き上げのリクエスト](https://docs.aws.amazon.com/servicequotas/latest/userguide/request-quota-increase.html)」を参照してください。

 AWS では、AWS マネジメントコンソール を使用して現在のクォータを表示することをお勧めします。詳細については、「[AWS マネジメントコンソール で EKS Service Quotas を表示する](#service-quotas-console)」を参照してください。

AWS Fargate on EKS のデフォルトのサービスクォータを表示するには、「*AWS 全般のリファレンス*」の「[Fargate サービスクォータ](https://docs.aws.amazon.com/general/latest/gr/eks.html#service-quotas-eks-fargate)」を参照してください。

**注記**  
Fargate は、Amazon ECS タスクと Amazon EKS Pod の起動レートクォータを追加で適用します。詳細については、「*Amazon ECS ガイド*」の「[AWS Fargate スロットリングのクォータ](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/throttling.html)」を参照してください。