EKS コストを分析する
DoiT Cloud Analytics(クラウド分析)は、EKS クラスタメトリクスと AWS の請求データを統合します。これにより、EKS コストを Kubernetes リソースや、DoiT プラットフォームでサポートされているその他のディメンションとラベル別にブレークダウンできます。
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 リソース使用状況の追跡、プロジェクトコストの分析、コスト最適化の機会の特定が可能です。
DoiT Cloud Analytics(クラウド分析)のレポートでは、EKS ラベルは EKS Labels セクションの下にグループ化されており、次の 2 つのカテゴリで構成されます。
-
Kubernetes メタデータ:
EKS billing_source、EKS cluster name、EKS namespace、EKS deployment_kind、EKS pod、EKS uid、EKS pod_owner_name、EKS nodegroup nameなど、Kubernetes オブジェクトを一意に識別するために役立つデータ。 -
カスタムラベル: お客様側で定義および割り当てるラベルです。これらのラベルは DoiT コンソール上で
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 にも消費されていない残余コスト)。
DoiT Cloud Analytics(クラウド分析)は EKS メトリクスと AWS の請求データを統合しているため、同じレポート内で、EKS ラベルと他の AWS リソースに付与された AWS cost allocation tags を組み合わせて使用できます。
必要な権限
Cloud Analytics(クラウド分析)のレポートを作成・実行するには、DoiT コンソールで Cloud Analytics User 権限が必要です。
レポート例
DoiT コンソールには、Amazon EKS の支出のさまざまな側面を強調表示するレポートウィジェットを備えた、事前構成済みの EKS Intelligence ダッシュボードが用意されています。EKS ラベルやその他のディメンションを使用して、独自のレポートを作成することもできます。以下にいくつかの例を示します。
namespace と pod owner 別のコストブレークダウン
この例では、前月における EKS クラスタ eks-cluster-1 のコストを、namespace と pod owner 別にブレークダウンしています。

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

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