この計算ツールでできること
「Kubernetes Pod・コンテナ コスト計算ツール」は、各Podが要求するCPU・メモリ量と稼働させるレプリカ数をもとに、ワークロードのクラウド運用コストを試算するツールです。クラウド事業者の課金は最終的にコンピュート(vCPU)とメモリに対して発生するため、この2つのリソースを時間単価で見積もれば、どのマネージドKubernetesサービスを使っていても、デプロイメントの実コストに近い金額を把握できます。なお、単価は米ドル(USD)建てのクラウド料金を想定しています。
使い方
1つのPodが要求するvCPUとメモリ(GB単位)、vCPUあたり・メモリ1GBあたりの時間単価、そしてデプロイメントが稼働させるレプリカ数を入力してください。本ツールは、リソースの合計時間コストに730(1か月あたりの平均時間数)とレプリカ数を掛けて月額の概算を算出し、あわせて時間・日・年単位の内訳も表示します。
計算式の解説
基本となる計算式は
$$\text{月額コスト} = \left( \text{vCPU} \times \text{CPU単価} + \text{メモリ} \times \text{メモリ単価} \right) \times 730 \times \text{レプリカ数}$$です。730という数字は、\(365 \times 24 \div 12 \approx 730\) 時間に由来します。ノード全体の価格ではなくリソース単位の単価を用いるこの考え方は、OpenCostやKubecostといったツールが採用しているPod単位のコストモデルを反映したものです。
計算例
あるPodが0.5 vCPUと1 GBのメモリを要求しているとします。vCPU単価は$0.0405/時間、メモリ単価は$0.00445/GB・時間で、レプリカ数は3とします。Pod 1台あたりの時間コストは
$$0.5 \times 0.0405 + 1 \times 0.00445 = \$0.024700$$Pod 1台あたりの月額は
$$0.0247 \times 730 = \$18.031$$レプリカ3台分の月額コストは $54.093 となります。
よくある質問
vCPU単価やメモリ単価はどこで確認できますか? ノードの時間単価を、そのノードで割り当て可能なvCPU数・メモリ量で割って求めます。または、Autopilotやサーバーレスモードであればクラウドプロバイダーのリソース単位の料金表をそのまま利用できます。
requestsとlimitsのどちらを使うべきですか? リソースの requests(要求量)を使ってください。スケジューラが実際に確保するのはこの値であり、多くのコスト計測ツールも requests を基準に課金額を算出します。
なぜ730時間なのですか? これは(\(365 \times 24 \div 12\))で求めるクラウド課金の標準的な「平均月」の時間数です。この値を使うことで、試算額をプロバイダーの請求額に近づけられます。