AWS Lambda 料金

期間のコストは、関数に割り当てるメモリ量により異なります。128 MB から 10,240 MB までの任意の量のメモリを 1 MB 単位で関数に割り当てることができます。下表は、最初の価格階層帯に該当する使用量(例:米国東部(オハイオ)で月間60億GB秒まで)で、異なるメモリサイズに対応する1ミリ秒あたりの価格の例を示しています。

  • x86 料金
  • Arm 料金

Lambdaのオンデマンド期間課金階層は、アカウント内の同じアーキテクチャ(それぞれx86またはArm)、同じリージョンで実行されるお客様の機能に対して、月間の期間を集計して適用されます。AWS Organizationsで統合課金を使用している場合、価格階層は、組織内のアカウント間で、同じアーキテクチャ、同じリージョンで実行されている機能の月間総所有時間に適用されます。

Lambda エフェメラルストレージの料金

エフェメラルストレージのコストは、関数に割り当てるエフェメラルストレージの量と、関数の実行時間 (ミリ秒単位) によって異なります。512 MB から 10,240 MB までの任意の量の追加ストレージを 1 MB 単位で関数に割り当てることができます。エフェメラルストレージは、x86 と Arm の両方のアーキテクチャで実行される関数に対して設定できます。512 MB のエフェメラルストレージは、各 Lambda 関数に追加コストなしで利用できます。設定したエフェメラルストレージの追加分のみを支払うことになります。

以下の例はすべて米国東部 (バージニア北部) の料金に基づいています。

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 を有効にして実行した場合、そのリクエストと実行時間は、次に示す料金に基づき課金されます。

以下の例はすべて米国東部 (バージニア北部) の料金に基づいています。

  • お客様がモバイルアプリケーションのデベロッパーで、食べ物を注文するモバイルアプリケーションを構築しているとします。顧客はこのアプリケーションを使用して、特定のレストランの場所で料理を注文し、注文状況の更新を受け取り、注文が完了したら料理を受け取ることができます。アプリケーションの需要は、時間帯やレストランの場所によって大きく変動することが予想されるため、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 USD

    Provisioned 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

  • 米国の感謝祭の後の月曜日に開催される 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 USD

    Provisioned 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 USD

    1 か月のリクエスト料金:
    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 を使用すると、レイテンシーの影響を受けやすいアプリケーションの起動パフォーマンスを、数秒からわずか 1 秒未満にまで改善できます。SnapStart は、関数の初期化されたメモリ (およびディスク) 状態のスナップショットを作成し、このスナップショットをキャッシュして低レイテンシーアクセスを実現することで機能します。その後に関数が呼び出されると、Lambda は最初から初期化するのではなく、この事前に初期化されているスナップショットから実行環境を再開し、起動レイテンシーを改善します。

スナップショットは、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 USD

    SnapStart の料金:

    関数バージョンがアクティブになっている合計時間 (秒): 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 USD

    SnapStart リストアを使用するリクエスト数: 7,440,000 件の 1% = 74,400
    SnapStart リストアの総使用量: 74,400 × 1 GB = 74,400 GB
    SnapStart リストアの料金: 74,400 GB × 0.0001397998 USD = 10.4 USD

    SnapStart の合計料金: 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 応答ストリームの料金

AWS Lambda 関数は、InvokeWithResponseStream API を介して、または ResponseStream 呼び出しモードを使用して関数 URL を通じて呼び出された場合、HTTP 応答ストリームを返すことができます。HTTP 応答ストリーミングを使用すると、Time to First Byte のパフォーマンスが向上し、6 MB を超えるペイロードがサポートされます。HTTP 応答ストリーミングを使用する場合、関数によって応答ストリームに書き込まれた GB ごとに課金されます。リクエストごとに最初の 6 MB を無料でストリーミングできます。

以下の例はすべて米国東部 (バージニア北部) の料金に基づいています。

データ転送およびその他の料金

データ転送
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 間でトラフィックのルーティングを可能にするネットワーク接続です。 

追加料金
Lambda 関数が他の AWS のサービスを使用する、またはデータを転送すると、追加料金が発生する場合があります。例えば、 Lambda 関数が Amazon S3 との間でデータを読み書きする場合、読み取り/書き込み要求について、また Amazon S3 に格納されたデータに対して課金されます

AWS のサービスの料金詳細については、該当する AWS のサービスの詳細ページにある料金セクションを参照してください。

Lambda@Edge の料金

Lambda@Edge 関数は 1 ミリ秒単位で計測されます

  • 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 の月額料金を簡単に計算

料金に関するサポートを受ける

個別のお見積もりをご希望の場合、AWS のスペシャリストに問い合わせる