AWS ALB の LCU の料金計算方法のメモ
https://aws.amazon.com/jp/elasticloadbalancing/pricing/ から LCU の計算方法が個人的にわかりにくかった(僕の頭が悪いだけなのですが…)ので整理したメモ。
ただし、例 1 しか整理してない。
金額は アジア・パシフィック/東京 リージョンをベースにした。
例1の条件
- (a) アプリケーションが 1 秒あたり平均 1 個の新しい接続を受信
- (b) それぞれ 2 分間継続する
- (c) クライアントは毎秒平均 5 つのリクエストを送信
- (d) リクエストと応答の合計処理バイト数は毎秒 300 KB
- (e) クライアントのリクエストをルーティングする 60 個のルールを設定
新しい接続(1秒あたり)
LCU は 1 秒あたり 25 個の新しい接続を提供する ← 既定値
アプリケーションは 1 秒あたり1この新しい接続を受信する ← (a)
つまり
1 / 25 = 0.04 LCU
と評価する
アクティブ接続(1分あたり)
LCU は 1 分辺り 3000 このアクティブな接続を提供する ← 既定値
アプリケーションは 1 秒あたり 1 個の新しい接続を受信し、 ← (a)
それぞれ 2 分間継続する ← (b)
つまり
1 分辺り 120 個のアクティブ接続が存在する状態となる
つまり
120 / 3000 = 0.04 LCU
と評価する
プロセスされたバイト数(GB / 時)
LCU は 1 時間辺り 1 GB の処理バイトを提供する ← 既定値
アプリケーションのレスポンスは平均 300 KB であり ← (d)
1時間あたりの応答総量は、
(d) 応答 300 KB * 60 * 60 = 1080000 KB = 1.08 GB
となる
つまり、
1.08 GB / 既定値である LCU 1時間あたり 1 GB = 1.08 LCU
と評価される
ルール評価(1秒あたり)
LCU 1 秒あたり1000 個のルール評価を提供します( 1 時間あたり / 設定されたルールが全て処理される前提) ← 既定値
このアプリケーションは 1 秒あたり 5 個のリクエストを受信する ← (c)
ので、各リクエストに対して 60 個のルールが評価れます ← (e)
その結果、
1 秒あたり ( 60 個のルール - 無料分 10 のルール) * 5 = 最大 250 個のルール評価
となり、
上記 250 個のルール評価 / 既定値容量の 1000 個のルール評価 = 0.25 LCU
と評価される
最終評価
これらの評価の結果、最も LCU の値が大きい プロセスされたバイト数( GB / 時) = 1.08 LCU が計算軸となる
この結果、以下の利用金が算定される
- 1 時間あたりは 1.08 LCU * 0.008 USD = 0.00864 USD となり
- 1ヶ月換算すると 0.00864 USD * 24 * 30 = 6.22 USD となる