5
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

AWS ALB LCUコスト確認まとめ

Last updated at Posted at 2021-05-24

#はじめに
AWS ALBのコストを算出する機会があったものの
LCUコストの算出がすぐに理解できなかったので、
(https://aws.amazon.com/jp/elasticloadbalancing/pricing/?nc=sn&loc=3) 
に記載の計算例を見てみることにしました。

#そもそもLCUとは?
LCUは「Load Balancer Capacity Units」の略でALBの使用量の単位です。

#料金例
ここからALBの料金表に記載の計算例を見ていきます。
※リージョンはアジアパシフィック(東京)を選択
※LCUがトラフィックを処理する尺度や既定値の情報に関しては、割愛させて頂きます。
 詳細はALBの料金表を参照してください。

■例1
条件
(1) アプリケーションが 1 秒あたり平均 1 個の新しい接続を受信
(2) それぞれ 2 分間継続すると仮定
(3) クライアントは毎秒平均 5 つのリクエストを送信
(4) リクエストと応答の合計処理バイト数は毎秒 300 KB
(5) クライアントのリクエストをルーティングする 60 個のルールを設定

・新しい接続(1秒あたり)
LCUは1 秒あたり 25 個の新しい接続を提供・・・(既定値)
アプリケーションが 1 秒あたり平均 1 個の新しい接続を受信する・・・(1)

1/25 = 0.04LCU

・アクティブ接続(1分あたり)
LCUは1分あたり3,000 個のアクティブな接続を提供・・・(既定値)
アプリケーションが 1 秒あたり平均 1 個の新しい接続を受信する・・・(1)
それぞれ 2 分間( 120秒 )継続すると仮定・・・(2)

120/3,000 = 0.04 LCU

・処理タイプ(バイト数:GB/時)
LCUは 1 時間あたり 1 GBの処理バイトを提供・・・(既定値)
アプリケーションが 1 秒あたり平均 1 個の新しい接続を受信する・・・(1)
リクエストと応答の合計処理バイト数は毎秒 300 KB・・・(4)

1時間あたり

3006060 = 1,080,000 KB = 1.08 GB
1.08/1 = 1.08 LCU

・ルール評価(1秒あたり)
LCUは 1 秒あたり 1,000 個のルール評価を提供・・・(既定値)
アプリケーションは毎秒平均 5 つのリクエストを受信・・・(3)
各リクエストに対して 60 個のルールを設定・・・(5)

ルール評価数(1秒あたり)

(60-10)*5 = 250 個
250/1000 = 0.25 LCU

・最終評価
最もLCU値が大きい処理タイプ(バイト数:GB/時) = 1.08 LCUが計算対象となります。
LCU 時間(または 1 時間未満)あたり、0.008 USDより

1.08*0.008 = 0.00864 USD/時

上記の計算結果にApplication Load Balancer時間(または1時間未満)あたり、0.0243 USDを加えるとApplication Load Balancer の合計コストは以下のようになります。

0.00864+0.0243 = 0.03294 USD/時
0.032942430 = 23.7168 USD/月

■例2
条件
(1)アプリケーションが 1 秒あたり平均 100 個の新しい接続を受信
(2)それぞれ 3 分間継続すると仮定
(3)クライアントが 1 秒あたり平均 4 個のリクエストを送信
(4)接続あたり 1,000 バイトがプロセスされる
(5)クライアントのリクエストをルーティングする 20 個のルールを設定

・新しい接続( 1 秒あたり)
LCUは1秒あたり 25 個の新しい接続を提供・・・(既定値)
アプリケーションが 1 秒あたり平均 100 個の新しい接続を受信・・・(1)

100/25 = 4 LCU

・アクティブ接続( 1 分あたり)
LCUは 1 分あたり 3,000 個のアクティブな接続を提供・・・(既定値)
アプリケーションが 1 秒あたり平均 100 個の新しい接続を受信・・・(1)
それぞれ 3 分間(180秒)継続・・・(2)

18,000/3,000 = 6 LCU

・処理タイプ(バイト数:GB/時)
LCUは1時間辺り 1 GBの処理バイトを提供・・・(既定値)
アプリケーションが 1 秒あたり平均 100 個の新しい接続を受信・・・(1)
各接続 1,000 バイトのデータが転送される・・・(4)

1時間あたり

1,00010060*60 = 360,000,000 バイト = 0.36 GB
0.36/1 = 0.36 LCU

・ルール評価( 1 秒あたり)
LCUは 1 秒あたり 1,000 個のルール評価を提供・・・(既定値)
アプリケーションが 1 秒あたり平均 100 個の新しい接続を受信・・・(1)
この 1 秒あたり平均 4 個のリクエストを受信・・・(3)
クライアントのリクエストをルーティングする 20 個のルールを設定・・・(5)

ルール評価数(1秒あたり)

(20-10)*400 = 4,000 個
4,000/1000 = 4 LCU

・最終評価 
最もLCU値が大きいアクティブ接続( 1 分あたり)= 6 LCUが計算対象となります。
LCU 時間(または 1 時間未満)あたり、0.008 USDより

6*0.008 = 0.048 USD/時

上記の計算結果にApplication Load Balancer時間(または 1 時間未満)あたり、0.0243 USDを加えるとApplication Load Balancer の合計コストは以下のようになります。

0.048+0.0243 = 0.0723 USD/時
0.0723*24×30 = 52.056 USD/月

■例3
条件
(1)アプリケーションが 100 秒あたり平均 100 個の新しい接続を受信
(2)それぞれ 200 ミリ秒間継続すると仮定
(3)クライアントは毎秒平均 100 のリクエストを送信
(4)接続中のLambdaリクエストと応答の合計処理バイト数は毎秒 14 KB
(5)クライアントのリクエストをルーティングする 20 個のルールを設定

・新しい接続( 1 秒あたり)
LCUは 1 秒あたり 25 個の新しい接続を提供・・・(既定値)
アプリケーションが 100 秒あたり平均 100 個の新しい接続を受信・・・(1)

1/25 = 0.04 LCU

・アクティブ接続(1分あたり)
LCUは 1 分あたり 3,000 個のアクティブな接続を提供・・・(既定値)
アプリケーションが 100 秒あたり平均 100 個の新しい接続を受信・・・(1)
それぞれ 200 ミリ秒間継続すると仮定・・・(2)

100/3,000 = 0.03 LCU

・処理タイプ(バイト数:GB/時)
LCUはLambdaターゲット 1 時間あたり 0.4 GBの処理バイトを提供・・・(既定値)
接続中のLambdaリクエストと応答の合計処理バイト数は毎秒 14 KB・・・(4)

1時間あたり

1410060*60 = 5,040,000 KB = 5.04 GB
5.04/0.4 = 12.6 LCU

ルール評価( 1 秒あたり)
LCUは 1 秒あたり 1,000 個のルール評価を提供・・・(既定値)
このアプリケーションは毎秒平均 100 のリクエストを受信・・・(3)
クライアントのリクエストをルーティングする 20 個のルールを設定・・・(5)

ルール評価数(1秒あたり)

(20-10)*100 = 1,000個
1,000/1,000 = 1 LCU

・最終評価 
最もLCU値が大きい処理タイプ(バイト数:GB/時)= 12.6 LCUが計算対象となります。
LCU 時間(または 1 時間未満)あたり、0.008 USDより

12.6*0.008 = 0.1008 USD/時

上記の計算結果にApplication Load Balancer時間(または 1 時間未満)あたり、0.0243 USDを加えるとApplication Load Balancer の合計コストは以下のようになります。

0.1008+0.0243 = 0.1251 USD/時
0.12512430 = 90.072 USD/月

■例4
条件
(1) アプリケーションが 1 秒あたり平均 1 個の新しい接続を受信
(2) それぞれ 2 分間継続すると仮定
(3) クライアントは、1 秒あたり平均 50 のリクエストを送信
(4) リクエスト/応答ごとにロードバランサーを通じて転送された双方向の合計バイト数は 10 KB
(5) リクエストの平均 60 % はターゲットとして EC2 インスタンスによって提供され、
  ターゲットとしての Lambda 関数によって 40 % 提供されます。
(6) クライアントのリクエストをルーティングする 50 個のルールを設定

・新しい接続(1秒あたり)
LCUは1 秒あたり 25 個の新しい接続を提供・・・(既定値)
アプリケーションが 1 秒あたり平均 1 個の新しい接続を受信・・・(1)

1/25 = 0.04 LCU

・アクティブ接続(1分あたり)
LCUは 1 分あたり 3,000 個のアクティブな接続を提供・・・(既定値)
アプリケーションが 1 秒あたり平均 1 個の新しい接続を受信・・・(1)
それぞれ 2 分間( 120 秒)継続すると仮定・・・(2)

120/3000 = 0.04 LCU

・処理タイプ(バイト数:GB/時)
LCUはEC2ターゲット 1 時間あたり 1 GBの処理バイトを提供・・・(既定値)
リクエストの平均 60 % はターゲットとして EC2 インスタンスによって提供・・・(5)

1時間あたり

3006060 = 1,080,000 KB = 1.08 GB
1.08/1 = 1.08 LCU

LCUはLambdaターゲット 1 時間あたり 0.4 GBの処理バイトを提供・・・(既定値)
リクエストの平均 40 % はターゲットとして Lambda 関数によって提供・・・(5)

1時間あたり

2006060 = 720,000 KB = 0.72 GB
0.72/0.4 = 1.8 LCU

EC2 および Lambda ターゲット間のプロセスされたバイト数

1.08+1.8 = 2.88 LCU

・ルール評価(1秒あたり)
LCUは 1 秒あたり 1,000 個のルール評価を提供・・・(既定値)
クライアントは、1 秒あたり平均 50 のリクエストを送信・・・(3)
クライアントのリクエストをルーティングする 50 個のルールを設定・・・(6)

ルール評価数(1秒あたり)

(50-10)*50 = 2000 個
2000/1000 = 2.00 LCU

・最終評価
最もLCU値が大きい処理タイプ(バイト数:GB/時)= 2.88 LCUが計算対象となります。
LCU 時間(または 1 時間未満)あたり、0.008 USDより

2.88*0.008 = 0.0230 USD/時

上記の計算結果にApplication Load Balancer時間(または 1 時間未満)あたり、0.0243 USDを加えるとApplication Load Balancer の合計コストは以下のようになります。

0.0230+0.0243 = 0.0473 USD/時
0.04732430 = 34.056 USD/月

5
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?