概要
AWS Lambda はサーバーのプロビジョニングや管理を行うことなくコードを実行できるサーバーレスのコンピューティングサービスです。ワークロードを考慮したクラスタースケーリングロジックの作成、イベント統合の維持、ランタイムの管理を容易に行うことができます。Lambda を使用すれば、実質どのようなタイプのアプリケーションやバックエンドサービスでも管理を必要とせずに実行でき、使った分だけお支払いいただけます。料金は、関数に対するリクエストの数と、コードの実行にかかる時間に基づいて請求されます。
Lambda は、Amazon Simple Notification Service (SNS) や Amazon EventBridge などのイベント通知トリガーや、Amazon API Gateway、AWS コンソールからのテスト呼び出しを含む AWS SDK などの呼び出しコールに応じて実行を開始するたびに、リクエストをカウントします。
実行時間は、コードの実行が開始された瞬間から、その処理が返される、またはは中止されるまでの時間で計算され、値は 1 ミリ秒単位で切り上げられます*。料金は関数に割り当てたメモリ量により異なります。AWS Lambda のリソースモデルでは、お客様が関数に必要なメモリ量を指定すると、それに比例した CPU パワーとその他のリソースが割り当てられます。メモリサイズが増えると、関数で利用可能な CPU にも同等の増加が発生します。詳細については、関数の設定に関するドキュメントを参照してください。
Lambda 関数は、x86 または Arm アーキテクチャで構築されたプロセッサで実行できます。AWS が設計した Arm ベースのプロセッサアーキテクチャを使用する Graviton2 で実行される AWS Lambda 関数は、x86 プロセッサで実行される関数と比較して、最大 34% 優れた料金パフォーマンスを実現します。これは、ウェブやモバイルのバックエンド、データ、メディア処理など、さまざまなサーバーレスのワークロードに適用されます。
* 実行時間の料金は、関数のハンドラーで実行されるコード、およびハンドラー外で宣言される初期化コードに適用されます。AWS Lambda 拡張機能を使用した Lambda 関数の場合、実行時間には、最後に実行されている拡張機能のコードがシャットダウンフェーズ中に実行を終えるまでにかかる時間も含まれます。 SnapStart で設定された Lambda 関数の場合、実行時間には、ランタイムのロードにかかる時間、ランタイムフックで実行されるコードの時間、および耐障害性を考慮して作成されたスナップショットのコピーの作成中に実行される初期化コードの時間も含まれます。詳細については、Lambda のプログラミングモデルに関するドキュメントを参照してください。
AWS Lambda の無料利用枠には、1 か月あたり 100 万件の無料リクエストと、1 か月あたり 40 万 GB 秒のコンピューティング時間が含まれており、x86 および Graviton2 プロセッサの両方を使用する関数に利用できます。 さらに、無料利用枠には、リクエストごとの最初の 6 MB が無料ですが、それ以外に、1 か月あたり 100 GiB の HTTP レスポンスストリーミングが含まれます。Lambda はまた、毎月の使用量が一定の基準値を超えたオンデマンド期間に対して、段階的な価格オプションを提供しています。AWS Lambda は Compute Savings Plans でカバーされます。これは、1 年または 3 年の期間での一貫したコンピューティング使用量 (USD/時間で測定) を契約するかわりに、Amazon Elastic Compute Cloud (Amazon EC2)、AWS Fargate、および Lambda を低価格でご利用いただけるようになる柔軟な料金モデルです。Compute Savings Plans を使うと、AWS Lambda で最大 17% の節約が可能になります。節約効果は使用時間と Provisioned Concurrency に適用されます。 詳細 »
AWS 料金計算ツール
AWS Lambda とアーキテクチャのコストを一回の見積もりで算出します。
AWS Lambda 料金
期間のコストは、関数に割り当てるメモリ量により異なります。128 MB から 10,240 MB までの任意の量のメモリを 1 MB 単位で関数に割り当てることができます。下表は、最初の価格階層帯に該当する使用量(例:米国東部(オハイオ)で月間60億GB秒まで)で、異なるメモリサイズに対応する1ミリ秒あたりの価格の例を示しています。
-
x86 料金
-
Arm 料金
-
x86 料金
-
-
Arm 料金
-
Lambdaのオンデマンド期間課金階層は、アカウント内の同じアーキテクチャ(それぞれx86またはArm)、同じリージョンで実行されるお客様の機能に対して、月間の期間を集計して適用されます。AWS Organizationsで統合課金を使用している場合、価格階層は、組織内のアカウント間で、同じアーキテクチャ、同じリージョンで実行されている機能の月間総所有時間に適用されます。
Lambda エフェメラルストレージの料金
エフェメラルストレージのコストは、関数に割り当てるエフェメラルストレージの量と、関数の実行時間 (ミリ秒単位) によって異なります。512 MB から 10,240 MB までの任意の量の追加ストレージを 1 MB 単位で関数に割り当てることができます。エフェメラルストレージは、x86 と Arm の両方のアーキテクチャで実行される関数に対して設定できます。512 MB のエフェメラルストレージは、各 Lambda 関数に追加コストなしで利用できます。設定したエフェメラルストレージの追加分のみを支払うことになります。
以下の例はすべて米国東部 (バージニア北部) の料金に基づいています。
-
例 1: モバイルアプリケーションのバックエンド
お客様がモバイルアプリケーションのデベロッパーで、食べ物を注文するアプリケーションを構築しているとします。顧客はこのアプリケーションを使用して、特定のレストランの場所で料理を注文し、注文状況の更新を受け取り、注文が完了したら料理を受け取ることができます。需要は、時間帯やレストランの場所によって大きく変動することが予想されるため、AWS Lambda などのサーバーレスサービスを使用してモバイルバックエンドを構築します。お客様がモバイルアプリケーションのデベロッパーで、食べ物を注文するアプリケーションを構築しているとします。顧客はこのアプリケーションを使用して、特定のレストランの場所で料理を注文し、注文状況の更新を受け取り、注文が完了したら料理を受け取ることができます。需要は、時間帯やレストランの場所によって大きく変動することが予想されるため、AWS Lambda などのサーバーレスサービスを使用してモバイルバックエンドを構築します。簡単にするために、アプリケーションが 1 か月に 300 万件のリクエストを処理するとします。関数の平均実行時間は 120 ミリ秒です。x86 ベースのプロセッサで 1536 MB のメモリを使用して関数を設定しました。この場合、料金は以下のように計算されます。
1 か月のコンピューティング料金
1 か月のコンピューティング料金は 1 GB-s につき 0.0000166667 USD で、無料利用枠は 400,000 GB-s です。
合計コンピューティング (秒) = 3,000,000 × 120 ミリ秒 = 360,000 秒
合計コンピューティング (GB-s) = 360,000 × 1536 MB/1024 MB = 540,000 GB-s
合計コンピューティング – 無料利用枠コンピューティング = 1 か月の請求コンピューティング GB-s
540,000 GB-s – 400,000 GB-s の無料利用枠 = 140,000 GB-s
1 か月のコンピューティング料金 = 140,000 × 0.0000166667 USD = 2.33 USD1 か月のリクエスト料金
1 か月のリクエスト料金は 1,000,000 件のリクエストにつき 0.20 USD で、無料利用枠は 1 か月に 1,000,000 件です。
合計リクエスト – 無料利用枠のリクエスト = 1 か月の請求リクエスト
300 万件のリクエスト – 100 万件の無料利用枠のリクエスト = 200 万件の月間請求リクエスト
1 か月のリクエスト料金 = 2,000,000 × 0.2 USD ÷ 1,000,000 = 0.40 USD合計月額料金
合計料金 = コンピューティング料金 + リクエスト料金 = 2.33 USD + 0.40 USD = 2.73 USD/月
-
例 2 : ストリーミングテレメトリにメタデータを追加して強化する
例えば、お客様が物流会社で、現場に複数の車両を配置しているとします。各車両にはセンサーと 4G/5G 接続機能が搭載されており、テレメトリデータを Amazon Kinesis Data Stream に送信します。開発した機械学習 (ML) モデルを使用して、車両のヘルス状態を推測し、特定のコンポーネントのメンテナンスが必要になる時期を予測したいと考えています。例えば、お客様が物流会社で、現場に複数の車両を配置しているとします。各車両にはセンサーと 4G/5G 接続機能が搭載されており、テレメトリデータを Amazon Kinesis Data Stream に送信します。開発した機械学習 (ML) モデルを使用して、車両のヘルス状態を推測し、特定のコンポーネントのメンテナンスが必要になる時期を予測したいと考えています。例えば、現場に 1 万台の車両があり、それぞれの車両が 1 時間に 1 回、十分なジッターでスタガ方式でテレメトリを発信しているとします。この推論を各ペイロードに対して行うことで、車両のメンテナンスを迅速化し、保有車両のヘルス状態を最適に保つことができます。
機械学習モデルは関数と一緒にパッケージされており、サイズは 512 MB であると仮定します。推論のために、関数には 1 GB のメモリを設定し、x86 ベースのプロセッサでは関数の実行に平均 2 秒かかります。
1 か月のリクエスト料金:
1 か月間に車両が発するメッセージ数は 10,000 × 24 × 31 = 7,440,000 件で、これらが Lambda 関数で処理されます。1 か月のリクエスト料金 → 7,440,000 × 0.20 USD ÷ 1,000,000 = 1.488 USD ≒ 1.49 USD
1 か月のコンピューティング料金:
1 か月に、1 メッセージにつき 1 回、2 秒間、関数が実行されます。1 か月のコンピューティング時間 (秒) → 7,440,000 × 2 秒 = 14,880,000 秒
1 か月のコンピューティング (GB-s) → 14,880,000 秒 × 1024 MB/1024 MB = 14.88 GB-s
1 か月のコンピューティング料金 → 14,880,000 GB-s × 0.0000166667 USD = 248.00 USD合計月額料金:
合計料金 = リクエスト料金 + コンピューティング料金 = 1.49 USD+ 248.00 USD = 249.49 USD -
例 3: カスタマーサポートのチケットやインタラクションに機械学習を実行してカスタマーエクスペリエンスを向上させる
お客様は金融サービス会社で、カスタマーサービスの最大の問題をよりよく理解しようとしているとします。お客様の目標は、カスタマーエクスペリエンスを向上させ、顧客離れを減らすことです。お客様の顧客は、お客様が提供するモバイルアプリケーションを使ってカスタマーサポートスタッフとライブチャットができます。お客様は、自然言語処理 (NLP) モデルをデプロイすることに決めます。お客様は金融サービス会社で、カスタマーサービスの最大の問題をよりよく理解しようとしているとします。お客様の目標は、カスタマーエクスペリエンスを向上させ、顧客離れを減らすことです。お客様の顧客は、お客様が提供するモバイルアプリケーションを使ってカスタマーサポートスタッフとライブチャットができます。お客様は、自然言語処理 (NLP) モデルをデプロイすることに決めます。このケースでは、AWS Lambda で人気の高い BERT (Bidirectional Encoder Representations from Transformers) モデルを使用しています。このモデルは、モバイルアプリケーションを介したカスタマーサービスのやり取りを解析、分析、理解して、関連するサポートコンテンツを表示したり、顧客を適切なカスタマーサービス担当者に誘導したりするのに役立ちます。推論モデルが処理するサポート問い合わせの数は、1 週間を通して大きく変化します。
推論モデルを実行する関数が、1 か月に 600 万件のリクエストを受け取るとします。関数の平均実行時間は 280 ミリ秒です。x86 ベースのプロセッサに 4096 MB のメモリを搭載した関数を設定します。
また、2,048 MB のエフェメラルストレージを使用するように関数を設定します。
この場合、料金は以下のように計算されます。
1 か月のコンピューティング料金:
1 か月のコンピューティング料金は 1 GB-s につき 0.0000166667 USD で、無料利用枠は 400,000 GB-s です。
合計コンピューティング時間 (秒) = 6,000,000 × 280 ミリ秒 = 1,680,000 秒
合計コンピューティング (GB-s) = 1,680,000 × 4096 MB/1024 MB = 6,720,000 GB-s
合計コンピューティング – AWS 無料利用枠コンピューティング = 1 か月の請求コンピューティング GB-s
6,720,000 GB-s – 400,000 GB-s の無料利用枠 = 6,320,000 GB-s
1 か月のコンピューティング料金 = 6,320,000 × 0.0000166667 USD = 105.33 USD1 か月のリクエスト料金:
1 か月のリクエスト料金は 1,000,000 件のリクエストにつき 0.20 USD で、無料利用枠は 1 か月に 1,000,000 件です。
合計リクエスト – 無料利用枠のリクエスト = 1 か月の請求リクエスト
600 万件のリクエスト – 100 万件の無料利用枠のリクエスト = 500 万件の月間請求リクエスト
1 か月のリクエスト料金 = 5,000,000 × 0.2 USD ÷ 1,000,000 = 1 USD毎月のエフェメラルストレージ料金:
エフェメラルストレージの月額料金は、GB-秒あたり 0.0000000309 USD で、Lambda は 512 MB のストレージを追加コストなしで提供します。
合計コンピューティング時間 (秒) = 6,000,000 × 280 ミリ秒 = 1,680,000 秒
請求可能なエフェメラルストレージの合計 = 2048 MB – 512 MB = 1536 MB
合計エフェメラルストレージ (GB-s) = 1,680,000 × 1536 MB/1024 MB = 2,520,000 GB-s
毎月のエフェメラルストレージ料金 = 2,520,000 × 0.0000000309 USD = 0.08 USD合計月額料金:
合計料金 = コンピューティング料金 + リクエスト料金 = 105.33 USD + 1 USD + 0.08 USD = 106.41 USD/月
Provisioned Concurrency 料金
Lambda 関数の Provisioned Concurrency を有効にして、サーバーレスアプリケーションのパフォーマンスをより詳細に制御できます。有効にすると、プロビジョニングされた同時実行は、2 桁のミリ秒で応答するように機能を初期化し、ハイパー対応状態になります。構成した同時実行の量と構成期間に対して料金をお支払いいただきます。Provisioned Concurrency がご使用の関数に対して有効になっている場合は、その関数を実行すると、以下の料金に基づいてリクエストと期間に対しても料金が発生します。関数が設定された同時実行数を超える場合、超過分に対しては、上記の AWS Lambda 料金セクションで説明されている料金が請求されます。Provisioned Concurrency は、x86 とArm の両方のアーキテクチャで動作する関数に対して有効にすることができます。Provisioned Concurrency の詳細については、ドキュメントをご覧ください。
Provisioned Concurrency は、関数で有効化してから無効化するまでの時間を計算し、5 分単位で最も近い時間に切り上げられます。料金は、関数に割り当てたメモリの量と、同時実行数として設定した値によって異なります。実行時間は、コードの実行が開始された瞬間から、その処理が返される、もしくは中止されるまでの時間で計算され、値は 1 ミリ秒単位で切り上げられます**。料金は関数に割り当てたメモリ量により異なります。
** 実行時間に対する課金は、関数のハンドラーのコードに加え、そのハンドラーの外部に記述されている初期化コードの実行に対しても適用されます。AWS Lambda Extensions を使用した Lambda 関数の場合、持続時間には、最後に実行している拡張機能のコードがシャットダウンフェーズで実行を終えるまでの時間も含まれます。AWS Lambda は、Provisioned Concurrency を設定した関数に対しては、その実行環境の再利用と、初期化コードの再実行を周期的に行います。詳細については、Lambda のプログラミングモデルに関するドキュメントをご参照ください。
Lambda の無料利用枠は、Provisioned Concurrency が有効になっている関数には適用されません。関数の Provisioned Concurrency を有効にして実行した場合、そのリクエストと実行時間は、次に示す料金に基づき課金されます。
以下の例はすべて米国東部 (バージニア北部) の料金に基づいています。
-
例 1: モバイルアプリケーションのローンチ
お客様がモバイルアプリケーションのデベロッパーで、食べ物を注文するモバイルアプリケーションを構築しているとします。顧客はこのアプリケーションを使用して、特定のレストランの場所で料理を注文し、注文状況の更新を受け取り、注文が完了したら料理を受け取ることができます。アプリケーションの需要は、時間帯やレストランの場所によって大きく変動することが予想されるため、AWS Lambda などのサーバーレスサービスを使用してモバイルバックエンドを構築します。お客様がモバイルアプリケーションのデベロッパーで、食べ物を注文するモバイルアプリケーションを構築しているとします。顧客はこのアプリケーションを使用して、特定のレストランの場所で料理を注文し、注文状況の更新を受け取り、注文が完了したら料理を受け取ることができます。アプリケーションの需要は、時間帯やレストランの場所によって大きく変動することが予想されるため、AWS Lambda などのサーバーレスサービスを使用してモバイルバックエンドを構築します。簡単にするために、アプリケーションが 1 か月に 300 万件のリクエストを処理するとします。関数の
平均実行時間は 120 ミリ秒です。x86 ベースのプロセッサで 1536 MB のメモリを使用して関数を設定しました。新バージョンのモバイルアプリケーションをローンチし、大々的にマーケティングを行いました。ローンチ日の正午から午後 8 時までの間、需要が急増することが予想されます。需要が急激にスケールアップ、ダウンしても、モバイルアプリケーションが反応するようにしたいので、Lambda 関数で Provisioned Concurrency を有効にします。Provisioned Concurrency を 100 に設定しました。
この 8 時間の間に、関数は 500,000 件のリクエストを受け取りました。Provisioned Concurrency が有効な時の
関数の平均実行時間は 100 ミリ秒です。その月の残りの期間、アプリケーションはさらに 250 万件のリクエストを受信し、Provisioned Concurrency を有効にしなくても関数がリクエストに応じて実行されます。この場合、料金は以下のように計算されます。
Provisioned Concurrency 料金:
Provisioned Concurrency 料金は、GB-s あたり 0.0000041667 USD です。
Provisioned Concurrency が有効になっている合計期間 (秒) = 8 時間 × 3,600 秒 = 28,800 秒
構成された同時実行の合計 (GB): 100 x 1536 MB/1,024 MB = 150 GB
Provisioned Concurrency の合計量 (GB-s) = 150 GB x 28,800 秒 = 4,320,000 GB-s
Provisioned Concurrency 料金 = 4,320,000 GB-s x 0.0000041667 USD = 18 USDリクエストの料金:
1 か月のリクエスト料金は 1,000,000 件のリクエストにつき 0.20 USD で、無料利用枠は 1 か月に 1,000,000 件です。
合計リクエスト – 無料利用枠 = 1 か月の請求リクエスト
3,000,000 件のリクエスト – 1,000,000 件の無料利用枠のリクエスト = 2,000,000 件の月間請求リクエスト
1 か月のリクエスト料金 = 2 × 0.20 USD = 0.40 USDProvisioned Concurrency が有効なときのコンピューティング料金:
コンピューティング料金は GB-s 当たり 0.0000097222 USD です。
合計コンピューティング時間 (秒) = 500,000 × 100 ミリ秒 = 50,000 秒
合計コンピューティング (GB-s) = 50,000 秒 × 1536 MB/1024 MB = 75,000 GB-s
コンピューティング料金の合計 = 75,000 GB-s × 0.0000097222 USD = 0.73 USD
Provisioned Concurrency が無効なときのコンピューティング料金:
1 か月のコンピューティング料金は 1 GB-s につき 0.0000166667 USD で、無料利用枠は 400,000 GB-s です。
合計コンピューティング (秒) = 2,500,000 × 120 ミリ秒 = 300,000 秒
合計コンピューティング (GB-s) = 300,000 × 1536 MB/1024 MB = 450,000 GB-s
合計コンピューティング – 無料利用枠 = 1 か月の請求コンピューティング GB-s
450,000 GB-s – 400,000 GB-s の無料利用枠 = 50,000 GB-s
1 か月のコンピューティング料金 = 50,000 × 0.0000166667 USD = 0.83 USD
合計月額料金:
合計料金 = Provisioned Concurrency 料金 + リクエスト料金 + Provisioned Concurrency が有効なときのコンピューティング料金 + Provisioned Concurrency が無効なときのコンピューティング料金
合計料金 = 18 USD + 0.40 USD + 0.73 USD + 0.83 USD = 19.96 USD
-
例 2:「サイバーマンデー」期間中に顧客を最も関連性の高いサポートソリューションのコンテンツに誘導する
米国の感謝祭の後の月曜日に開催される e コマースの祝日「サイバーマンデー」に大規模なセールを行う小売業者だとします。お客様の顧客は、お客様が提供するモバイルアプリケーションを使ってカスタマーサポートとライブチャットができます。お客様は、自然言語処理 (NLP) モデルをデプロイすることに決めます。米国の感謝祭の後の月曜日に開催される e コマースの祝日「サイバーマンデー」に大規模なセールを行う小売業者だとします。お客様の顧客は、お客様が提供するモバイルアプリケーションを使ってカスタマーサポートとライブチャットができます。お客様は、自然言語処理 (NLP) モデルをデプロイすることに決めます。このケースでは、AWS Lambda で人気の高い BERT (Bidirectional Encoder Representations from Transformers) モデルを使用しています。このモデルは、モバイルアプリケーションを介したカスタマーサービスのやり取りを解析、分析、理解して、関連するサポートコンテンツを表示したり、顧客を適切なカスタマーサービス担当者に誘導したりするのに役立ちます。今回のセールでは、通常よりも大幅に多くのカスタマーサポートの問い合わせを受けることになるため、Lambda 関数で Provisioned Concurrency を有効にして、トラフィックがスパイクしてもアプリケーションが迅速に応答できるようにしました。
Provisioned Concurrency を有効にした状態で、セールイベント期間中の 24 時間に関数が 200 万件のリクエストを受け取ったとします。関数の平均実行時間は 280 ミリ秒です。x86 ベースのプロセッサに 4,096 MB のメモリを搭載し、Provisioned Concurrency を 7 に設定して関数を構成します。
この場合、料金は以下のように計算されます。
Provisioned Concurrency 料金:
Provisioned Concurrency 料金は、GB-s あたり 0.0000041667 USD です。
Provisioned Concurrency が有効になっている合計期間 (秒) = 24 時間 × 3,600 秒 = 86,400 秒
構成された同時実行の合計 (GB): 7 × 4096 MB/1024 MB = 28 GB
Provisioned Concurrency の合計量 (GB-s) = 28 GB x 86,400 秒 = 2,419,200 GB-s
Provisioned Concurrency 料金 = 2,419,200 GB-s x 0.0000041667 USD = 10.08 USDProvisioned Concurrency が有効なときのコンピューティング料金:
コンピューティング料金は GB-s 当たり 0.0000097222 USD です。
合計コンピューティング時間 (秒) = 2,000,000 × 280 ミリ秒 = 560,000 秒
合計コンピューティング (GB-s) = 560,000 秒 × 4096 MB/1024 MB = 2,240,000 GB-s
コンピューティング料金の合計 = 2,240,000 GB-s × 0.0000097222 USD = 21.78 USD1 か月のリクエスト料金:
1 か月のリクエスト料金はリクエスト 1,000,000 件あたり 0.20 USD です。
1 か月のリクエスト料金 = 2,000,000 × 0.2 USD ÷ 1,000,000 = 0.40 USD合計月額料金:
合計料金 = Provisioned Concurrency 料金 + Provisioned Concurrency が有効なときのコンピューティング料金 + リクエスト料金 = 10.08 USD + 21.78 USD + 0.40 USD = 32.26 USD
SnapStart の料金
スナップショットは、SnapStart を有効にして関数の新しいバージョンをパブリッシュするたびに作成されます。関数バージョンがアクティブな期間中、最低 3 時間、その後は 1 ミリ秒ごとに、スナップショットのキャッシュについて課金されます。料金は関数に割り当てたメモリ量により異なります。また、Lambda がスナップショットを復元して実行環境を再開するたびに課金されます。料金は関数に割り当てたメモリの量によって異なります。
SnapStart の料金は、サポートされている Java マネージドランタイムには適用されません。
-
料金例: ストリーミングテレメトリにメタデータを追加して強化する
例えば、お客様が物流会社で、現場に複数の車両を配置しているとします。各車両にはセンサーと 4G/5G 接続機能が搭載されており、テレメトリデータを Amazon Kinesis Data Stream に送信します。開発した機械学習 (ML) モデルを使用して、車両のヘルス状態を推測し、特定のコンポーネントのメンテナンスが必要になる時期を予測したいと考えています。
例えば、現場に 1 万台の車両があり、それぞれの車両が 1 時間に 1 回、十分なジッターでスタガ方式でテレメトリを発信しているとします。この推論を各ペイロードに対して行うことで、車両のメンテナンスを迅速化し、保有車両のヘルス状態を最適に保つことができます。
機械学習モデルは関数と一緒にパッケージされており、サイズは 512 MB であると仮定します。推論のために、関数には 1 GB のメモリを設定し、x86 ベースのプロセッサでは請求される実行時間は平均 2 秒です。関数のバージョンは 1 つ維持されます。わかりやすくするために、すべてのリクエストの 1% が新しい実行環境の作成につながったと仮定します。
これらの 1% のリクエストでは、エンドツーエンドの処理に数秒かかることに気付きました。これは、初期化中に大規模なソフトウェアモジュールと ML モデルをインポートするため、関数の初期化に数秒かかるためです。これらのリクエストのエンドツーエンド処理時間を短縮したいので、関数で SnapStart を有効にして、新しいバージョンをパブリッシュします。
この場合、料金は以下のように計算されます。
リクエストの料金
1 か月間に車両が発するメッセージ数は 10,000 × 24 × 31 = 7,440,000 件で、これらが Lambda 関数で処理されます。1 か月のリクエスト料金: 7,440,000 × 0.20 USD ÷ 1,000,000 = 1.49 USD
1 か月のコンピューティング料金
1 か月に、1 メッセージにつき 1 回、2 秒間、関数が実行されます。1 か月のコンピューティング時間 (秒): 7,440,000 × 2 秒 = 14,880,000 秒
1 か月のコンピューティング (GB/秒): 14,880,000 秒 × 1024 MB ÷ 1024 MB = 14,880,000 GB/秒
1 か月のコンピューティング料金: 14,880,000 GB/秒 × 0.0000166667 USD = 248.00 USDSnapStart の料金:
関数バージョンがアクティブになっている合計時間 (秒): 24 時間 × 31 日 x 3600 秒 = 2,678,400 秒
割り当てられた関数メモリ: 1024 MB ÷ 1024 MB -> 1 GB
SnapStart キャッシュの合計使用量: 1 GB × 2,678,400 秒 -> 2,678,400 GB/秒
SnapStart キャッシュの料金: 2,680,000 GB/秒 × 0.0000015046 USD = 4.03 USDSnapStart リストアを使用するリクエスト数: 7,440,000 件の 1% = 74,400
SnapStart リストアの総使用量: 74,400 × 1 GB = 74,400 GB
SnapStart リストアの料金: 74,400 GB × 0.0001397998 USD = 10.4 USDSnapStart の合計料金: SnapStart キャッシュの料金 + SnapStart リストアの料金
SnapStart の合計料金: 4.03 USD + 10.4 USD = 14.43 USD合計月額料金
合計料金 = リクエスト料金 + コンピューティング料金 + SnapStart 料金
合計料金 = 1.49 USD + 248.00 USD + 14.43 USD = 263.92 USD
Lambda HTTP 応答ストリームの料金
以下の例はすべて米国東部 (バージニア北部) の料金に基づいています。
-
料金例: サーバー側でレンダリングされた Web コンテンツのストリーミング
お客様がウェブアプリケーションの開発者で、Lambda 関数によってサーバー側でレンダリングされたウェブサイトを構築しているとしましょう。Lambda 関数は、リクエストと複数のダウンストリームサービス呼び出しの結果に基づいて HTML コンテンツを動的に生成します。これらの呼び出しの中には、応答を返すまでに長い時間がかかるものもあります。ユーザーのページ読み込みエクスペリエンスを最適化するには、Lambda の HTTP 応答ストリーミング機能を使用して、関数で生成されるとすぐに HTML の最初のチャンクをブラウザにレンダリングすることで、Time to First Byte のパフォーマンスを向上させます。
簡単にするために、アプリケーションが 1 か月に 300 万件のリクエストを処理するとします。また、AWS 無料利用枠に含まれている 100 GB の応答ストリーミングを使い果たしたとします。関数の平均実行時間は 500 ミリ秒です。x86 ベースのプロセッサで 1536 MB のメモリを使用して関数を設定しました。リクエストあたりの平均ペイロードサイズは、1 か月あたり最初の 200 万件のリクエストで 100 KB、1 か月あたり最後の 100 万件のリクエストで 7 MB です。計算例では、1 GB = 1,024 MB と仮定しています。
この場合、料金は以下のように計算されます。
1 か月のコンピューティング料金
1 か月のコンピューティング料金は 1 GB-s につき 0.0000166667 USD で、無料利用枠は 400,000 GB-s です。
合計コンピューティング (秒) = 3,000,000 × 500 ミリ秒 = 1,500,000 秒
合計コンピューティング (GB-s) = 1,500,000 × 1536 MB/1024 MB = 2,250,000 GB-s
合計コンピューティング – 無料利用枠 = 1 か月の請求コンピューティング GB-s
2,250,000 GB-秒 – 400,000 GB-秒の無料利用枠 = 1,850,000 GB-秒
1 か月のコンピューティング料金 = 1,850,000 × 0.0000166667 USD = 30.83 USD1 か月のリクエスト料金
1 か月のリクエスト料金は 1,000,000 件のリクエストにつき 0.20 USD で、無料利用枠は 1 か月に 1,000,000 件です。
合計リクエスト – 無料利用枠のリクエスト = 1 か月の請求リクエスト
300 万件のリクエスト – 100 万件の無料利用枠のリクエスト = 200 万件の月間請求リクエスト
1 か月のリクエスト料金 = 2,000,000 × 0.2 USD ÷ 1,000,000 = 0.40 USD処理済みバイト数料金
ストリーミングされたバイトの月額料金は、ストリーミングされた GB あたり 0.008 USD で、無料利用枠は 1 か月あたり 100 GB です。リクエストごとにストリーミングされた最初の 6 MB も無料です。
ストリーミングされた空きバイト数 (GB) = 200 万件のリクエスト x 100 KB = 190.7 GB
リクエストあたり 100 KB < 6 MB なので、ストリーミングされた 190.7 GB は無料です。
ストリーミングされた課金バイト数 (GB) = 100 万件のリクエスト x (7 MB – 6 MB) = 976.56 GB
ストリーミングされたバイトの月額料金 = 976.56 GB x 0.008 ドル = 7.81 USD合計月額料金:
合計料金 = コンピューティング料金 + リクエスト料金 + ストリーミングされたバイトの料金 = 30.83 USD + 0.40 USD + 7.81 USD = 1 か月あたり 39.04 USD
データ転送およびその他の料金
データ転送
Lambda 関数が実行されたリージョン外からの AWS Lambda 関数に対する、または Lambda 関数からのデータの転送は、「データ転送」に記載されている Amazon EC2 データ転送料金が課金されます。
AWS Lambda Functions でのデータ転送は、同一 AWS リージョン内であれば、以下のサービス間は無料です。Amazon Simple Storage Service (S3)、Amazon Glacier、Amazon DynamoDB、Amazon Simple Email Service (SES)、Amazon Simple Queue Service (SQS)、Amazon Kinesis、Amazon Elastic Container Registry (ECR)、Amazon Simple Notification Service (SNS)、Amazon Elastic File System (EFS)、および Amazon SimpleDB。
Amazon Virtual Private Cloud (VPC) または VPC ピアリングを使用して AWS Lambda 関数を使用する場合は、 Amazon Elastic Compute Cloud (EC2) のオンデマンド料金のページで説明されているように、追加料金が発生します。VPC ピア接続は、プライベート IPv4 アドレスまたは IPv6 アドレスを使用して 2 つの VPC 間でトラフィックのルーティングを可能にするネットワーク接続です。
AWS のサービスの料金詳細については、該当する AWS のサービスの詳細ページにある料金セクションを参照してください。
Lambda@Edge の料金
Lambda@Edge 関数は 1 ミリ秒単位で計測されます
-
料金の例:
Lambda@Edge 関数でコードを 1 か月に 1 千万回実行し、毎回の実行時間が 10 ミリ秒であった場合、発生する料金は以下のように計算されます。Lambda@Edge 関数でコードを 1 か月に 1 千万回実行し、毎回の実行時間が 10 ミリ秒であった場合、発生する料金は以下のように計算されます。1 か月のコンピューティング料金
1 か月のコンピューティング料金は、128 MB-秒の使用につき 0.00000625125 USD です。
合計コンピューティング時間 (秒) = 10,000,000 × (0.01 秒) = 100,000 秒
1 か月のコンピューティング料金 = 100,000 × 0.00000625125 USD = 0.63 USD
1 か月のリクエスト料金1 か月のリクエスト料金はリクエスト 1,000,000 件あたり 0.60 USD です。
1 か月のリクエスト料金 = 10,000,000 × 0.6 USD ÷ 1,000,000 = 6.00 USD
合計月額料金
合計料金 = コンピューティング料金 + リクエスト料金 = 0.63 USD + 6.00 USD = 6.63 USD/月
料金に関するその他のリソース
AWS の月額料金を簡単に計算
個別のお見積もりをご希望の場合、AWS のスペシャリストに問い合わせる