Upgrade to Pro — share decks privately, control downloads, hide ads and more …

長時間実行タスクを簡単にするLambda durable functionsの活用方法

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.

長時間実行タスクを簡単にするLambda durable functionsの活用方法

2026年5月28日のJAWS-UG東京 ランチタイムLT会 #35で発表した資料となります。

Avatar for レオマロ

レオマロ

May 28, 2026

Other Decks in Business

Transcript

  1. 1 © BIP Systems Corporation 2026 JAWS-UG東京 ランチタイムLT会 #35 2026年5月28日

    ビップシステムズ株式会社 赤池 拓也 長時間実行タスクを簡単にするLambda durable functions の活用方法
  2. 2 © BIP Systems Corporation 2026 自己紹介 ▌名前 赤池拓也 (Takuya

    Akaike) ▌所属 ビップシステムズ株式会社 ▌仕事 AWS基盤設計・構築 クラウド技術推進 ▌好きなAWSサービス ⚫ Lambda ⚫ CloudWatch
  3. 3 © BIP Systems Corporation 2026 本日のテーマ Section1 Lambda durable

    functionsとはなにか Section2 Lambda durable functionsを実装してみた Lambda durable functions
  4. 5 © BIP Systems Corporation 2026 Lambda durable functions とは

    AWS re:Invent 2025にて発表されたLambdaの新機能。 長時間の待機を含む複数ステップ処理を、Lambda内で待機・再開して実行可能。 開始 受付 複数ステップの処理イメージ 外部API呼び出し 待機 再開 結果反映 終了 AWS Lambda Lambda durable functions で待機・再開が制御可能
  5. 6 © BIP Systems Corporation 2026 使用する前提条件(2026/05/23時点) 耐久関数のサポートされているランタイム - AWS

    Lambda ▌新規構築時のみ有効化が可能 既存LambdaはLambda durable functionsを有効化できない。 新規構築時に以下の項目を有効化する必要がある。 ▌ランタイム Node.js 22/24 、Python 3.13/3.14 、 Java17/21/25
  6. 7 © BIP Systems Corporation 2026 Lambda durable functions で解決できる課題

    長時間のLambda処理や外部連携を実施する際に、以下の課題がある。 ▌外部連携APIの結果待ちや承認待ちなどで 数時間~数日待つケースに対応できない。 ▌関数内の処理の待機中で無駄に料金が発生。 Lambda durable functionsを用いることで、上記課題の対応が可能
  7. 8 © BIP Systems Corporation 2026 Lambda durable functionsの仕様 ▌処理の一時停止と再開が可能

    ワークフロー処理の途中にチェックポイントを追加することで、 処理の一時停止/再開が可能となる。 完了したチェックポイントは実行をスキップし、保存済の結果を再利用する。 ▌最大1年一時停止可能 最大で1年間ワークフローを一時停止することができる。 一時停止中はコンピューティング料金は発生しない。
  8. 9 © BIP Systems Corporation 2026 使用例やユースケース Lambda durable functionsは、長時間待機や外部イベント待ちが発生

    しやすい以下のユースケースに適している。 ⚫ シンプルな承認フロー ⚫ 既存 Lambda に待機やリトライを追加 ⚫ 人間の判断を含む AI ワークフロー ⚫ 複数システムをまたぐ業務処理の制御
  9. 11 © BIP Systems Corporation 2026 AWS Step Functionsとは AWS

    Step Functionsとは、様々な処理を組み合わせて、ワークフローを作る ためのサービス。 Lambda durable functionsと同じく長時間待機・非同期処理が可能。 Blackbeltより抜粋 https://pages.awscloud.com/rs/112-TZM-766/images/20190522_AWS-Blackbelt_StepFunctions.pdf
  10. 12 © BIP Systems Corporation 2026 AWS Step Functionsとの比較 項目

    AWS Step Functions Lambda durable functions 実装方法 GUI/JSON定義 Lambdaのコード内に直接記述 複雑な分岐 フローが可視化されているため、 実装しやすい プログラムで記述する必要があ るため、難易度が高い 長時間実行 1年間待機可能 ※Standardの場合 1年間待機可能 長時間の待機があるシンプルな ワークフローを作りたい。 承認・分岐条件が多く、可視化 されたワークフローを作りたい。
  11. 14 © BIP Systems Corporation 2026 ログエクスポートLambdaについて 過去にCloudWatch LogsのログをS3にエクスポートをするLambdaを 実装した。

    Lambdaで実装した理由… ⚫ 自動でS3にエクスポートさせたかった ⚫ S3+Lambdaで低コスト実装が可能 Amazon EventBridge AWS Lambda Amazon Simple Storage Service (Amazon S3) ①スケジュールトリガー でLambda起動 ②ロググループ のエクスポートリクエスト ③S3のバケットに ロググループAをエクスポート Amazon CloudWatch
  12. 15 © BIP Systems Corporation 2026 ログエクスポートLambdaの課題 複数ログエクスポートLambdaを同一タイミングで動かす場合に、 同時実行制限により片方のエクスポートが失敗。 エクスポートタスクは1つのアカウントで同時に1つしか実行できない制限がある

    この制限は変更不可(2026/5/3時点) AWS Lambda1 Amazon Simple Storage Service (Amazon S3) ①スケジュールトリガー で複数Lambda起動 ②ロググループA のエクスポートリクエスト成功 ③S3のバケットに ロググループAのみエクスポート AWS Lambda2 CloudWatch Logs クォータ - Amazon CloudWatch Logs ②´ロググループB のエクスポートリクエスト失敗 Amazon EventBridge Amazon CloudWatch
  13. 16 © BIP Systems Corporation 2026 ログエクスポートLambdaの課題解決策 複数ログエクスポートLambdaを同一タイミングで動かす場合に、 同時実行制限により片方のエクスポートが失敗。 ⚫

    実行時間をずらす ⚫ 待機・リトライ 15分以内の制限 待機時間分コストが かかる 解決策 AWS Lambda1 Amazon Simple Storage Service (Amazon S3) ①スケジュールトリガー で複数Lambda起動 ②ロググループA のエクスポートリクエスト成功 ③S3のバケットに ロググループAのみエクスポート AWS Lambda2 ②´ロググループB のエクスポートリクエスト失敗 Amazon EventBridge Amazon CloudWatch
  14. 17 © BIP Systems Corporation 2026 ログエクスポートLambdaの課題解決策 Lambda durable functionsにより時間とコストを気にせず待機・リトライ

    処理が可能になった。 AWS Lambda1 Amazon Simple Storage Service (Amazon S3) ①スケジュールトリガー で複数Lambda起動 ②ロググループA のエクスポートリクエスト成功 ③S3のバケットに ロググループAのみエクスポート AWS Lambda2 Amazon EventBridge Amazon CloudWatch ②´ロググループBのエクスポートリクエスト ②の完了を待機し、再実行により 成功 ⚫ 待機・リトライ 解決策 Lambda durable functionsで 長時間待機OK
  15. 18 © BIP Systems Corporation 2026 Durable execution SDKの操作 Lambda

    durable functionsを使用したLambdaで、以下の操作を使用。 操作 役割 説明 Wait 待機 処理が一時停止される。 正確には、チェックポイントが保存された状態でLambda が終了し、指定時間経過後に再実行される。 再開時は処理が先頭から実行されるため、二重処理になら ないように適切な処理ブロック(Step)を作成する必要あり。 一時停止中、Lambdaは終了しているため、コンピュー ティング料金は発生しない。 Step 処理ブロック 定義 ステップの処理が完了するとチェックポイントが作られる。 再実行時、チェックポイントまで(完了した処理)はスキッ プされる。 Lambda開始 Lambda終了 成功 失敗 処理結果判定 ログエクスポート 処理 耐久性のある実行 SDK - AWS Lambda Step 待機 Wait
  16. 19 © BIP Systems Corporation 2026 Lambdaのコードの内容 4. statusがSUCCESS、 時は終了。RETRY時

    はcontext.waitで待機 して、実行 1.context.stepで ログエクスポートタスク 実行関数を呼び出す 3.エクスポート 正常時、status をSUCCESS、 同時実行制限時 はRETRYを返す 2.ログエクスポート タスク実行 ログエクスポートタスクを実行する関数 呼び出し元の関数
  17. 22 © BIP Systems Corporation 2026 実装して得た所感 ⚫ Lambda durable

    functionsで簡単に待機と再実行処理が実装できた。 ⚫ 待機中のコストを抑えられるのは魅力だが、待機時間が数秒~数分のLambda であれば、通常のLambdaの方が適している場合が多いだろう。 ⚫ Lambdaコンソールから実行履歴が確認でき、実行中に停止することも可能。 実行ステップの詳細も確認できるためデバッグ等に便利。
  18. 23 © BIP Systems Corporation 2026 まとめ ⚫ Lambda durable

    functionsは、チェックポイントを追加することで、処理の 一時停止・再開が可能となる。 但し、再開時は処理が先頭から実行されるため、適切なチェックポイント設計 が必要。 ⚫ 待機中はコンピューティング料金が発生しない。 ⚫ コード内で長時間の待機・再開を行うフローが構築可能。 ⚫ 外部のAPI呼び出しや承認待ちなど、長時間待機が発生するケースに最適。