EKS コストを分析 する
Cloud Analytics は、EKS クラスタメトリクスを AWS 請求データと統合します。Kubernetes リソースや、プラットフォームでサポートされているその他のディメンションとラベル別に EKS コストをブレイクダウンできます。
EKS コストの構成要素
EKS コストを分析する際には、Amazon EKS では EKS サービスそのものと、ワークロードが使用する AWS リソースに対して個別に料金が発生することを理解しておくことが重要です。
-
EKS サービスコスト: Amazon EKS pricing には、Kubernetes クラスタバージョンサポートに基づくクラスタごとの料金、Amazon EKS Auto Mode の料金、および Amazon EKS Hybrid Nodes の vCPU あたりの料金が含まれます。
-
リソースコスト: Kubernetes ワーカーノード上でアプリケーションを実行するために使用するリソースには、別途料金が発生します。たとえば、EKS クラスタで EC2 インスタンスを使用している場合、EC2 の料金に従って課金されます。EBS ボリューム(ストレージ)やデータ転送(ネットワーク)のコストについても同様です。
EKS ラベル
EKS ラベルは Pods レベルで付与されます。EKS ラベルを使用して Kubernetes リソースの使用状況を追跡し、プロジェクトコストを分析し、コスト最適化の機会を特定できます。
Cloud Analytics のレポートでは、EKS ラベルは EKS Labels セクションの下にグループ化されており、次の 2 つのカテゴリで構成されます。
-
Kubernetes メタデータ: Kubernetes オブジェクトを一意に識別するのに役立つデータで、
EKS billing_source、EKS cluster name、EKS namespace、EKS deployment_kind、EKS pod、EKS uid、EKS pod_owner_name、EKS nodegroup nameが含まれます。 -
カスタムラベル: お客様側で定義・付与するラベルです。これらのラベルはコンソール上で
label_プレフィックス付きで表示されます(例:label_k8s_app)。
EKS namespace のコストは、その namespace 内の少なくとも 1 つの Pod にリソースリクエストが設定されている場合にのみ、Cloud Analytics レポートに表示されます。 CUR の請求アイテムを分割するために、リクエストに基づいて Kubernetes コンポーネントのコストを計算します。ある namespace に、リクエストが設定された Pod が 1 つも存在しない場合、その namespace のコストは計算されません。
加えて、次の 2 つのラベル値は、アロケーションされていないリソースの追跡に特に役立ちます。
-
[Label N/A]は通常、特定の Kubernetes リソースにアトリビュートできなかったアイテムを示します。これには、ストレージやネットワークなどクラスタレベルのリソースのコスト、UNREQUESTED_COSTSが発生しているノード、Kubernetes メトリクス収集が特定のワークロードの詳細を取得できなかった場合のメタデータ欠損リソースなどが含まれます。 -
UNREQUESTED_COSTSは、特定の Pod にアトリビュートできないノードレベルのコスト(いずれの実行中 Pod にも消費されていない、各ノード上の残余コスト)を表します。
Cloud Analytics は EKS メトリクスを AWS 請求データと統合しているため、同じレポート内で、EKS ラベルと他の AWS リソースに付与された AWS cost allocation tags を組み合わせて使用できます。
必要な権限
Cloud Analytics レポートを作成および実行するには、コンソールで Cloud Analytics User 権限が必要です。
レポート例
コンソールには、Amazon EKS の支出のさまざまな側面を強調表示するレポートウィジェットを備えた、あらかじめ構成済みの EKS Intelligence ダッシュボードが用意されています。EKS ラベルやその他のディメンションを使用して独自のレポートを作成することもできます。以下にいくつかの例を示します。
Namespace と Pod オーナー別のコスト内訳
この例では、前月における EKS クラスタ eks-cluster-1 のコストを、namespace と pod オーナー別にブレイクダウンしています。

コストタイプと SKU 別のコスト内訳
この例では、cost type と SKU 別に、EKS クラスタコストをさらにブレイクダウンしています。

サービス間のコストアロケーション
この例では、組織はラベル Team を使用して、異なるエンティティによって要求された AWS リソースを区別しています。同じレポート内で EKS とその他の AWS サービスのコストを表示するには、標準ラベル Team と EKS カスタムラベル EKS label_team の両方を含めることができます。(あるいは、標準ラベルと対応する EKS カスタムラベルを含むアロケーションを作成し、その後に Allocate costs することもできます。)
