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

Lambda Durable FunctionsでStep Functionsの代わりはできる...

Avatar for Makky12 Makky12
January 23, 2026

Lambda Durable FunctionsでStep Functionsの代わりはできるのかを試してみた

2026/01/24(土)に開催された「JAWS-UG 北陸新幹線 #5 in 群馬」における私のセッション「Lambda Durable FunctionでStep Functionの代わりはできるのかを試してみた」の発表資料になります。
https://jawsug-gunma.connpass.com/event/373298/

#jawsug #jawsug_gunma #jawsug北陸新幹線

Avatar for Makky12

Makky12

January 23, 2026
Tweet

More Decks by Makky12

Other Decks in Technology

Transcript

  1. Lambda Durable Functionsで Step Functionsの代わりはできる のかを試してみた 2026.01.24 JAWS-UG 北陸新幹線 #5

    in 群馬(スポンサーセッション) KDDIアジャイル開発センター 名古屋オフィス 鈴木 正樹
  2. 1 KDDI Agile Development Center Corporation 自己紹介 ◼ 氏名:鈴木 正樹

    ◼ 所属:KDDIアジャイル開発センター(KAG) 名古屋オフィス ◼ 役割:クラウドアーキテクト & バックエンドエンジニア サーバーレス&IaCが大好き。好きなサービスはAWS LambdaとAWS CDK 主にJAWS-UG 名古屋&JAWS-UG CDK支部で活動 ◼ Certification: ◼ AWS Solution Architect Associate(2023) ◼ AWS Community Builder(serverless)(2023~) ◼ Scrum Inc. 認定スクラムマスター(2025~) ◼ : @makky12(SUZUKI Masaki@クラウドエンジニア) ◼ Blog:https://makky12.hatenablog.com/
  3. 2 KDDI Agile Development Center Corporation 近状報告 波乱の年末年始 • 昨年末(12/30)にギックリ腰に…

    • そのせいで、めっちゃ楽しみにしていた「Burikaigi 2026」&「JAWS-UG 福井 #1 リブート 宣言LT会」に行けず… • この「JAWS-UG 北陸新幹線 #5 in 群馬」が今年初のコミュニティ&地方貢献活動です ※ギックリ腰が完治したとは言ってない (行け)ませんでした…
  4. 3 KDDI Agile Development Center Corporation 本日のアジェンダ • はじめに:Lambda Durable

    Functionsについて • Lambda Durable FunctionsにStep Functionの処理をやらせてみた • Lambda Durable Functionsの考慮すべき点&メリット • Lambda Durable Functionsを採用すべきケース • まとめ • 参考情報&宣伝
  5. 4 KDDI Agile Development Center Corporation 注意事項 • Lambda Durable

    Functionsの実装方法・および実際の実装例などは、今回は省略します ◦ 正式な情報は、AWS公式サイトをご確認ください • 発表資料・発言内容は、すべて個人の見解・知見になります • この資料は、下記URLで公開済みです ◦ この資料です • 文字数の都合上、以後この資料ではLambda Durable Functionsを「LDFn」、Step Functionsを「SFn」と記載することがあります
  6. 6 KDDI Agile Development Center Corporation はじめに:Lambda Durable Functionsについて •

    re:Invent 2025にて、Lambda Durable Functionsが発表されました! 参考: https://www.youtube.com/watch?v=XJ80NBOwsow
  7. 7 KDDI Agile Development Center Corporation Lambda Durable Functionsの特徴 通常のLambdaとは何が違うのか?

    • 復元力のあるコード ◦ 「チェックポイント」機構により、実施した処理結果を記憶 ◦ (障害などからの)再開時に記憶した処理結果を読込し、続きから処理を再開可能 • 最長1年間の実行が可能 ◦ ワークフローを最長1年まで実行可能(SFnの標準ステートマシンと同じ) ◦ 時間がかかるワークフローでも、チェックポイントを利用し、継続的に実行可能 • コスト効率 ◦ 各種Wait処理(wait, waitForCallBack, waitForConditionなど)での待機中はコンピューティング課金が発生 せず、サーバーレス同様「Pay-as-you-go」な実行が可能
  8. 8 KDDI Agile Development Center Corporation Lambda Durable Functionsで使用可能な操作 ※主要なものを紹介。実際は他にもあります(Child

    contexts, Conditional waitsなど) • 大部分がStep Functions(のステートマシン)と同じ 操作名 説明 SFnの対応ブロック 備考 Steps 各種処理(ビジネスロジック)を 実施する 各種「アクション」 Steps実行前後でチェックポイ ントを作成し、復元のための 結果を保存する Waits 一定時間が経過するまで実行を 停止する Wait 停止中はコンピューティング 課金が発生しない Callbacks 何かしら外部からの入力があるまで 実行を停止する 「人間の承認が必要」などの、 いわゆるHuman-in-the-Loop で用いられる Parallel 複数の処理を並列で同時実行する Parallel Map 配列内の各要素に対して、 同じ処理を並列で同時実行する Map Function Invocation 他のLambda関数を実行し、 実行完了するまで処理を停止する 「AWS Lambda Invoke」アクション
  9. 9 KDDI Agile Development Center Corporation Lambda Durable FunctionsにStep Functionsの処理を

    やらせてることはできるのか? というわけで…
  10. 11 KDDI Agile Development Center Corporation 実装するワークフロー ※ 「ドルアーガの塔」(※)の各階の宝物情報&クリアに必須かどうかを出力するワークフローを作成する •

    下図のワークフローをLDFで作成する ※最初のDynamoDBの処理は、あらかじめ取得したデータを用意(キュー〇ー3分クッ〇ング形式) ※ 「ドルアーガの塔」を知らない方は、お父さん(おじいちゃん?)に聞いてみてください
  11. 12 KDDI Agile Development Center Corporation Lambda Durable Functionsで実装 実装に役立つ参考サイトなど

    • 下記サイトを参考に、LDFのソースコードをTypeScriptで実装 ◦ Durable execution SDK(AWS公式) ◦ aws-durable-execution-sdk-js-examples(AWS公式GitHubリポジトリ) ◦ AWS Lambda durable functionsで並列操作parallelをためしてみた(クラメソさんブログ) • 試行錯誤の末、前ページのワークフローをLDFnにて実装完了(※1) ◦ AWS CDKの「NodejsFunction」コンストラクタでLDFnを正常デプロイできることも確認(※2) ※1:コードが長すぎてこの資料では掲載できないので、詳細なコードを見たい方は下記を参照してください → https://github.com/smt7174/jawsug-hokuriku-shinkansen-gunma ※2:AWS CDKのバージョン2.232.0以上が必要です
  12. 16 KDDI Agile Development Center Corporation 考慮点:運用管理における課題 ※ やっぱり「銀の弾丸」はない •

    LDFnソースからワークフローを把握するのが大変 ◦ 業務で使う(大規模な)ワークフロー処理をLDFnのソースから把握するのはなかなか困難 ◦ ワークフローが大規模になると、どうしてもソースコードも肥大化しがち ◦ 解析をAIに頼る手もあるが、当然ハルシネーション発生のリスクを伴う • 実際私もAmazon Qに解析をさせてみましたが、正直アレな結果でした • モニタリング ◦ ソースが肥大化すればするほど、モニタリング機構を構築するのも大変になる ◦ AWS Lambda Powertools などを駆使すれば可能だが、ここはStep Functionsの方が便利かな? • 非エンジニアがワークフローを運用・管理する場合 ◦ 非エンジニアがワークフローを管理する場合、ソースコードよりWorkflow Studioの方が理解しやすい ◦ ワークフローから各種AWSサービスを実行する操作も、 Workflow Studioの方が直感的にわかりやすい
  13. 17 KDDI Agile Development Center Corporation メリット もちろんいいところもたくさんあります • シンプルなワークフロー&Human

    in the Loop処理に適している ◦ シンプルなワークフローにおいては、SFnよりカスタマイズ性が高いLDFnの方が便利 ◦ 「人の判断・承認が必要」のようなHuman in the Loopなワークフローにも対応 ◦ Human in the Loopを使う機会が多いAIの処理に適している • 長期間待機が発生する場合、コストがSFnに比べ安い(安くなりがち) ◦ 待機状態ではコンピューティング料金は発生しないため、長時間待ち発生する場合SFnに比べてコストを抑えら れる傾向がある(Human in the Loopなどでの「承認待ち」も含む) • SFnと違い、ループ処理で稼働させ続ける必要がない • ワークフローをソースコードで書ける ◦ なんだかんだ言っても、やはりソースコードで実装可能なのは大きなメリット ◦ AIによる代替が一番やりやすい部分(「コードを書いてLambdaで殴ればいい」)
  14. 19 KDDI Agile Development Center Corporation Lambda Durable Functionsを採用すべきケース AWS公式で紹介されている「Lambda

    Durable Functionsを採用すべきケース」の紹介 • LDFnを採用すべきケースとして、以下のケースがある(AWS公式情報を元に記載) https://speakerdeck.com/smt7174/cdk-toolkit-librarynoshao-jie 参考: When to use durable functions ケース 説明 備考 (短期間の)複数 処理の調整 短期間での複数処理を調整し、障害 発生時にはロールバック・状態維持 などを行い、回復次第再開する 例:注文処理における在庫・支払い・配送など 決済処理などの ミッションクリ ティカルな処理 障害発生時に状態維持を行い、回復 次第再開することで、信頼性のある 決済処理を実施可能 AIワークフロー 人間の判断が必要で、長時間待機が 発生するワークフローを組み込み機 能により柔軟に構築可能 いわゆる「Human-in-the-Loop」なワークフロー 時間がかかる複数 ステップのビジネ スワークフロー構 築 数日~数週間にわたる業務処理につ いて、コンプライアンスを保ちつつ 自動化するための信頼性の高いワー クフローを構築可能 例:従業員のオンボーディング、融資承認など
  15. 21 KDDI Agile Development Center Corporation まとめ このセッションのまとめ • LDFnでワークフローを作成することは可能。ただしSFnと比べ、運用管理の面で気を付けな

    ければならない点がある • LDFnはシンプルなワークフロー、特に「長期間の待機」が発生したり「人間の判断・承認」 が必要なHuman in the Loopワークフローを構築するのに適しており、AI処理と相性が良い • LDFnを採用すべきケースもあり「ソースコードでワークフローを作成できる」というメリッ トもあるので、今後使用シーンは増えていくと思われる ◦ とはいえ、まだGAされたばかりのサービスなので、今後に注目&期待
  16. 23 KDDI Agile Development Center Corporation Lambda Durable Functionの注意点 Lambda

    Durable Functionに関して、勘違いしやすい点 • 「Lambda単体の実行時間」は、今まで同様「最大15分」のままです ◦ 「実行時間:最大1年」とは、あくまで実行するワークフローの最大実行時間です(中断/再開の繰り返しで) • 待機中に課金が発生しないのはあくまで「コンピューティング」です ◦ 状態データ保持のため「Timed Storage(時間ベースストレージ)」に対する課金は発生します ◦ 課金額は0.15 USD/GB-月 ◦ ただしPricing Calculatorに出てこないため、あくまでBilling Conductorの情報になります • 状態データを保持できる期間は「最大90日」です ◦ ワークフローの最大実行時間と違い「最大1年」ではありません
  17. 24 KDDI Agile Development Center Corporation Lambda Durable Functionの注意点(その2) Lambda

    Durable Functionに関して、勘違いしやすい点 • 前回終了時の情報が残っているときに「新規で」ワークフローを実施する際には注意 ◦ 「新規で」実行したいのに、前回の続きのから再開するという事が発生します(日次バッチなど) ◦ 後ほど紹介するサーバーワークスさんのブログに対策が紹介されているので、ぜひ参考にしてください • ワークフローの最大実行時間が15分を超える場合、非同期実行のみ可能です ◦ 同期実行で実施したい場合、ワークフローの最大実行時間を15分以内に設定する必要があります ◦ ただし、そういうケースであえてLDFnを使う必要があるケースは限られると思います • LDFnの実行には「修飾ARN(バージョンのサフィックスがついたARN)」の指定が必須です ◦ 〇:arn:aws:lambda:<region>:<account>:function:SampleFunction:1(バージョン番号で指定) ◦ 〇:arn:aws:lambda:<region>:<account>:function:SampleFunction:latest(エイリアスで指定) ◦ ×: arn:aws:lambda:<region>:<account>:function:SampleFunction(非修飾エイリアス)
  18. 25 KDDI Agile Development Center Corporation 参考サイト Lambda Durable Functionをもっと深く理解するためにおすすめサイト

    • Lambda Durable Functions (AWS公式サイト) ◦ まず最初は公式サイトを読みましょう(まだ日本語には未対応) • AI時代のワークフロー設計~Durable Functions / Step Functions / Strands Agents を添 えて~(「AI Builders Day」でのやくもさんのセッション資料) ◦ LDFnとSFn(とStrands Agents)について、様々な観点から違いを説明 • Lambda Durable Functions 解説:Step Functions との使い分けと実践的ユースケース (サーバーワークスさんブログ) ◦ LDFnの特徴や注意点、SFnとの機能比較、「LDFnとSFnのどっちを採用するか」のフローチャートなど
  19. 札幌オフィス SAPPORO OFFICE 秋田オフィス AKITA OFFICE 高崎オフィス TAKASAKI OFFICE 金沢オフィス

    KANAZAWA OFFICE 舞鶴オフィス MAIZURU OFFICE 広島オフィス HIROSHIMA OFFICE 福岡オフィス FUKUOKA OFFICE 那覇オフィス NAHA OFFICE 仙台オフィス SENDAI OFFICE 東京本社 TOKYO MAIN OFFICE 三島オフィス MISHIMA OFFICE 名古屋オフィス NAGOYA OFFICE 大阪オフィス OSAKA OFFICE