サーバーレス/Lambda 料金計算ツールとは?
このツールは、AWS Lambda・Google Cloud Functions・Azure Functions といったサーバーレス関数を運用したときの月額コストを見積もるためのものです。サーバーレス基盤の料金は、おもに2つの軸で決まります。1つはリクエスト(呼び出し)ごとにかかるわずかな従量課金、もう1つは「GB秒」という単位で計測されるコンピューティング料金です。GB秒とは、関数に割り当てたメモリ量と、その関数が実行された時間を掛け合わせた値を指します。トラフィック(リクエスト数)、平均実行時間、メモリサイズ、そして利用するプロバイダーの料金を入力すれば、デプロイ前に月額のおおよそのコストをはっきり把握できます。
使い方
まず想定する月間リクエスト数、1回の呼び出しあたりの平均実行時間(ミリ秒)、割り当てるメモリ(MB)を入力します。続いて、利用しているプロバイダーのリクエスト単価とGB秒あたりの単価を入力してください。初期値は、一般的な AWS Lambda のオンデマンド料金に近い値(100万リクエストあたり 0.20 ドル、GB秒あたりおよそ 0.0000166667 ドル)を設定しています。実際に試算するときは、必ずご利用のリージョンとプロバイダーの最新料金をご確認ください。
計算式の解説
コスト = リクエスト数 × リクエスト単価 +(リクエスト数 × 実行時間(秒)× メモリ(GB))× GB秒単価。実行時間はミリ秒から秒へ(÷1000)、メモリは MB から GB へ(÷1024)換算します。式の中間部分が合計のGB秒にあたり、これがコンピューティング料金の課金対象となります。
$$ \text{Cost} = R \cdot p_r + \left(R \cdot \frac{d}{1000} \cdot \frac{m}{1024}\right) \cdot p_g $$ $$ \text{where}\quad \left\{ \begin{aligned} R &= \text{Monthly Requests} \\ p_r &= \text{Price per Request} \\ d &= \text{Avg Duration (ms)} \\ m &= \text{Memory (MB)} \\ p_g &= \text{Price per GB-second} \end{aligned} \right. $$
計算例
例として、リクエスト数 1,000,000、平均実行時間 200 ミリ秒、メモリ 512 MB、リクエスト単価 0.0000002 ドル、GB秒単価 0.0000166667 ドルとします。リクエスト料金 = \(1{,}000{,}000 \times 0.0000002 = 0.20\) ドル。GB秒 = \(1{,}000{,}000 \times 0.2 \times 0.5 = 100{,}000\)。コンピューティング料金 = \(100{,}000 \times 0.0000166667 \approx 1.67\) ドル。合計でおよそ 1.87 ドル/月となります。
よくある質問
無料利用枠は含まれていますか? いいえ。このツールは無料枠を差し引く前の「素のコスト」を表示します。AWS Lambda には、毎月 100万リクエストと 400,000 GB秒まで利用できる無期限の無料枠があり、これは別途差し引いて考える必要があります。
なぜメモリを 1024 で割るのですか? 料金は GB秒あたりで設定されており、\(1\ \text{GB} = 1024\ \text{MB}\) であるため、GB秒を計算する前にメモリ(MB)を GB へ換算しています。
データ転送やストレージの費用は含まれますか? いいえ。このツールが見積もるのは呼び出し料金とコンピューティング料金のみです。外向き通信(egress)、ログ、ストレージなどの費用は別途課金されます。