AWS Lambda で SnapStart を利用する際の料金をざっくり試算してみた
AWS LambdaでSnapStartを有効にしたとき、どれぐらいの料金になるのかを簡単に試算してみました。
おすすめの方
- AWS Lambda で SnapStart を利用する際の料金をざっくり知りたい方
ざっくりまとめ
- SnapStartキャッシュ料金は、実行回数と実行時間に影響されない
- Lambdaの実行回数や実行時間が少ない場合は、「SnapStartキャッシュ料金」が支配的になる(料金としては少ない)
- Lambdaの実行回数や実行時間が多い場合は、「コンピューティング料金」が支配的になる
- SnapStart割合が多くなるほど、「SnapStartリストア料金」も増えていく
- 特定時刻にアクセスが集中するなどの場合は、「SnapStartリストア料金」に気をつけよう
SnapStartを導入しても料金増加はそこまで大きくなく、コールドスタート改善によるアプリケーション応答時間短縮が見込めます。ただし、大規模環境になればそれなりの料金増加になる可能性があるため、「現在のコールドスタートの割合はどれぐらいか?」を調査したうえで判断すると良さそうです。
下記は全体の表の画像です。実行回数ごとに抜粋した内容を後述しています。
本記事における試算の前提
- 1ヶ月=31日の料金を試算します
- アーキテクチャは、x86とします
- 最初の60億GB秒/月の金額を利用します
- 東京リージョンとします
- SnapStart以外の機能は利用しません
- SnapStartで利用するLambdaのバージョンは1つのみ
- 無料利用枠は、無しとします
- 2024年12月時点の料金です
- SnapStartによるソフトウェア更新の自動適用の課金(コンピューティング料金)は無視します
計算の条件
Lambdaメモリ
次の3つとします。
- 128 MB
- 512 MB
- 1024 MB
Lambdaの実行回数(1時間あたり)
- 1回/h --> 744回/month
- 10回/h --> 7,440回/month
- 100回/h --> 74,400回/month
- 10,000回/h --> 7,440,000回/month
SnapStart割合
- 1%(10,000回/hのみ)
- 10%
- 50%
AWS Lambdaの料金
1回/hのとき
Lambdaの実行回数が少ない場合は、「SnapStartキャッシュ料金」が支配的です。また、Lambdaのメモリ量によって料金が変わることも分かります。
Lambdaメモリ [MB] | 実行回数 | 1回あたりの実行時間 [s] | SnapStart割合 [%] | 合計 [円] | 合計 [USD] | コンピューティング料金 [USD] | 実行回数料金 [USD] | SnapStartキャッシュ料金 [USD] | SnapStartリストア料金 [USD] |
---|---|---|---|---|---|---|---|---|---|
128 | 744 | 2 | 10 | 80 | 0.51 | 0.00 | 0.00 | 0.50 | 0.00 |
128 | 744 | 2 | 50 | 81 | 0.51 | 0.00 | 0.00 | 0.50 | 0.01 |
128 | 744 | 4 | 10 | 80 | 0.51 | 0.01 | 0.00 | 0.50 | 0.00 |
128 | 744 | 4 | 50 | 81 | 0.52 | 0.01 | 0.00 | 0.50 | 0.01 |
512 | 744 | 2 | 10 | 319 | 2.03 | 0.01 | 0.00 | 2.01 | 0.01 |
512 | 744 | 2 | 50 | 322 | 2.05 | 0.01 | 0.00 | 2.01 | 0.03 |
512 | 744 | 4 | 10 | 321 | 2.05 | 0.02 | 0.00 | 2.01 | 0.01 |
512 | 744 | 4 | 50 | 324 | 2.07 | 0.02 | 0.00 | 2.01 | 0.03 |
1024 | 744 | 2 | 10 | 638 | 4.07 | 0.02 | 0.00 | 4.03 | 0.01 |
1024 | 744 | 2 | 50 | 645 | 4.11 | 0.02 | 0.00 | 4.03 | 0.05 |
1024 | 744 | 4 | 10 | 642 | 4.09 | 0.05 | 0.00 | 4.03 | 0.01 |
1024 | 744 | 4 | 50 | 649 | 4.13 | 0.05 | 0.00 | 4.03 | 0.05 |
10回/hのとき
Lambdaの実行回数が増えてくると、「コンピューティング料金」と「SnapStartリストア料金」が増えます。これはともに実行回数とコールドスタート回数が増えるためですね。一方で、「SnapStartキャッシュ料金」は実行回数・実行時間に関係ないので、1回/hと同じです。
Lambdaメモリ [MB] | 実行回数 | 1回あたりの実行時間 [s] | SnapStart割合 [%] | 合計 [円] | 合計 [USD] | コンピューティング料金 [USD] | 実行回数料金 [USD] | SnapStartキャッシュ料金 [USD] | SnapStartリストア料金 [USD] |
---|---|---|---|---|---|---|---|---|---|
128 | 7,440 | 2 | 10 | 86 | 0.55 | 0.03 | 0.00 | 0.50 | 0.01 |
128 | 7,440 | 2 | 50 | 94 | 0.60 | 0.03 | 0.00 | 0.50 | 0.07 |
128 | 7,440 | 4 | 10 | 91 | 0.58 | 0.06 | 0.00 | 0.50 | 0.01 |
128 | 7,440 | 4 | 50 | 99 | 0.63 | 0.06 | 0.00 | 0.50 | 0.07 |
512 | 7,440 | 2 | 10 | 344 | 2.19 | 0.12 | 0.00 | 2.01 | 0.05 |
512 | 7,440 | 2 | 50 | 377 | 2.40 | 0.12 | 0.00 | 2.01 | 0.26 |
512 | 7,440 | 4 | 10 | 364 | 2.32 | 0.25 | 0.00 | 2.01 | 0.05 |
512 | 7,440 | 4 | 50 | 396 | 2.52 | 0.25 | 0.00 | 2.01 | 0.26 |
1024 | 7,440 | 2 | 10 | 688 | 4.38 | 0.25 | 0.00 | 4.03 | 0.10 |
1024 | 7,440 | 2 | 50 | 754 | 4.80 | 0.25 | 0.00 | 4.03 | 0.52 |
1024 | 7,440 | 4 | 10 | 727 | 4.63 | 0.50 | 0.00 | 4.03 | 0.10 |
1024 | 7,440 | 4 | 50 | 792 | 5.05 | 0.50 | 0.00 | 4.03 | 0.52 |
100回/hのとき
さらにLambdaの実行回数が増えたので、「コンピューティング料金」と「SnapStartリストア料金」が増えます。
Lambdaメモリ [MB] | 実行回数 | 1回あたりの実行時間 [s] | SnapStart割合 [%] | 合計 [円] | 合計 [USD] | コンピューティング料金 [USD] | 実行回数料金 [USD] | SnapStartキャッシュ料金 [USD] | SnapStartリストア料金 [USD] |
---|---|---|---|---|---|---|---|---|---|
128 | 74,400 | 2 | 10 | 151 | 0.96 | 0.31 | 0.01 | 0.50 | 0.13 |
128 | 74,400 | 2 | 50 | 232 | 1.48 | 0.31 | 0.01 | 0.50 | 0.65 |
128 | 74,400 | 4 | 10 | 199 | 1.27 | 0.62 | 0.01 | 0.50 | 0.13 |
128 | 74,400 | 4 | 50 | 281 | 1.79 | 0.62 | 0.01 | 0.50 | 0.65 |
512 | 74,400 | 2 | 10 | 595 | 3.79 | 1.24 | 0.01 | 2.01 | 0.52 |
512 | 74,400 | 2 | 50 | 922 | 5.87 | 1.24 | 0.01 | 2.01 | 2.60 |
512 | 74,400 | 4 | 10 | 790 | 5.03 | 2.48 | 0.01 | 2.01 | 0.52 |
512 | 74,400 | 4 | 50 | 1,116 | 7.11 | 2.48 | 0.01 | 2.01 | 2.60 |
1024 | 74,400 | 2 | 10 | 1,188 | 7.56 | 2.48 | 0.01 | 4.03 | 1.04 |
1024 | 74,400 | 2 | 50 | 1,841 | 11.73 | 2.48 | 0.01 | 4.03 | 5.20 |
1024 | 74,400 | 4 | 10 | 1,577 | 10.04 | 4.96 | 0.01 | 4.03 | 1.04 |
1024 | 74,400 | 4 | 50 | 2,230 | 14.21 | 4.96 | 0.01 | 4.03 | 5.20 |
10,000回/hのとき
Lambdaの料金ページで紹介されている内容がベースです。コールドスタート割合は1%だったので表に追加しています。
これぐらいの実行回数になると、「コンピューティング料金」が支配的になりますね。ただし、SnapStart割合が多いと「SnapStartリストア料金」も増加しています。
特定時刻にアクセスが集中する傾向があるなら、SnapStarリストア料金を気にしたほうが良いですが、だいたい同じようなアクセス量が定期的に続く場合は(いわゆるコールドスタートの割合が少ない場合は)、SnapStartリストア料金はあまり気にしなくても良さそうです。
Lambdaメモリ [MB] | 実行回数 | 1回あたりの実行時間 [s] | SnapStart割合 [%] | 合計 [円] | 合計 [USD] | コンピューティング料金 [USD] | 実行回数料金 [USD] | SnapStartキャッシュ料金 [USD] | SnapStartリストア料金 [USD] |
---|---|---|---|---|---|---|---|---|---|
128 | 7,440,000 | 2 | 1 | 5,384 | 34.29 | 31.00 | 1.49 | 0.50 | 1.30 |
128 | 7,440,000 | 2 | 10 | 7,221 | 45.99 | 31.00 | 1.49 | 0.50 | 13.00 |
128 | 7,440,000 | 2 | 50 | 15,386 | 98.00 | 31.00 | 1.49 | 0.50 | 65.01 |
128 | 7,440,000 | 4 | 1 | 10,251 | 65.29 | 62.00 | 1.49 | 0.50 | 1.30 |
128 | 7,440,000 | 4 | 10 | 12,088 | 76.99 | 62.00 | 1.49 | 0.50 | 13.00 |
128 | 7,440,000 | 4 | 50 | 20,253 | 129.00 | 62.00 | 1.49 | 0.50 | 65.01 |
512 | 7,440,000 | 2 | 1 | 20,834 | 132.70 | 124.00 | 1.49 | 2.01 | 5.20 |
512 | 7,440,000 | 2 | 10 | 28,183 | 179.51 | 124.00 | 1.49 | 2.01 | 52.01 |
512 | 7,440,000 | 2 | 50 | 60,842 | 387.53 | 124.00 | 1.49 | 2.01 | 260.03 |
512 | 7,440,000 | 4 | 1 | 40,303 | 256.70 | 248.00 | 1.49 | 2.01 | 5.20 |
512 | 7,440,000 | 4 | 10 | 47,651 | 303.51 | 248.00 | 1.49 | 2.01 | 52.01 |
512 | 7,440,000 | 4 | 50 | 80,310 | 511.53 | 248.00 | 1.49 | 2.01 | 260.03 |
1024 | 7,440,000 | 2 | 1 | 41,435 | 263.92 | 248.00 | 1.49 | 4.03 | 10.40 |
1024 | 7,440,000 | 2 | 10 | 56,132 | 357.53 | 248.00 | 1.49 | 4.03 | 104.01 |
1024 | 7,440,000 | 2 | 50 | 121,451 | 773.57 | 248.00 | 1.49 | 4.03 | 520.06 |
1024 | 7,440,000 | 4 | 1 | 80,371 | 511.92 | 496.00 | 1.49 | 4.03 | 10.40 |
1024 | 7,440,000 | 4 | 10 | 95,068 | 605.53 | 496.00 | 1.49 | 4.03 | 104.01 |
1024 | 7,440,000 | 4 | 50 | 160,387 | 1021.57 | 496.00 | 1.49 | 4.03 | 520.06 |
さいごに
ざっくりとLambdaでSnapStartを利用する際の料金を計算してみました。特にSnapStartが有効に働く場合(いわゆるコールドスタートの場合)に料金が増えるので、現状がどうなっているかの調査を忘れないようにしたいですね。