はじめに AWS Lambda を使った処理では、同じイベントや同じリクエストが複数回処理されることがあります。 最初は「Lambda が2回動くことなんてそんなにあるのか?」と思っていたのですが、調べていくと、Lambda や周辺サービスを使う以上、重複実行は普通に考慮しておいた方がよさそうだと感じました。 たとえば、以下のようなケースです。 API クライアントがタイムアウトして、同じリクエストを再送する EventBridge、S3イベント通知、SNS などの非同期イベントで Lambda が再実行される SQS、Kinesis、DynamoDB Streams などから同じメッセージやレコードが再処理される Lambda の処理中にタイムアウトし、呼び出し元やイベントソース側で再試行される 処理自体は成功したが、その後のエラーによって Lambda 全体としては失敗扱いになる この

