View a markdown version of this page

AWS Fargate または AWS Lambda? - AWS 決定ガイド

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

AWS Fargate または AWS Lambda?

違いを理解し、自分に合ったものを選択する

目的

または がサーバーレスコンピューティングサービスのニーズ AWS Fargate AWS Lambda を満たしているかどうかを調査します。

最終更新日

2026 年 8 月 21 日

対象サービス

序章

より広範な AWS コンピューティングサービスをすでに検討しているかもしれません。これらは、AWS コンピューティングサービスの選択決定ガイドで説明されています。選択肢を AWS Lambda と に絞り込んだ場合 AWS Fargate、サーバーレスコンピューティングサービスを探している可能性があります。どちらのサービスにも以下の利点があります。

注記

このガイドでは、Lambda 関数と Lambda マネージドインスタンスについて説明します。信頼できないコードを実行するためのセッションベースの独立したサンドボックスを提供する Lambda MicroVMs は、このガイドでは説明されていない個別のコンピューティングプリミティブです。Lambda MicroVMs「Lambda デベロッパーガイド」の「Lambda MicroVMs」を参照してください。

注記

AWS は、このガイドでは説明されていない関連するコンピューティングオプションも提供します。これには、コンテナのデプロイを簡素化するための Amazon ECS Express Mode や、マネージドインフラストラクチャを使用して特定の EC2 インスタンスタイプでコンテナを実行するための Amazon ECS マネージドインスタンスが含まれます。コンテナコンピューティングオプションの詳細については、「Amazon ECS デベロッパーガイド」を参照してください。

  • 運用オーバーヘッドの削減: Lambda と Fargate の両方がサーバー管理を抽象化します。これにより、パッチ適用、メンテナンス、キャパシティプランニングの必要性が軽減されます。

  • Pay-per-use: 実際に使用したコンピューティングリソースに対してのみ料金が発生します。これにより、可変ワークロードのコストを削減できます。

  • デプロイの高速化: これらのサービスは通常、デプロイ時間を短縮します。これは、EC2 インスタンスのプロビジョニングと設定と比較されます。

  • 組み込みの高可用性: どちらのサービスもインフラストラクチャの冗長性を自動的に処理します。

  • コンプライアンスの簡素化: アタックサーフェスの縮小と組み込みのセキュリティ機能により、コンプライアンス作業が容易になります。

  • コードに焦点を当てる: 開発者は、インフラストラクチャを管理するのではなく、アプリケーションコードの作成に集中できます。

Lambda と Fargate はどちらもサーバーレスオプションですが、それらには大きな違いがあります。

AWS Fargate

AWS Fargate は、コンテナ用のサーバーレスコンピューティングエンジンです。これは主に Amazon ECS で使用されます。Fargate を使用すると、基盤となるインフラストラクチャを管理することなく、コンテナ化されたアプリケーションのデプロイとスケーリングに集中できます。Fargate は、長時間実行されるアプリケーション、マイクロサービス、またはバッチ処理に最適です。これにより、基盤となるサーバーを管理することなく、リソース割り当て (CPU、メモリ) をきめ細かく制御できます。

AWS Lambda

AWS Lambda は、イベントに応じてコードを実行するサーバーレスコンピューティングサービスです。基盤となるコンピューティングリソースを管理します。Lambda 関数は、イベント駆動型アプリケーションに最適です。例としては、Amazon S3 にアップロードされたファイルの処理、HTTP リクエストへの応答、スケジュールされたタスクの実行、データストリームの処理などがあります。データソースには、Amazon Kinesis と Amazon DynamoDB が含まれます。Lambda 関数の最大実行時間は、呼び出しごとに 15 分です。Lambda は、checkpoint-and-replayの実行を使用して最大 1 年間実行できるワークフローのプログラミングモデルである耐久性の高い関数も提供します。Lambda マネージドインスタンスを使用すると、さまざまな EC2 インスタンスタイプで関数を実行できます。Lambda の運用上のシンプルさを維持します。

次のガイドラインを使用して、2 つのサービスから選択できます。

  • プロジェクトにイベント駆動型タスク、予測不可能なワークロード、または待機負荷の高いオーケストレーションワークフローが含まれる場合は、Lambda 関数を検討してください。

  • ワークロードが定常状態または予測可能で、EC2 の料金と特殊なコンピューティングの利点がある場合は、Lambda マネージドインスタンスが適している可能性があります。

  • 特定のリソースニーズまたは永続的なプロセスでコンテナ化されたアプリケーションを実行する必要がある場合は、Fargate を検討してください。

ハイブリッドアーキテクチャで両方のサービスを組み合わせることもできます。Lambda と Fargate を組み合わせたパターンについては、 AWS 「規範ガイダンス」の「Fargate を使用してイベント駆動型およびスケジュールされたワークロードを大規模に実行する」を参照してください。

次の表は、これらのサービスの主な違いをside-by-side比較したものです。

機能 AWS Fargate AWS Lambda
実行モデル コンテナベースのサーバーレスコンピューティング イベント駆動型のサーバーレス関数 (オプションの耐久性のあるオーケストレーションを使用)
サポートされている言語 コンテナで実行できる任意の言語 Node.js、Python、Java、C#、Go、Ruby、PowerShell。他の言語のカスタムランタイムを構築することもできます。
ユースケース 長時間実行されるコンテナ化されたアプリケーション 短期間のイベント駆動型タスク (または耐久性のある関数を使用した最大 1 年間のワークフロー)
実行パターン 継続的なコンピューティング (長時間実行されるプロセス、永続的な接続) オプションの待機負荷の高いオーケストレーションによるイベント駆動型 (耐久性のある関数)
スケーリング 予測スケーリングをサポートする、必要なタスク数に基づく自動スケーリング リクエストあたりの自動スケーリング
コールドスタート イメージサイズと設定によって異なります ランタイムとパッケージサイズによって異なる
実行時間の制限 ハード制限なし 呼び出しごとに 15 分 (永続的な関数は最大 1 年間のワークフローを調整します)
メモリの割り当て 最大 244 GiB 最大 10 GiB
CPU 割り当て 最大 32 vCPU メモリに比例、最大 6 vCPU
ネットワーク ENIs。Amazon VPC Lattice および IPv6-only設定をサポート Hyperplane を使用して AWS AWS マネージド VPC で実行することも、カスタマーマネージド VPC にアタッチすることもできます
状態の管理 コンテナは、実行中にリクエスト間でインメモリ状態を維持できます。重要なデータには外部ストレージが推奨されます。 ステートレス設計 (ステートは、Amazon S3、Amazon DynamoDB、Amazon EFS など、外部で管理する必要があります)。耐久性のある関数は、ワークフローの状態を最大 1 年間保持できます。
コンテナのサポート コンテナのフルサポート 制限されたコンテナのサポート (コンテナイメージのデプロイ経由)
オーケストレーション Amazon ECS との統合 オーケストレーションは不要
デプロイ戦略 Blue/Green、Canary、線形のネイティブデプロイ 段階的なデプロイの加重エイリアス
料金モデル 使用される vCPU とメモリの 1 秒あたりの請求。x86 と ARM で Fargate Spot が利用可能 呼び出しと期間ごと (GB 秒)。Lambda マネージドインスタンスは EC2-based料金を提供します。
同時実行数の制限 クラスター容量に基づく デフォルトでは 1000 件の同時実行 (増やすことができます)
イベント駆動型の呼び出し 追加セットアップが必要 さまざまな AWS イベントソースのネイティブサポート
コールドスタートの緩和 Seekable OCI (SOCI) を使用したイメージの遅延ロードにより、Fargate タスクの開始を高速化できます プロビジョニングされた同時実行、SnapStart (Java、Python、.NET 用)、および Lambda マネージドインスタンスが利用可能
パッケージサイズ制限 特定の制限なし (設定されたエフェメラルストレージによって制限されるコンテナサイズ、最大 200 GiB) レイヤーを含む 250 MB 解凍、コンテナイメージデプロイ用 10 GB

Fargate と Lambda の違い

Fargate と Lambda のさまざまな主要領域の違いについて説明します。

Languages supported

Fargate: AWS Fargate はコンテナ用のサーバーレスコンピューティングエンジンで、Amazon ECS でオーケストレーションに使用されます。Docker コンテナにパッケージ化できるプログラミング言語またはランタイム環境をサポートしています。この柔軟性により、アプリケーションのニーズに合ったほぼすべての言語、フレームワーク、またはライブラリを使用できます。Python、Java、、Node.jsGo、.NET、Ruby、PHP、またはカスタム言語や環境も使用できます。Fargate は、コンテナにカプセル化されている限り、それらを実行できます。この幅広い言語サポートにより、Fargate はさまざまなアプリケーションの実行に最適です。これには、レガシーシステム、多言語マイクロサービス、最新のクラウドネイティブアプリケーションが含まれます。

Lambda: は、Fargate よりも限られた言語のネイティブサポート AWS Lambda を提供します。Lambda 関数は、イベント駆動型ワークロード専用に構築されています。Lambda は、以下の言語とランタイムを正式にサポートしています。

  • Node.js

  • Python

  • Java

  • Go

  • Ruby

  • C#

  • PowerShell

Lambda はカスタムランタイムもサポートしています。カスタムランタイムでは、独自の言語またはランタイム環境を導入できます。ただし、ネイティブにサポートされているオプションを使用するよりも多くのセットアップと管理が必要です。コンテナイメージから Lambda 関数をデプロイする場合は、 で関数を記述できますRust。 AWS OS 専用のベースイメージを使用し、Rustランタイムクライアントをイメージに含めます。 AWSが提供するランタイムインターフェイスクライアントのない言語を使用する場合は、独自の言語を作成する必要があります。

Event-driven invocation

Lambda は、本質的にイベント駆動型コンピューティング用に設計されています。Lambda 関数は、データ、ユーザーアクション、またはスケジュールされたタスクの変更に応じてトリガーされます。多くの とネイティブに統合されます AWS のサービス。これには、Amazon S3 (ファイルのアップロード時に関数を呼び出すなど)、DynamoDB (データ更新時にトリガーするなど)、API Gateway (HTTP リクエストの処理など) が含まれます。Lambda イベント駆動型アーキテクチャは、イベントにすぐに応答する必要があるアプリケーションに最適です。これらのアプリケーションには永続的なコンピューティングリソースは必要ありません。

Fargate はネイティブにイベント駆動型ではありません。ただし、追加の定型ロジックを使用すると、Amazon SQS や Kinesis などのイベントソースと統合できます。Lambda は、この統合ロジックの大部分を自動的に処理します。Fargate では、これらのサービスの APIs を使用して、この統合を自分で実装する必要があります。

Runtime/use cases

Fargate は、コンテナ化されたアプリケーションを実行するように設計されています。コンテナの CPU、メモリ、ネットワーク設定を定義できる柔軟なランタイム環境を提供します。Fargate はコンテナベースのモデルで動作します。長時間実行されるプロセス、永続的なサービス、特定のランタイム要件を持つアプリケーションをサポートします。Fargate のコンテナは、実行時間にハード制限がないため、無期限に実行できます。これにより、継続的に実行する必要があるアプリケーションに最適です。Fargate のコンテナ再起動ポリシーを使用すると、タスク内の個々のコンテナは、タスク全体を再起動せずに自動的に再起動できます。これにより、マルチコンテナワークロードの耐障害性が向上します。Fargate は、オブザーバビリティが強化された CloudWatch Container Insights と統合されています。この機能を使用すると、コンテナごとの詳細なメトリクスとトレースを取得して、アプリケーションのパフォーマンスをモニタリングできます。

Lambda 関数は、存続期間の短いイベント駆動型タスク用に最適化されています。Lambda 関数の最大実行時間は、呼び出しごとに 15 分です。これにより、Lambda 関数はファイル処理、リアルタイムデータストリーミング、HTTP リクエスト処理などのシナリオに適しています。これらのタスクは短く、長時間実行されるプロセスは必要ありません。

Lambda の耐久性の高い関数を使用すると、複数の呼び出しで状態を最大 1 年間保持できる長時間実行されるワークフローを構築できます。耐久性の高い 関数は、組み込みのエラー処理、自動再試行、障害後の復旧を提供します。耐久性の高い関数 SDK は、JavaScript、TypeScript、、PythonJava、および C# (.NET) で使用できます。待機期間中、関数はコンピューティング料金を発生させずに停止します。永続的な関数を使用すると、以前は永続的なコンピューティング環境が必要だったユースケースに対処できます。

長時間実行されるワークロードに対して耐久性のある関数と Fargate を選択する場合は、実行パターンを検討してください。耐久性のある関数は、人間による承認、スケジュールされた遅延、外部 API コールバックなど、ほとんどの時間を待機に費やすワークフローに対して費用対効果があります。待機期間中はコンピューティング料金が発生しません。Fargate は、データ処理、永続的ネットワーク接続、中断することなくアクティブに維持する必要があるサービスなど、継続的なコンピューティングを必要とするワークロードに適しています。

Lambda では、ランタイム環境がより抽象化されます。基盤となるインフラストラクチャをあまり制御できません。標準関数の場合、各呼び出しは独立しており、ステートレスです。呼び出し間で保持する必要がある状態またはデータは、外部で管理する必要があります。例としては、データベースやストレージサービスなどがあります。

Scaling

Fargate は、実行中のタスクの数を調整してスケーリングします。これは、コンテナオーケストレーションサービス (Amazon ECS) で定義された目的の状態に基づいています。スケーリングは、Amazon EC2 Auto Scaling を使用して手動または自動で実行できます。詳細については、 AWS Containers ブログの「Under the hood: Amazon ECS and Fargate increase task launch rates」を参照してください。

Fargate では、各タスクは分離された環境で実行されます。スケーリングには、追加のタスクを起動するか、負荷に基づいてタスクを停止する必要があります。Amazon ECS サービススケジューラは、サービスあたり 1 分未満で最大 500 個のタスクを起動できます。これは、ウェブおよびその他の長時間実行されるサービスに適用されます。Amazon ECS は予測スケーリングもサポートしています。履歴パターンを使用して、需要の急増が発生する前にタスクを事前に増やします。CPU およびメモリ使用率のターゲット追跡ポリシーは、20 秒のメトリクス解決をサポートします。これにより、スケーリングシグナルの検出が高速化されます。Amazon ECS は、アベイラビリティーゾーン間でサービスタスクを自動的に再調整することもできます。これにより、高可用性が維持されます。Fargate は Fault Injection Service (FIS) と AWS 統合されています。FIS を使用すると、制御されたフォールトインジェクション実験を実行してアプリケーションの耐障害性をテストできます。

Fargate と Lambda のタスク起動の違いを示す図。

Lambda の場合、同時実行数は、 AWS Lambda 関数が同時に処理している処理中のリクエストの数です。これは Fargate の同時実行とは異なります。利用可能なコンピューティングリソースとネットワークリソースがある限り、各 Fargate タスクは同時リクエストを処理できます。Lambda は、同時実行リクエストごとに、実行環境の個別のインスタンスをプロビジョニングします。関数がより多くのリクエストを受信すると、Lambda は実行環境の数を自動的にスケーリングします。これは、アカウントの同時実行数の制限に達するまで続きます。デフォルトでは、Lambda はアカウントに対して同時実行数の合計を 1,000 回に制限します。この制限は、 のすべての関数に適用されます AWS リージョン。必要に応じて、クォータの引き上げをリクエストできます。

Lambda マネージドインスタンスでは、スケーリングの動作は異なります。マネージドインスタンスは、同時リクエストごとに新しい実行環境をプロビジョニングする代わりに、CPU リソース使用率に基づいて非同期的にスケーリングします。各実行環境は、複数の同時呼び出しを処理できます。このアプローチはリソース使用率を最大化します。定常状態または予測可能なワークロードに適しています。

デフォルトのコンピューティングタイプを使用する Lambda 関数ごとに、同時実行スケーリングレートは 10 秒ごとに 1,000 実行インスタンスです。これは、アカウントの最大同時実行数まで続きます。詳細については、 AWS 「 コンピューティングブログ」の「Lambda 関数は、大量のリクエストを処理するときに 12 倍速くスケーリングされるようになりました」を参照してください。10 秒間のリクエスト数が 1,000 を超える場合、追加のリクエストはスロットリングされます。次のグラフは、アカウントの同時実行数を 7000 と仮定して Lambda スケーリングがどのように機能するかを示しています。

数値が 1000 を超えたときにインスタンスがどのようにスロットリングされるかを示す棒グラフ。
Cold start and cold-start mitigation

Lambda 関数ではコールドスタートが発生する可能性があります。これらは、しばらくアイドル状態になった後に関数が呼び出されたときに発生します。コールドスタート中、Lambda サービスは新しい実行環境を初期化します。これには、ランタイム、依存関係、関数コードのロードが含まれます。コールドスタート時間は、ランタイム、パッケージサイズ、初期化ロジックに応じて、100 ミリ秒未満から 1 秒以上までさまざまです。Java や C# など、初期化時間が長いランタイムでは、最適化なしでコールドスタートを長くすることができます。コールドスタートは、低レイテンシーの応答を必要とするアプリケーションのパフォーマンスに影響を与える可能性があります。

Lambda のコールドスタートを軽減するには、次の戦略を検討してください。

  • 関数サイズを最小化する: 関数パッケージとその依存関係のサイズを小さくします。これにより、初期化に必要な時間を短縮できます。

  • メモリ割り当てを増やす: メモリ割り当てを増やすと CPU 容量が増加します。これにより、初期化時間を短縮できます。

  • 関数をウォームに保つ: Lambda 関数を定期的に呼び出します (CloudWatch Events の使用など)。これにより、アクティブに保たれ、コールドスタートの可能性が低くなります。

  • Lambda SnapStart: Java、、Pythonおよび .NET 関数に Lambda SnapStart を使用して起動時間を短縮します。SnapStart は、初期化された実行環境のスナップショットを作成します。それ以降の呼び出しは、フルコールドスタートを実行するのではなく、スナップショットから再開されます。

  • プロビジョニングされた同時実行数: この機能は、指定された数の関数インスタンスをウォームに保ち、リクエストを処理する準備ができています。これにより、コールドスタートのレイテンシーが短縮されます。ただし、コストが増加します。プロビジョニングされたインスタンスは、リクエストをアクティブに処理していない場合でも料金が発生します。

  • Lambda マネージドインスタンス: さまざまな EC2 インスタンスタイプで関数を実行します。これには、 Graviton4や高帯域幅ネットワークオプションなどのプロセッサが含まれます。事前プロビジョニングされた実行環境により、コールドスタートがなくなります。Lambda は、インスタンスのライフサイクル、OS とランタイムのパッチ適用、ルーティング、負荷分散、自動スケーリングを処理します。Lambda マネージドインスタンスは、実行環境ごとのマルチ同時呼び出しもサポートします。Compute Savings Plans やリザーブドインスタンスなど、EC2 の料金上の利点があります。

Fargate は通常、Lambda と同じ方法でコールドスタートの影響を受けません。Fargate タスクを開始する時間は、イメージレジストリからタスクで定義されたコンテナイメージをプルするのにかかる時間に直接相関します。Fargate は、Seekable OCI (SOCI) でインデックス化されたコンテナイメージの遅延ロードもサポートしています。SOCI を使用してコンテナイメージを遅延ロードすると、Fargate で Amazon ECS タスクを起動する時間が短縮されます。Fargate は SOCI インデックスマニフェスト v2 を使用します。これにより、遅延ロードのパフォーマンスが向上します。Fargate でタスクが開始されると、長時間実行されるプロセスになります。常にリクエストを処理する準備ができています。スケーリングイベントに応じて新しいタスクを開始する必要がある場合は、初期化中に多少の遅延が発生する可能性があります。これは通常、Lambda コールドスタートと比較してそれほど重要ではありません。

Memory and CPU options

Fargate は、コンテナ化されたアプリケーションのメモリと CPU リソースの両方をきめ細かく制御します。Fargate でタスクを起動するときに、アプリケーションの CPU とメモリの正確な要件を指定できます。CPU とメモリの割り当ては独立しています。ワークロードに最適な組み合わせを選択できます。0.25 vCPUs から 32 vCPUs までの CPU 値を選択できます。メモリの範囲は、設定に応じて、タスクごとに 0.5 GB~244 GB です。

この柔軟性は、特定のパフォーマンス特性を持つアプリケーションに最適です。例としては、メモリを大量に消費するデータベースや CPU バウンド計算タスクなどがあります。Fargate では、リソースの割り当てを最適化できます。コストとパフォーマンスを効果的にバランスさせることができます。

Lambda では、メモリと CPU がリンクされています。CPU は、選択したメモリ量に比例して自動的に割り当てられます。128 MB から 10 GB までのメモリ割り当てを 1 MB 単位で選択できます。CPU はメモリとともに最大 6 vCPU までスケーリングされます。メモリ設定が高いほど、CPU 電力が増加します。ただし、CPU 割り当て自体を直接制御することはできません。

このモデルは、わかりやすいように設計されています。CPU 設定を管理することなく、メモリ設定をすばやく調整できます。ただし、CPU リソースとメモリリソースの間で特定のバランスを必要とするワークロードでは柔軟性が低い場合があります。Lambda モデルは、メモリのニーズに基づいて簡単にスケーリングするタスクに適しています。複雑または高度に固有のリソース需要があるアプリケーションには最適ではない場合があります。

Networking

Fargate にタスクをデプロイすると、タスクは Amazon VPC (Amazon Virtual Private Cloud) で実行されます。これにより、ネットワーク環境を完全に制御できます。セキュリティグループ、ネットワークアクセスコントロールリスト (ACLs)、ルーティングテーブルを設定できます。各 Fargate タスクは、専用のプライベート IP アドレスを持つ独自のネットワークインターフェイスを取得します。必要に応じてパブリック IP アドレスを割り当てることができます。

Fargate は、ロードバランシング ( AWS Elastic Load Balancing を使用)、VPC ピアリング、VPC AWS のサービス 内の他の への直接アクセスなどの高度なネットワーク機能をサポートしています。は、サポートされている への安全なプライベート接続 AWS PrivateLink にも使用できます AWS のサービス。これにより、インターネットを経由することを回避できます。Fargate タスクは Amazon VPC Lattice もサポートしています。これにより、service-to-service接続、セキュリティ、オブザーバビリティが提供されます。Fargate タスクは IPv6-only設定で実行できます。これにより、タスクは IPv6 経由でのみ通信できます。

デフォルトでは、Lambda 関数はマネージドネットワーク環境で実行されます。ネットワークインターフェイスまたは IP アドレスを直接制御することはできません。ただし、Lambda は AWS Hyperplane を使用してカスタマーマネージド VPC にアタッチできます。これにより、VPC 内のリソースへのアクセスを制御できます。

Lambda 関数がカスタマーマネージド VPC にアタッチされると、VPC セキュリティグループとサブネット設定が継承されます。これにより、同じ VPC 内の他の AWS のサービス (RDS データベースなど) と安全にやり取りできます。Lambda は多数の同時実行環境を作成してスケーリングするため、 はそれぞれ独自のデータベース接続を維持します。同時実行数が多いと、データベース接続の制限が枯渇する可能性があります。リレーショナルデータベースにアクセスするには、Amazon RDS Proxy を使用して接続をプールおよび管理します。これにより、同時実行数が多いときに接続が枯渇することを回避できます。

Lambda サービスは、Network Function Virtualization プラットフォームを使用して NAT 機能を提供します。これにより、Lambda VPC がカスタマー VPCs。Lambda 関数を作成または更新するときに、必要な Elastic Network Interface (ENIs) を設定します。また、アカウントの ENIs を複数の実行環境で共有することもできます。これにより、Lambda は関数のスケール時にネットワークリソースをより効率的に使用できます。

ENIsは、リージョンあたり 250 のソフト制限を持つ使い果たせるリソースです。VPC アクセス用に Lambda 関数を設定する場合は、Elastic Network Interface の使用状況をモニタリングします。同じ AZ および同じセキュリティグループの Lambda 関数は ENIs を共有できます。Lambda で同時実行制限を引き上げる場合は、Elastic Network Interface の引き上げが必要かどうかを評価してください。制限に達すると、VPC 対応 Lambda 関数の呼び出しがスロットリングされます。

Pricing model

Fargate の料金は、コンテナに割り当てられたリソースに基づいています。具体的には、タスクごとに選択する vCPU とメモリを意味します。1 秒あたり 1 分の最低料金が請求されます。コストは、アプリケーションが消費するリソースに直接関連しています。アプリケーションがリクエストをアクティブに処理しているかどうかにかかわらず、プロビジョニングした分に対して料金が発生します。Fargate は、特定のリソース設定が必要な予測可能なワークロードに適しています。割り当てられたリソースを調整することで、コストを最適化できます。Fargate Spot は、x86 ベースの Linux ワークロードと ARM ベースの Linux ワークロードの両方で使用できます。これにより、耐障害性のあるアプリケーションのコストを大幅に削減できます。関連サービスには追加料金が発生する場合があります。これには、データ転送、ストレージ、ネットワーク (VPC、Elastic Load Balancing など) が含まれます。

Lambda には、イベント駆動型およびpay-per-executionという異なる料金構造があります。リクエストの数と実行期間に基づいて課金されます。期間はミリ秒単位で測定されます。Lambda は、関数に割り当てるメモリ量も考慮します。コストは、使用するメモリと実行時間に基づいてスケーリングされます。料金モデルには無料利用枠が含まれています。1 か月あたり 100 万件の無料リクエストと 400,000 GB 秒のコンピューティング時間を提供します。これにより、Lambda は少量の散発的なワークロードに対して特にコスト効率が高くなります。

Lambda 料金モデルは、予測不可能なトラフィックパターンやバーストトラフィックパターンのアプリケーションに最適です。実際の関数の呼び出しと実行時間に対してのみ料金が発生します。アイドル状態の容量をプロビジョニングしたり、料金を支払う必要はありません。

Lambda マネージドインスタンスでは、Lambda は EC2 料金モデルを使用するインスタンスベースの料金を提供します。これには、オンデマンド、リザーブドインスタンス、Compute Savings Plansが含まれます。これにより、定常状態または予測可能なワークロードのコスト効率を高めることができます。

Fargate と Lambda の両方が Compute Savings Plans の対象となります。これにより、一貫したコンピューティング使用量のコミットメントと引き換えに、コストを最大 66% 削減できます。これは、1 年または 3 年の期間で 1 時間あたりのドル単位で測定されます。

2 つのサービス間のコストを比較すると、通常、トラフィック量が少ない場合に Lambda で支払う料金が少なくなります。ただし、Fargate の 1 秒あたりのリソース請求は、持続的な高スループットのワークロードに対してより経済的になる傾向があります。リクエスト量が増えると、Lambda のコストは直線的にスケールされます。対照的に、プロビジョニングされたリソース内で処理されたリクエストに関係なく、Fargate のコストは比較的安定しています。

使用アイテム

AWS Fargate と の選択基準について読んだので AWS Lambda、ニーズに合ったサービスを選択し、以下の情報を使用してそれぞれの使用を開始できます。

AWS Fargate
  • Fargate 起動タイプの Amazon ECS Linux タスクを作成する方法について説明します。

    Linux タスクに Fargate 起動タイプを使用して AWS Fargate 、 で Amazon ECS の使用を開始します。

    ガイドを見る

  • Fargate 起動タイプの Amazon ECS Windows タスクを作成する方法について説明します。

    Windows タスクに Fargate 起動タイプを使用して AWS Fargate 、 で Amazon ECS の使用を開始します。

    ガイドを見る

  • Fargate と Amazon EKS の開始方法

    このガイドでは、Amazon EKS クラスター AWS Fargate を使用して でポッドの実行を開始する方法について説明します。

    ガイドを見る

  • AWS Fargate 料金

    このガイドでは、vCPU、メモリ、ストレージ、オペレーティングシステムの設定が AWS Fargate 料金にどのように影響するかを理解します。

    ガイドを見る

  • AWS Fargate よくある質問

    AWS Fargate 機能に関する一般的な質問に対する回答と、実装のベストプラクティスを取得します。

    ガイドを見る

AWS Lambda
  • サーバーレスファイル処理アプリケーションを作成する

    Amazon SNS をセットアップして使用するstep-by-stepのチュートリアル。トピックの作成、トピックへのエンドポイントのサブスクライブ、メッセージの発行、アクセス許可の設定などのトピックについて説明します。

    ガイドを見る

  • Serverless Developer Guide

    このガイドは、サーバーレスアプリケーション開発と、クラウドアプリケーションの中核となる アプリケーションパターン を作成するためにさまざまな AWS のサービス がどのように連携するかをより概念的に理解するのに役立ちます。

    ガイドを見る

  • サーバーレスランド

    このサイトには、 AWS Serverless の最新情報、ブログ、動画、コード、学習リソースがまとめられています。低コストでフルマネージド型のサーバーレスアーキテクチャで自動的にスケールするアプリケーションを使用および構築する方法について説明します。

    サイトを調べる

  • AWS Lambda 料金

    このガイドを使用して、関数の使用状況と設定に基づいて費用を見積もり、コストを最適化します。これには、 AWS Lambda とアーキテクチャのコストを 1 回の見積りで計算するための料金計算ツールが含まれています。

    ガイドを見る

  • AWS Lambda よくある質問

    AWS Lambda 機能に関する一般的な質問に対する回答と、実装のベストプラクティスを取得します。

    ガイドを見る