2021/03/22

AWS Lambdaの料金体系|AWS Lambda利用料金の簡単な見積方法

 
  

AWS Lambdaとは?

AWS Lambdaは、サーバーの立ち上げや管理の必要なしにコードを実行できるAWSサービスです。 任意のイベントをトリガーにしてプログラムを実行することが可能で、言語もJava、Go、PowerShell、Node.js、C#、Python、Rubyをサポートしています。 AWS Lambdaの1番の利点は、開発者はプログラムをLambda関数として登録するだけで良いという点です。 OS、ミドルウェア、アプリケーションをインストールするといった手間を省くことが可能です。今までAmazon EC2などで仮想環境を立ち上げていた方も、AWS Lambdaを用いることにより効率化を図ることができるでしょう。 事務処理の自動化プログラムをAWS Lambda上で実行するといった用途はもちろんのこと、サーバレスWebアプリのバックエンドとしても利用例が増えています。 ただし、AWS Lambdaは処理時間の上限が15分と設定されているため、時間の長い処理は避けた方が良いでしょう。

AWS Lambdaの料金体系

AWS Lambdaの料金は、プログラムが実行されるときだけ発生します。 仮想サーバサービスであるAWS EC2は、仮想サーバが構築された瞬間から常に費用が発生しますが、AWS Lambdaはプログラム実行された場合のみ発生しますので、コストを大幅に抑えることが可能です。 料金は「関数のリクエスト数」と「コードの実行時間」で決まります。また、どのリージョンを使っているか、関数にどのくらいのメモリ量を割り当てているか、によっても料金は変わってきます。 AWS Lambdaは大変便利な反面、料金算出方法が複雑ですので、以降料金について詳細を解説していきます。

リクエストと実行時間に応じた料金

ここでは、執筆時点における東京リージョンを例に説明します。リージョンや時期によって異なってきますので、正確な数値は参考サイトを確認してください。東京リージョンにおけるリクエスト・実行時間に応じた料金は以下の通りになります。 リクエスト:リクエスト100万件あたり0.20USD 実行時間:GB-秒あたり0.0000166667USD 上記は、関数に割り当てたメモリが1024MBの際の例になります。GB-秒という見慣れない単位に困惑するかもしれませんが、これは、「設定したメモリ*秒数」が料金に反映されると考えると分かりやすいでしょう。 以下で具体例を示して解説しますので、ご安心ください。

割り当てメモリに応じた料金

割り当てメモリを増量すればするほど実行時間に応じた料金は高くなります。以下、メモリに応じた100ミリ秒単位の料金を記載します。 128MB : 0.0000002083USD 512MB : 0.0000008333USD 1024MB : 0.0000016667USD 1536MB : 0.0000025000USD 2048MB : 0.0000033333USD 3008MB : 0.0000048958USD こちらも執筆時点、東京リージョンの金額になりますので、正確な数値は参考サイトをご覧ください。また、影響するのはあくまで実行時間に応じた料金だけです。リクエスト数に応じた料金には影響しません。

AWS Lambdaの無料利用枠

これまでの情報を元に料金を見積もってみようとした読者の方は、今一度お待ちください。実は、AWS Lambdaには有効期限のない無料枠があります。毎月、以下の無料枠が適用されます。 ・100万リクエスト/月 ・400,000GB秒のコンピューティング時間/月 つまり、上記の利用量は無料になります。この無料利用枠を考慮した上で実際の利用料金を計算してみましょう。

料金計算してみよう

ここでは、1ヶ月で、512MBのメモリで2,000,000回実行し、毎回の実行時間が2秒だった場合の月額料金を実際に計算してみましょう。 ・リクエスト数 = 2,000,000(回) ・実行時間 = 2,000,000(回) * 2(秒) = 4,000,000(秒) ・実行時間 * GB = 4,000,000(秒)* 512(MB)/ 1024(MB)= 2,000,000(秒・GB) 上記の値から無料利用枠分を差し引きます。 ・無料利用枠を差し引いたリクエスト数 = 1,000,000(回) ・無料利用枠を差し引いた実行時間 * GB =1,600,000(秒・GB) あとは料金を掛け合わせるだけです。 ・リクエストに応じた月額料金 = 1,000,000(回)* 0.2(USD)/ 1,000,000 = 0.2(USD) ・実行時間に応じた月額料金 = 1,600,000(秒・GB)* 0.000016663(USD)= 26.67(USD) ・合計金額 = 26.87(USD) 簡単に料金を計算することができました。お気づきでしょうが多くの場合、AWS Lambdaの料金は実行時間が大半を占めます。実行時間の長い処理を多く実施する方は気をつけましょう。

その他の料金

上記までが、AWS Lambdaの基本的な利用料金になります。しかし、Provisioned Concurrencyとデータ転送量およびその他料金については、別途発生する可能性があります。特にデータ転送量およびその他料金については意図せず発生することがあるため、注意しましょう。 ・Provisioned Cocurrencyについて サーバレスアプリケーションのパフォーマンスを細かく制御するための機能です。2桁のミリ秒単位での同時実行を実現します。料金の詳細は参考サイトをご覧ください。 ・データ転送量およびその他の料金について 異なるリージョンにあるLambda関数へのデータ転送は追加課金対象になります。料金の詳細は参考サイトをご覧ください。また、当然ですが、S3などの他サービスを利用する際は当該サービスの料金が発生します。

AWS Lambda利用料金の簡単な見積もり方法

AWS Lambdaの利用料金体系が分かったとしても、手計算で料金を計算するのは間違いの元です。そこで、AWS料金計算ツールという見積りツールを使って、簡単に計算する方法を解説します。 AWS料金計算ツールはAWS Lambda以外のAWSサービスにも利用可能ですので、是非使い方を覚えることをお勧めします。

AWS 料金計算ツールとは?

AWS料金計算ツールでは、AWSの各サービスの料金見積もりを行うことができます。構築しようとしているサービス仕様、利用データ量、アーキテクチャを踏まえ、詳細な値を入力することにより、利用料金を自動算出してくれるサービスになっております。 なお、AWS料金計算ツールを利用するにあたってAWSアカウントは不要です。

AWS 料金計算ツールを使ってAWS Lambda料金を計算してみよう

では、AWS料金計算ツールを使ってAWS Lambda料金の見積もりを行う方法を以下に示します。計算結果は保存することができ、AWS Lambda以外のサービスの見積りと合算して表示することも可能です。
  • https://calculator.aws/#/ にアクセスしてください。
  • 見積りの作成ボタンをクリックしてください。
  • 検索窓にてAWS Lambdaを検索してください。
  • リージョンやリクエスト数、実行時間を入力してください。
  • Show Calculationをクリックしてください。無料利用枠を適用した場合における月額金額が表示されます。

まとめ

本記事ではAWS Lambdaの料金体系について説明しました。 AWS料金計算ツールを使えば簡単に算出できることも紹介しましたが、実行時間に応じて料金が大きく変わっていくことは、AWS Lambdaの利用可否を判断する際に覚えておいて損はないでしょう。 また、リクエスト数・実行時間の無料利用枠についても紹介しましたが、こちらは無期限になっていますので、AWS Lambdaを利用したことがない方は、失敗を恐れずにAWS Lambdaを使ってみましょう。よほどの大処理をしない限り無料で済みますので、ご安心ください。]]>

ITエンジニアへのキャリアチェンジならキャリアチェンジアカデミー

この記事の監修者・著者

株式会社オープンアップITエンジニア
株式会社オープンアップITエンジニア
未経験からITエンジニアへのキャリアチェンジを支援するサイト「キャリアチェンジアカデミー」を運営。これまで4500人以上のITエンジニアを未経験から育成・排出してきました。
・AWS、salesforce、LPICの合計認定資格取得件数:2100以上(2023年6月時点)
・AWS Japan Certification Award 2020 ライジングスター of the Year 受賞

おすすめの動画

  • 【未経験からIT業界へ転職するなら】相談窓口とスキルの獲得はここで解決!IT転職が一気に有利に!【キャリアチェンジアカデミー】

  • 【費用一切不要】未経験からIT業界へ転職するならまずはここへ相談!【キャリアチェンジアカデミー】

  • 【何のエンジニアになれるのか?】未経験からITエンジニアを目指すとこんな道がある【キャリアチェンジアカデミー】