業界トップクラスの求人数を誇る転職エージェントPR

リクルートグループのコネクションを活かした非公開求人も充実、他にはない好条件の求人と出会える

1
1

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 Lambdaによるリアルタイムデータ処理は本当にコストが高いのか?

Posted at

1.はじめに

IoTデバイスデータの収集や計測を行う等のリアルタイム性の高いシステムを構築する場合、
LambdaよりEC2を利用した方がコストメリットが大きくなる場合があると聞きますが、
どのくらいの規模からコストが逆転するのか?疑問だったので試算してみました。

今回は、ストレージやデータ通信の料金は含まず、
EC2 または Lambdaを利用した場合のコンピューティング料金だけに焦点を当て考えてみます。

2.比較方法

次の2つのアーキテクチャについてコンピューティング料金を試算することでコスト比較を行ってみたいと思います。

① EC2 構成

image.png

※Lambdaと同等の可用性を確保するという前提条件でEC2はマルチAZ構成とします。

② Lambda 構成

image.png

3.コスト試算

① EC2 コスト

汎用ワークロード向けのM5インスタンスを利用した場合の月額コストを試算してみます。
月額コスト = 時間単価(※1) x 24時間 x 30日 x 2インスタンス(※2)
※1 オンデマンド料金
※2 マルチAZ構成

インスタンス名 vCPU メモリ 時間単価 月額(マルチAZ)
m5.large 2 8GiB 0.124USD 178.56USD
m5.xlarge 4 16GiB 0.248USD 357.12USD
m5.2xlarge 8 32GiB 0.496USD 714.24USD
m5.4xlarge 16 64GiB 0.992USD 1428.48USD
m5.8xlarge 32 128GiB 1.984USD 2856.96USD

EC2料金:https://aws.amazon.com/jp/ec2/pricing/on-demand/

② Lambda コスト

Lambda実行時間 = 200ms/リクエスト とした場合の月額コストを試算してみます。
月額コスト = リクエスト料金(※1) + 実行時間料金(※2)
※1 リクエスト料金 = リクエスト単価 x リクエスト数 / 100万リクエスト
※2 実行時間料金 = 時間単価 x 実行時間 x Lambdaメモリ / 1024MB

リクエスト数 月額(128MB) 月額(256MB) 月額(512MB)
100 RPS 159.9USD 267.9USD 483.9USD
200 RPS 319.7USD 535.7USD 967.7USD
300 RPS 479.6USD 803.6USD 1451.6USD
400 RPS 639.4USD 1071.4USD 1935.4USD
500 RPS 799.3USD 1339.3USD 2419.3USD

Lambda料金:https://aws.amazon.com/jp/lambda/pricing/

コスト比較

m5.2xlarge インスタンスで 300 RPS のデータを処理するケースで比較してみましょう。
Lambdaメモリが128MBの場合は、Lambdaコスト < EC2コストとなりますが、
Lambdaメモリが256MBの場合は、Lambdaコスト > EC2コストとなり、コストが逆転します。

Lambdaのコストとして大きな割合を占めるのが実行時間料金となる為、
Lambdaが常時実行される場合は、コンピューティング料金の割高感が否めない結果となりました。
逆に実行時間が短い場合は、Lambdaのメリットを最大限に活かすことが出来そうです。
各サービスの特徴を理解して選択することが重要ですね。

image.png

4.まとめ

Lambdaが常時実行されるようなユースケースの場合は、コンピューティング料金だけを比較するとEC2 より Lambdaの方が高額となる傾向にあると思います。
ただ、リアルタイム性の高いシステムでも1時間に1回通信をする等の場合は、Lambdaの実行時間が短くなる為、Labmdaの方がコストメリットがあると思います。

EC2 と Lambda を選択するときは、リクエスト頻度だけではなく実行時間を考慮して、アーキテクチャを選択することが重要だと思います。

今回は、EC2 と Lambda のコンピューティング料金に焦点を当て考えてみましたが、本当に前提条件が1つ異なるだけで違う結果になると思います。
一般的な事例だけで判断するのではなく、まずは一度比較検してみてはどうでしょうか?
個々のユースケースに応じてベストな選択は、きっと変わるはず!

1
1
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

Qiita Conference 2025 will be held!: 4/23(wed) - 4/25(Fri)

Qiita Conference is the largest tech conference in Qiita!

Keynote Speaker

ymrl、Masanobu Naruse, Takeshi Kano, Junichi Ito, uhyo, Hiroshi Tokumaru, MinoDriven, Minorun, Hiroyuki Sakuraba, tenntenn, drken, konifar

View event details
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?