In Silico

クラウド

AWS Lambdaとは?サーバーレスの仕組みと動かし方の基本

2026/10/17 シリーズ「AWS 入門」 第6回 / 全7回

シリーズAWS 入門全7回
  1. 第1回AWSとは?できることと仕組み、主要サービスをわかりやすく解説
  2. 第2回AWSマルチアカウントとは?分ける理由とOrganizationsの設計
  3. 第3回AWS IAMロールとポリシーの違いとは?使い分けと許可の決まり方
  4. 第4回AWS VPC設計入門:CIDRの決め方とサブネットの分け方
  5. 第5回Amazon EC2とは?インスタンスの起動・料金・タイプの選び方
  6. 第6回AWS Lambdaとは?サーバーレスの仕組みと動かし方の基本
  7. 第7回Amazon S3とは?バケットとオブジェクトの仕組み、料金と公開設定

このシリーズの紹介へシリーズ一覧へ

  • AWS Lambda
  • サーバーレス
  • 冪等性
  • 非同期呼び出し
  • 同期呼び出し
  • イベントソースマッピング
  • 再試行
  • Step Functions
  • 同時実行
  • コールドスタート
  • DynamoDB
  • Event Functions
  • Powertools
  • ハンドラー
  • 実行ロール
  • CloudWatch Logs
  • 料金
  • Builders' Library
  • Well-Architected
  • デッドレターキュー
  • SQS
  • クラウド
  • AWS
目次
背景・問い・要点
背景

AWS Lambda は、コードを動かすサーバーを利用者が用意も管理もせずに、クラウドの上でコードを実行できるサービスである1。サーバーの用意と管理を AWS に任せて使うこのような形を、サーバーレスと呼ぶ。Lambda では、動かすコードのまとまりを関数と呼ぶ。関数は、イベントを受け取ったときに動く2。イベントは、「ファイルがアップロードされた」「注文が確定した」のような出来事を表すデータで、関数への入力になる。料金は、呼び出しの回数と、関数が動いた時間に応じてかかる2。

AWS は 2014 年 11 月に Lambda を発表し、EC2 のインスタンス(AWS で借りる仮想のサーバー)を設定も起動も監視もしなくてよい、と説明した3。関数は、Lambda が用意する実行環境の中で動く。呼び出しが終わった実行環境は、しばらく保たれ、同じ関数の次の呼び出しに使い回されることがある。新しい実行環境を用意するときは、コードの読み込みと準備に時間がかかり、これをコールドスタートと呼ぶ。この時間にも料金がかかる45。一回の呼び出しで動ける時間は、通常の関数では最長 15 分である6。

2026 年、Lambda には MicroVMs(6 月)と、HTTP のリクエストを直接受ける Web Functions(10 月)が加わり、それまでの関数は Event Functions と呼ばれるようになった278。この記事が扱うのは、この Event Functions である。

問い

イベントが届くと、Lambda は関数をどう動かすのか。関数はどう呼び出され、失敗したときや同じイベントが二度届いたときには、どうなるのか。サーバーを管理しなくてよいなら、関数を書く側は何に気をつければよいのか。

要点

Lambda は、イベントが届くたびに、実行環境を新しく用意するか、空いているものを使い回して関数を動かし、同時に届けば実行環境を増やす。関数は、ハンドラーと呼ぶ入口のコードと、メモリ、タイムアウト、実行ロールの設定からなり、料金は呼び出しの回数と、動いた時間とメモリを掛けた GB 秒で数える。関数の呼び出し方は、同期、非同期、イベントソースマッピングの三つで、失敗したときにやり直す側が違う。非同期とイベントソースマッピングでは Lambda が自動で再試行する。さらに、非同期ではエラーが無くても同じイベントを渡すことがあり、イベントソースマッピングでは同じレコードを二度処理することがある。同じイベントが関数に二度以上届きうるので、AWS は、同じイベントを何度処理しても結果が一度だけ処理したときと同じになる、冪等(べき等)な関数を書くよう勧めている。処理の手順をつなぐときは、関数から関数を同期で呼ばず、手順ごとに再試行を設定できる Step Functions を使う方法がある。

モデル・例示

写真が置かれるたびに、サムネイルを作る

※ この節の数値は説明のための仮定で、測定値ではありません。

あるアルバムのサイトでは、利用者が写真を S3(AWS のファイルを保存するサービス)のバケット(ファイルを入れておく入れ物)に置くと、関数がその写真を縮めたサムネイルを作り、別のバケットに置く。AWS が Lambda のデベロッパーガイドにチュートリアルとして載せている構成である9。関数のコードは、受け取ったイベントから写真の名前を読み、写真を縮め、名前の前に「resized-」を付けて置く。S3 は、ファイルが置かれたことを知らせるとき、関数を非同期で呼ぶ。非同期の呼び出しでは、Lambda はイベントをキュー(届いたものを順に預かり、取り出されるまで待たせておく列)に入れてすぐに応え、そのあとで関数を動かす10。

  1. S3Lambda1. photo-01.jpg が置かれたと知らせる
  2. LambdaS32. 受け付けた
  3. Lambda実行環境3. 新しく用意してコードを読み込み、photo-01.jpg のイベントを渡す
  4. 実行環境S34. resized-photo-01.jpg を置く
  5. 実行環境Lambda5. 成功
  6. S3Lambda6. photo-02.jpg が置かれたと知らせる
  7. LambdaS37. 受け付けた
  8. Lambda実行環境8. 空いている実行環境に photo-02.jpg のイベントを渡す
※概念図(やりとり):本文の手順を図式化したもの。

photo-01.jpg のときは、実行環境がまだ無かったので、Lambda は新しく用意してコードを読み込んだ。これがコールドスタートである。photo-02.jpg のときは、処理を終えて空いた実行環境が残っていたので、Lambda はそれを使い、読み込みは要らなかった114。一つの実行環境は、一度に一つの呼び出ししか扱えない。photo-03.jpg と photo-04.jpg を同時に処理することになると、Lambda は実行環境をもう一つ用意して、二つの呼び出しを同時に動かす11。このように同時に処理している呼び出しの数を、同時実行と呼ぶ。サムネイルを別のバケットに置くのは、関数を呼ぶバケットに関数がファイルを置くと、そのファイルがまた関数を呼び、呼び出しが止まらずに続いて、思わぬ料金がかかりうるからである9。

同じイベントが、二度届くこともある。

  1. S3Lambda1. photo-05.jpg が置かれたと知らせる
  2. Lambda実行環境2. photo-05.jpg のイベントを渡す
  3. 実行環境S33. resized-photo-05.jpg を置く
  4. 実行環境Lambda4. 成功
  5. Lambda実行環境5. 同じ photo-05.jpg のイベントを、もう一度渡す
  6. 実行環境S36. resized-photo-05.jpg を、もう一度置く
※概念図(やりとり):本文の手順を図式化したもの。

関数は成功を返したのに、同じイベントがもう一度届いた。AWS は、Lambda がイベントを預けるキューそのものが結果整合性(中の状態が、すぐには揃わない性質)を持つため、関数がエラーを返さなくても、同じイベントを二度以上渡すことがあると説明している12。サムネイルを置き終えたあとにタイムアウトなどでエラーになった場合も、Lambda は 1 分待ってから、同じイベントで関数をもう一度動かす12。

それでも、サムネイル作りでは困ることはない。二度目も同じ写真から同じ名前で置くので、サムネイルの中身は一度目と変わらない。バケットでバージョニング(ファイルの古い版を残す設定)を有効にしていれば版が一つ増え、更新の時刻も変わるが、利用者に見える結果は同じである。同じイベントを何度処理しても、結果が一度だけ処理したときと同じになる。この性質を冪等という。関数が、サムネイルを置くたびにアルバムの写真の枚数に 1 を足すようにもしていたら、そうはいかない。二度目の呼び出しで、枚数は二つ増える。

関数を作るときに決めること:コード、メモリと時間、権限、ログ

関数のコードの入口は、ハンドラーと呼ぶ関数である。Lambda は、関数が呼び出されるたびにハンドラーを動かし、イベントと、その呼び出しについての情報(コンテキスト)を渡す13。Python なら、次の形になる。

def lambda_handler(event, context):
    # event から処理するデータを読み、処理をする
    return {"status": "ok"}

コードを動かす言語ごとの環境を、ランタイムと呼ぶ。Lambda は Node.js、Python、Java などのランタイムを用意しており、Go や Rust のようなほかの言語は、OS だけのランタイムの上で動かす14。関数は、コンソール(AWS をブラウザから操作する画面)で作れる。Java や C# のようにコンパイルする言語では、手元で作ったデプロイパッケージ(コードと必要なライブラリをまとめたファイル)をアップロードする。コンソールでは、テスト用のイベントを作って関数を動かし、応答とその呼び出しのログをその場で見られる15。

関数には、次の設定を決める。

何に使い、料金をどう数えるか

Lambda で何ができるかは、関数を何に呼ばせるかで決まる。関数を呼ぶものは、コンソールの「トリガーを追加」などで関数につなぐ20。

使い方関数を呼ぶもの
ファイルが置かれたら処理するS3 が呼ぶ10
決めた時刻に処理するEventBridge Scheduler(決めた時刻や間隔で処理を起こす AWS のサービス)が呼ぶ20
キューやストリームのデータを処理するLambda がキューなどを読みに行って呼ぶ21
HTTP のリクエストに答えるAPI Gateway(HTTP のリクエストを受けて関数などに渡す AWS のサービス)が呼ぶ22。関数 URL という、関数専用の HTTP(S) の入口を付けることもできる23

料金は、呼び出しの回数と、関数が動いた時間をメモリの量と掛け合わせた GB 秒で数える24。たとえば、メモリが 512 MB(0.5 GB)の関数が 1 回 0.2 秒で終わるなら、100 万回呼んで 0.5 × 0.2 × 100 万 = 10 万 GB 秒になる。無料利用枠には、毎月 100 万回の呼び出しと 40 万 GB 秒が含まれる24ので、回数も GB 秒も枠に収まる。呼び出しが無い時間には、この二つの料金はかからない。動かしているあいだ料金がかかり続ける EC2 のインスタンスとの、大きな違いである。

三つの呼び出し方と、失敗したときにやり直す側

同期呼び出しでは、呼んだ側が関数の終わりを待ち、結果を受け取る。非同期呼び出しでは、Lambda がイベントをキューに入れてすぐに応え、あとで関数を動かす25。前の表の API Gateway は同期で、S3 と EventBridge Scheduler は非同期で関数を呼ぶ221020。イベントソースマッピングは、Lambda が自分で読みに行って関数を呼ぶ仕組みである。読む先は、AWS のキューのサービスである SQS や、Kinesis のようなストリーム(記録を発生した順に流し続け、読む側が順に読むサービス)で、それらの記録(レコード)を何件かずつまとめて(バッチで)関数に渡す2521。

失敗したときにやり直す側は、呼び出し方で違う。

呼び出し方関数が失敗したとき
同期呼び出しLambda はやり直さない。呼んだ側がやり直すかを決める。AWS を操作するコマンドライン(CLI)とライブラリ(SDK)は、タイムアウトなどのときに自動でやり直す2627
非同期呼び出しLambda が既定でさらに 2 回動かす。混み合いによるエラーなどでは、最長 6 時間やり直す12
イベントソースマッピング既定では、成功するか、レコードの期限が切れるまで、バッチ全体を処理し直す21。キューから読む場合、やり直す間隔と失敗したメッセージの行き先は、キューの側で設定する26

非同期呼び出しで、やり直しても失敗したイベントは、Lambda が捨てる。デッドレターキュー(処理できなかったイベントを預けておく別のキュー)か、失敗時の送り先を設定しておけば、捨てられたイベントや失敗の記録を後から調べられる12。

どの呼び出し方でも、同じイベントが関数に二度以上届くことがある。

冪等にするとは、同じ依頼を何度受けても一度と同じ結果にすること

AWS が自社のサービスの作り方を公開している Amazon Builders’ Library で、Malcolm Featonby は、冪等な操作を、依頼を送り直したり再試行したりしても、余計な変化(副作用)を起こさない操作と定義している29。たとえば EC2 のインスタンスを起動する処理が、失敗した EBS ボリューム(インスタンスにつなぐディスク)の作成を再試行して、ボリュームが二つできてしまうのは望ましくない。Amazon が好む方法は、呼ぶ側が一意な依頼の識別子を付けて送ることを、API の仕様に含めることだという。同じ識別子で再試行された依頼には、最初に成功した依頼への応答と同じ意味の応答を返す29。

Lambda の関数では、イベントの中にある一意な値が、この識別子になる。取引の ID や、キューのメッセージの ID などである。AWS の公式の Q&A サイト re:Post は、処理を始める前に、その値を冪等性の記録として、DynamoDB(AWS のデータベースのサービス)に条件付きの書き込み(決めた条件を満たすときだけ書き、満たさなければ書かずに知らせる書き方)で書く方法を示している。書けなかったら、別の呼び出しが、その値をすでに処理しているか、処理し終えている30。

ただし、正しく書くのは見かけより難しい。先の呼び出しが、記録を「処理中」にしたまま途中で止まることがある。そのときに処理中の記録を見て成功として終えると、処理を終える呼び出しがどこにもなくなる。Powertools for AWS Lambda の冪等性の機能は、こうした場合も扱う。関数の入力から作ったキーと結果を保存し、同じキーで再び呼ばれたら、保存しておいた成功の結果を返す。処理中の記録があればエラーを返してやり直させ、処理が例外で失敗したら記録を消す。処理中の記録には、関数に残っている時間から決めた期限を付けておき、期限を過ぎた処理中の記録は、止まった呼び出しが残したものとみなして処理し直す3130。処理し直すと、止まる前に終わっていた操作をもう一度行うことがある。Featonby は、冪等性の記録を書くことと依頼に伴うすべての変更を、全部行うか何も行わないかのどちらかになる一つの操作にする必要があると書いている。記録だけが残ったり、変更だけが残ったりしないためである29。また、Powertools の記録は既定で 1 時間で有効期限が切れ、その後に届いた同じ入力は、新しい依頼として処理される31。非同期呼び出しのイベントは最長 6 時間キューに置かれることがある32ので、記録を残す時間は、同じイベントが届きうる期間に合わせて決める。

Lambda のベストプラクティスも「冪等なコードを書く」を挙げ33、AWS の Well-Architected フレームワークの信頼性の柱は、データを変える操作を冪等にすることを求めている34。

同時実行と、混み合ったとき

同時に処理している呼び出しの数である同時実行は、既定ではリージョン(AWS が世界の各地に置くデータセンターのまとまり)ごとに、アカウントのすべての関数を合わせて 1,000 までで、それを使い切ると、呼び出しが断られる(スロットリング)11。非同期呼び出しで断られたイベントは、三つの呼び出し方の表のとおり Lambda が最長 6 時間やり直す12。呼び出しが急に増えたとき、一つの関数の実行環境は、10 秒ごとに最大 1,000 ずつ増える35。

同時実行は、関数ごとに調整できる。

手順をつなぐなら、関数から関数を同期で呼ばない

処理が複数の手順に分かれるとき、関数から次の関数を同期で呼び、終わりを待つ形は、AWS のブログが避けるべき形として挙げている。2021 年に James Beswick は、呼んだ関数が終わりを待つあいだも料金がかかり続け、エラーの処理も複雑になると説明し、代わりに関数のあいだに SQS のキューを置くか、Step Functions を使うよう勧めた36。

AWS Step Functions は、2016 年 12 月に公開された、処理の手順をつなぐサービスである37。どの手順をどの順に行い、どこで分かれるかを、ステートマシンと呼ぶワークフローとして定義する38。手順が失敗すると、既定ではワークフロー全体が失敗するが、手順ごとに再試行の回数と間隔を設定できる39。

Step Functions を使っても、冪等性はいらなくならない。ワークフローの種類のうち Standard は、各手順を一回だけ動かすが、再試行を設定した手順は、失敗すると二回以上動く。もう一つの種類の Express は、非同期で動かすと少なくとも一回で、同じ実行が二回以上動くことがある40。

AWS は 2025 年 12 月に、Lambda の耐久性のある関数(durable functions)も出した41。処理の途中の結果を記録しておき、途中で止まると、最初から動き直しつつ、終わった手順は記録した結果を使って飛ばす。最長 1 年動ける42。AWS は、処理が主に Lambda の中で閉じるなら耐久性のある関数を、複数の AWS のサービスをつなぐなら Step Functions を勧めている43。

Lambda が向かない処理

Lambda と Step Functions が向かない処理もある。2023 年 3 月に Prime Video の Marcin Kolny は、配信の映像と音声の品質を監視するサービスを、Step Functions と Lambda で手順ごとに分けた形から、ECS(コンテナを動かす AWS のサービス)と EC2 で動く一つのアプリケーションにまとめ、インフラの費用を 90% 以上減らしたと報告した。手順が進むたびに Step Functions の料金がかかり、手順のあいだで映像を S3 に置いて受け渡す費用も高かった。Kolny は、どちらの形を使うかは場合ごとに決めるべきだと結んでいる44。Adrian Cockcroft は、これは Prime Video を作る多くのサービスのうち一つの話で、サーバーレスで素早く作り、負荷が高く続くようになったらコンテナで作り直すという、自分が勧めてきた進め方そのものだと書いた45。

Yan Cui も、新しく作るシステムの多くでは、まずサーバーレスで作る進め方が正しいとしたうえで、向かない場合を挙げている。毎秒 1,000 件を超えるような規模では、API Gateway と Lambda の運用費は、ECS でコンテナを動かすよりずっと高くなりうる。15 分より長くかかり、小さな処理に分けて並列に動かすこともできない処理と、とても低い遅延が要る処理も、合わない例に挙げている46。

Lambda の関数は、同じイベントが二度届いても困らないように書く

AWS Lambda では、サーバーを用意も管理もしない。ハンドラーを書き、メモリとタイムアウトと実行ロールを決めた関数を、ファイルの到着や時刻、キュー、HTTP のリクエストに呼ばせ、料金は呼び出しの回数と GB 秒で払う。関数がいつ、何回呼ばれるかは、呼び出し方で決まる。非同期呼び出しとイベントソースマッピングでは Lambda が、同期呼び出しでは呼んだ側が再試行し、非同期呼び出しではエラーが無くても同じイベントが届くことがある。その結果、同じイベントが関数に二度以上届きうる。

そのため、Lambda の関数を書くときに要るのは、同じイベントを何度処理しても結果が一度と同じになる、冪等な関数である。イベントの中の一意な値を冪等性の記録として条件付きで書き、処理を終えた記録があれば、何もせずに正常に終える。処理中の記録なら、期限までは成功として終えずにやり直させ、期限を過ぎていれば処理し直す。手順をつなぐときは、関数から関数を同期で呼ばず、再試行を設定できる Step Functions などを使う。そのうえで、再試行を設定した手順と、非同期の Express のワークフローで動かす処理は、冪等にしておく。

出典46件
  1. AWS「What is AWS Lambda?」(AWS Lambda デベロッパーガイド)2026年10月17日取得. https://docs.aws.amazon.com/lambda/latest/dg/welcome.html ↩

  2. AWS「AWS Lambda FAQs」2026年10月17日取得. https://aws.amazon.com/lambda/faqs/ ↩ ↩2 ↩3

  3. Jeff Barr「AWS Lambda – Run Code in the Cloud」AWS News Blog、2014年11月13日、2026年10月17日取得. https://aws.amazon.com/blogs/aws/run-code-cloud/ — 発表時はプレビューだった。 ↩

  4. AWS「Understanding the Lambda execution environment lifecycle」(AWS Lambda デベロッパーガイド)2026年10月17日取得. https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtime-environment.html — コールドスタートは通常、呼び出しの 1% 未満で起きる。 ↩ ↩2

  5. Shubham Gupta、Jeff Gebhart「AWS Lambda standardizes billing for INIT Phase」AWS Compute Blog、2025年4月29日、2026年10月17日取得. https://aws.amazon.com/blogs/compute/aws-lambda-standardizes-billing-for-init-phase/ — 2025年8月1日から、すべての構成で準備の段階に料金がかかる。 ↩

  6. AWS「Lambda quotas」(AWS Lambda デベロッパーガイド)2026年10月17日取得. https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-limits.html ↩

  7. Micah Walter「Announcing AWS Lambda Web Functions」AWS News Blog、2026年10月12日、2026年10月17日取得. https://aws.amazon.com/blogs/aws/announcing-aws-lambda-web-functions-for-fast-consistent-web-app-performance-anywhere/ ↩

  8. Micah Walter「Run isolated sandboxes with full lifecycle control: AWS Lambda introduces MicroVMs」AWS News Blog、2026年6月22日、2026年10月17日取得. https://aws.amazon.com/blogs/aws/run-isolated-sandboxes-with-full-lifecycle-control-aws-lambda-introduces-microvms/ ↩

  9. AWS「Tutorial: Using an Amazon S3 trigger to create thumbnail images」(AWS Lambda デベロッパーガイド)2026年10月17日取得. https://docs.aws.amazon.com/lambda/latest/dg/with-s3-tutorial.html ↩ ↩2

  10. AWS「Invoking a Lambda Event Function asynchronously」(AWS Lambda デベロッパーガイド)2026年10月17日取得. https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html ↩ ↩2 ↩3

  11. AWS「Understanding Lambda Event Function scaling」(AWS Lambda デベロッパーガイド)2026年10月17日取得. https://docs.aws.amazon.com/lambda/latest/dg/lambda-concurrency.html ↩ ↩2 ↩3 ↩4 ↩5

  12. AWS「How Lambda handles errors and retries with asynchronous invocation」(AWS Lambda デベロッパーガイド)2026年10月17日取得. https://docs.aws.amazon.com/lambda/latest/dg/invocation-async-error-handling.html ↩ ↩2 ↩3 ↩4 ↩5 ↩6

  13. AWS「Define Lambda Event Function handler in Python」(AWS Lambda デベロッパーガイド)2026年10月17日取得. https://docs.aws.amazon.com/lambda/latest/dg/python-handler.html ↩

  14. AWS「Lambda Event Function runtimes」(AWS Lambda デベロッパーガイド)2026年10月17日取得. https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html ↩

  15. AWS「Create your first Lambda function」(AWS Lambda デベロッパーガイド)2026年10月17日取得. https://docs.aws.amazon.com/lambda/latest/dg/getting-started.html ↩ ↩2

  16. AWS「Configure Lambda Event Function memory」(AWS Lambda デベロッパーガイド)2026年10月17日取得. https://docs.aws.amazon.com/lambda/latest/dg/configuration-memory.html ↩

  17. AWS「Configure Lambda Event Function timeout」(AWS Lambda デベロッパーガイド)2026年10月17日取得. https://docs.aws.amazon.com/lambda/latest/dg/configuration-timeout.html ↩

  18. AWS「Defining Lambda Event Function permissions with an execution role」(AWS Lambda デベロッパーガイド)2026年10月17日取得. https://docs.aws.amazon.com/lambda/latest/dg/lambda-intro-execution-role.html ↩

  19. AWS「Sending Lambda Event Function logs to CloudWatch Logs」(AWS Lambda デベロッパーガイド)2026年10月17日取得. https://docs.aws.amazon.com/lambda/latest/dg/monitoring-cloudwatchlogs.html ↩

  20. AWS「Invoke a Lambda Event Function on a schedule」(AWS Lambda デベロッパーガイド)2026年10月17日取得. https://docs.aws.amazon.com/lambda/latest/dg/with-eventbridge-scheduler.html ↩ ↩2 ↩3

  21. AWS「How Lambda processes records from stream and queue-based event sources」(AWS Lambda デベロッパーガイド)2026年10月17日取得. https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventsourcemapping.html ↩ ↩2 ↩3 ↩4 ↩5

  22. AWS「Invoking a Lambda Event Function using an Amazon API Gateway endpoint」(AWS Lambda デベロッパーガイド)2026年10月17日取得. https://docs.aws.amazon.com/lambda/latest/dg/services-apigateway.html ↩ ↩2

  23. AWS「Creating and managing Lambda function URLs」(AWS Lambda デベロッパーガイド)2026年10月17日取得. https://docs.aws.amazon.com/lambda/latest/dg/urls-configuration.html ↩

  24. AWS「AWS Lambda pricing」2026年10月17日取得. https://aws.amazon.com/lambda/pricing/ ↩ ↩2 ↩3

  25. AWS「Understanding Lambda Event Function invocation methods」(AWS Lambda デベロッパーガイド)2026年10月17日取得. https://docs.aws.amazon.com/lambda/latest/dg/lambda-invocation.html ↩ ↩2

  26. AWS「Understanding retry behavior in Lambda Event Functions」(AWS Lambda デベロッパーガイド)2026年10月17日取得. https://docs.aws.amazon.com/lambda/latest/dg/invocation-retries.html ↩ ↩2 ↩3

  27. AWS「Invoking a Lambda Event Function synchronously」(AWS Lambda デベロッパーガイド)2026年10月17日取得. https://docs.aws.amazon.com/lambda/latest/dg/invocation-sync.html ↩

  28. AWS「Handling errors for an SQS event source in Lambda」(AWS Lambda デベロッパーガイド)2026年10月17日取得. https://docs.aws.amazon.com/lambda/latest/dg/services-sqs-errorhandling.html ↩

  29. Malcolm Featonby「Making retries safe with idempotent APIs」Amazon Builders’ Library、2026年10月17日取得. https://aws.amazon.com/builders-library/making-retries-safe-with-idempotent-APIs/ ↩ ↩2 ↩3

  30. AWS「How do I prevent duplicate Lambda events?」(AWS re:Post ナレッジセンター)2026年5月7日更新、2026年10月17日取得. https://repost.aws/knowledge-center/lambda-function-idempotent ↩ ↩2

  31. AWS「Idempotency」(Powertools for AWS Lambda (Python))2026年10月17日取得. https://docs.aws.amazon.com/powertools/python/latest/utilities/idempotency/ ↩ ↩2

  32. AWS「Configuring error handling for Lambda asynchronous invocation」(AWS Lambda デベロッパーガイド)2026年10月17日取得. https://docs.aws.amazon.com/lambda/latest/dg/invocation-async-configuring.html ↩

  33. AWS「Best practices for working with AWS Lambda Event Functions」(AWS Lambda デベロッパーガイド)2026年10月17日取得. https://docs.aws.amazon.com/lambda/latest/dg/best-practices.html ↩

  34. AWS「REL04-BP04 Make mutating operations idempotent」(Well-Architected 信頼性の柱)2026年10月17日取得. https://docs.aws.amazon.com/wellarchitected/latest/reliability-pillar/rel_prevent_interaction_failure_idempotent.html ↩

  35. AWS「Lambda scaling behavior」(AWS Lambda デベロッパーガイド)2026年10月17日取得. https://docs.aws.amazon.com/lambda/latest/dg/scaling-behavior.html ↩

  36. James Beswick「Operating Lambda: Anti-patterns in event-driven architectures – Part 3」AWS Compute Blog、2021年1月25日、2026年10月17日取得. https://aws.amazon.com/blogs/compute/operating-lambda-anti-patterns-in-event-driven-architectures-part-3/ ↩

  37. Jeff Barr「New – AWS Step Functions – Build Distributed Applications Using Visual Workflows」AWS News Blog、2016年12月1日、2026年10月17日取得. https://aws.amazon.com/blogs/aws/new-aws-step-functions-build-distributed-applications-using-visual-workflows/ ↩

  38. AWS「What is Step Functions?」(AWS Step Functions デベロッパーガイド)2026年10月17日取得. https://docs.aws.amazon.com/step-functions/latest/dg/welcome.html ↩

  39. AWS「Handling errors in Step Functions workflows」(AWS Step Functions デベロッパーガイド)2026年10月17日取得. https://docs.aws.amazon.com/step-functions/latest/dg/concepts-error-handling.html ↩

  40. AWS「Choosing workflow type in Step Functions」(AWS Step Functions デベロッパーガイド)2026年10月17日取得. https://docs.aws.amazon.com/step-functions/latest/dg/choosing-workflow-type.html ↩

  41. Donnie Prakoso「Build multi-step applications and AI workflows with AWS Lambda durable functions」AWS News Blog、2025年12月2日、2026年10月17日取得. https://aws.amazon.com/blogs/aws/build-multi-step-applications-and-ai-workflows-with-aws-lambda-durable-functions/ ↩

  42. AWS「Lambda durable functions」(AWS Lambda デベロッパーガイド)2026年10月17日取得. https://docs.aws.amazon.com/lambda/latest/dg/durable-functions.html ↩

  43. AWS「Durable functions or Step Functions」(AWS Lambda デベロッパーガイド)2026年10月17日取得. https://docs.aws.amazon.com/lambda/latest/dg/durable-step-functions.html ↩

  44. Marcin Kolny「Scaling up the Prime Video audio/video monitoring service and reducing costs by 90%」Prime Video Tech、2023年3月22日、保存版を2026年10月17日取得. https://web.archive.org/web/20231230202019/https://www.primevideotech.com/video-streaming/scaling-up-the-prime-video-audio-video-monitoring-service-and-reducing-costs-by-90 ↩

  45. Adrian Cockcroft「So many bad takes — What is there to learn from the Prime Video microservices to monolith story」Medium、2023年5月6日、保存版を2026年10月17日取得. https://web.archive.org/web/20231231004234/https://adrianco.medium.com/so-many-bad-takes-what-is-there-to-learn-from-the-prime-video-microservices-to-monolith-story-4bd0970423d4 — 著者は元 AWS。 ↩

  46. Yan Cui「Is serverless overpriced? What can we learn from the PrimeVideo team」theburningmonk.com、2023年5月8日、2026年10月17日取得. https://theburningmonk.com/2023/05/is-serverless-overpriced-what-can-we-learn-from-the-primevideo-team/ — 著者は、サーバーレスの技術で顧客を支援し、その講座も開いている。 ↩

この記事はAIを使用して執筆されました。内容には誤りが含まれる可能性があります。事実や数字の出典は脚注から確かめられます。