𝕏 f B! L
案件・求人数 12,345
案件を探す(準備中) エージェントを探す(準備中) お役立ち情報 ログイン
案件・求人数 12,345
AWS Lambda Durable Functions完全ガイド【2026年新機能】

AWS Lambda Durable Functions完全ガイド【2026年新機能】

AWSLambdaサーバーレスDurable Functions
目次
⚡ 3秒でわかる!この記事のポイント
  • Lambda Durable Functionsは自動チェックポイントで長時間処理を安全に実行
  • 一時停止/再開機能でAI推論パイプラインやバッチジョブに最適
  • Lambda Managed Instancesとの組み合わせでGPUワークロードも対応

「Lambda Durable Functionsって従来のLambdaと何が違うの?」「Step Functionsとの使い分けは?」「AI推論パイプラインをサーバーレスで構築したい」

AWS Lambda Durable Functionsは、従来のLambdaの15分制限を超えて長時間処理を安全に実行できる新機能です。 自動チェックポイントにより、処理の途中で中断しても再開可能で、AI推論パイプラインや大規模バッチジョブに最適なソリューションです。

この記事では、AWS完全攻略シリーズEp.51として、Durable Functionsの基礎から実践的な活用法までを解説します。

この記事でわかること
  • Lambda Durable Functionsの仕組みとアーキテクチャ
  • 主要ユースケースとStep Functionsとの使い分け
  • AI推論パイプラインの構築チュートリアル
  • コスト最適化と従来構成との比較

Lambda Durable Functionsとは?従来のLambdaとの違い

Lambda Durable Functionsのアーキテクチャ

サーバーレスの課題を解決する新アプローチ

従来のAWS Lambdaには最大15分のタイムアウト制限がありました。この制限は、以下のようなユースケースで大きな障壁となっていました。

  • AI/MLモデルの推論(大量データ処理)
  • 動画のトランスコーディング
  • 大規模データのETL処理
  • 複雑なワークフローの逐次実行

Lambda Durable Functionsは、自動チェックポイント一時停止/再開のメカニズムにより、これらの課題を根本的に解決します。

比較項目従来のLambdaLambda Durable Functions
最大実行時間15分最大24時間(設定次第)
チェックポイントなし自動
障害復旧最初から再実行最後のチェックポイントから再開
状態管理なし自動永続化
メモリ最大10GB最大10GB

Azure Durable Functionsとの比較

AWSのDurable Functionsは、Microsoft Azureの同名機能にインスパイアされています。

AWS公式ドキュメントによると、AWSは「よりシンプルなAPI」と「自動チェックポイント」で差別化を図っています。

比較項目AWS Lambda DurableAzure Durable Functions
チェックポイント自動手動(OrchestrationContext)
サポート言語Python, Node.js, JavaC#, JavaScript, Python, Java
状態ストアDynamoDB(自動)Azure Storage
GPU対応あり(Managed Instances連携)なし

Durable Functionsのアーキテクチャと仕組み

自動チェックポイントの仕組み

Durable Functionsは、関数実行中に自動的にチェックポイントを作成します。

import aws_lambda_durable as durable

@durable.function
def process_data(event, context):
    # ステップ1: データ取得
    data = fetch_large_dataset(event['source'])
    # → ここで自動チェックポイント
    
    # ステップ2: AI推論
    results = run_inference(data)
    # → ここで自動チェックポイント
    
    # ステップ3: 結果保存
    save_results(results)
    return {"status": "completed", "count": len(results)}

チェックポイントは以下のタイミングで自動作成されます:

  • await/非同期呼び出しの前後
  • durable.checkpoint()の明示的な呼び出し
  • 外部サービスへのAPI呼び出しの前後
  • 設定した間隔(デフォルト: 5分)

一時停止/再開のメカニズム

実行中の関数が中断された場合(インスタンスのリサイクル、エラー等)、最後のチェックポイントから自動的に再開されます。

[実行開始] → [Step1完了] → [チェックポイント①] → [Step2実行中]

                                                   [中断発生]

                                            [チェックポイント①から再開]

                                                   [Step2再実行]

耐障害性の実現方法

Durable Functionsは、チェックポイントデータをDynamoDBに自動保存します。これにより:

  • アベイラビリティゾーン障害に対する耐性
  • インスタンス障害からの自動復旧
  • デプロイ中の実行継続が可能

主要ユースケース

AI推論パイプライン(長時間処理)

大量のドキュメントをAIで分析するパイプラインの例:

@durable.function
def ai_analysis_pipeline(event, context):
    documents = event['documents']  # 10,000件のドキュメント
    
    results = []
    for batch in chunks(documents, 100):
        # 各バッチ処理後に自動チェックポイント
        batch_results = await bedrock.invoke_batch(batch)
        results.extend(batch_results)
    
    return aggregate_results(results)

AWS Bedrock入門ガイドと組み合わせることで、エンタープライズ規模のAI処理を構築できます。

大規模バッチジョブ

数百万レコードのデータ処理も、チェックポイント付きで安全に実行できます。

マルチステップワークフロー

複数のサービスを跨ぐワークフローを単一の関数で記述できます。

Step Functionsとの使い分け

ユースケースDurable FunctionsStep Functions
長時間の単一処理✅ 最適△ オーバースペック
複雑な分岐ロジック△ コードで記述✅ ビジュアルワークフロー
状態管理自動ASL定義が必要
エラーハンドリングtry/catchCatch/Retry
コストLambda料金のみ状態遷移ごとに課金

Step Functionsガイドとの比較も参考にしてください。

実装チュートリアル:AI推論パイプラインの構築

環境構築とIAM設定

# SAMテンプレートでプロジェクト作成
sam init --runtime python3.12 --app-template durable-function

# IAMポリシー(DynamoDBアクセスが自動追加される)
# template.yaml
Resources:
  AiPipelineFunction:
    Type: AWS::Serverless::Function
    Properties:
      Handler: app.handler
      Runtime: python3.12
      Timeout: 86400  # 24時間
      MemorySize: 4096
      Policies:
        - DurableFunctionPolicy  # 自動チェックポイント用
        - BedrockInvokePolicy

Durable Functionの定義

# app.py
import aws_lambda_durable as durable
from aws_lambda_durable import checkpoint

@durable.function(
    checkpoint_interval=300,  # 5分ごと
    max_retries=3
)
def handler(event, context):
    # データ取得
    s3_objects = list_s3_objects(event['bucket'], event['prefix'])
    checkpoint("data_listed")
    
    # バッチ推論
    results = []
    for i, batch in enumerate(chunks(s3_objects, 50)):
        batch_result = process_batch(batch)
        results.extend(batch_result)
        checkpoint(f"batch_{i}_completed")
    
    # 結果集約・保存
    summary = aggregate(results)
    save_to_s3(summary, event['output_bucket'])
    
    return {"status": "success", "processed": len(s3_objects)}

チェックポイント設計のベストプラクティス

  1. 高コストな処理の前後にチェックポイントを配置
  2. 外部API呼び出しの前にチェックポイントを設定
  3. チェックポイントのデータサイズを最小化(大きなデータはS3に退避)
  4. 冪等性を確保(再実行しても同じ結果になるように設計)

Lambda Managed Instancesとの組み合わせ

GPU対応ワークロードの実現

Lambda Managed Instancesを使うと、Lambda上でGPUワークロードを実行できます。

Resources:
  GpuInferenceFunction:
    Type: AWS::Serverless::Function
    Properties:
      Handler: app.handler
      Runtime: python3.12
      ManagedInstance:
        InstanceType: g5.xlarge  # NVIDIA A10G GPU
        Durable: true  # Durable Functions有効化

EC2レベルのカスタマイズ × Lambda運用の簡素さ

Managed Instancesの利点は、EC2のようなインスタンスカスタマイズとLambdaのようなサーバーレス運用を両立できることです。

Lambda入門ガイドLambdaサーバーレスガイドも合わせて参照してください。

コスト最適化:従来構成 vs Durable Functions

課金モデルの違い

課金項目従来のLambdaDurable Functions
実行時間リクエスト単価リクエスト単価(同じ)
チェックポイントDynamoDB WCU(低コスト)
状態保存DynamoDB ストレージ
Managed Instanceインスタンス稼働時間

コスト試算シミュレーション

ユースケース: 1日1回、10万ドキュメントのAI分析(処理時間: 2時間)

構成月額コスト
EC2 + ECS(常時起動)$350〜500
Step Functions + Lambda$150〜250
Lambda Durable Functions$80〜120

Durable Functionsは、EC2/ECS構成と比較して60〜75%のコスト削減が可能です。

サーバーレスプロジェクトガイドでも、コスト最適化のパターンを紹介しています。

SESエンジニアとしてのスキルアップポイント

Lambda Durable Functionsは、以下のSES案件で重宝されるスキルです。

  • AI/ML基盤構築案件 — 推論パイプラインの設計・実装
  • データエンジニアリング案件 — 大規模ETL処理の効率化
  • モダナイゼーション案件 — レガシーバッチ処理のサーバーレス化

AWSエンジニアガイドで、AWS案件全体のスキルマップを確認してください。

まとめ:Durable Functionsで広がるサーバーレスの可能性

Lambda Durable Functionsは、サーバーレスの適用範囲を大幅に拡張する画期的な機能です。

今日から始める3ステップ:

  1. sam init --app-template durable-function でサンプルプロジェクトを作成
  2. 既存のバッチ処理をDurable Functionsに移行してコスト比較
  3. AI推論パイプラインのPoCを構築してチームに提案

15分制限に悩まされていたサーバーレスの世界が、Durable Functionsで大きく変わります。

📚 AWS 完全攻略シリーズ

AWSの基礎から上級テクニックまで、SESエンジニアに必要なスキルを体系的に学べるシリーズ記事を公開中。

シリーズ一覧を見る →

SES案件をお探しですか?

SES記事をもっと読む →
🏗️

SES BASE 編集長

SES業界歴10年以上のメンバーが在籍する編集チーム。SES企業での営業・エンジニア経験、フリーランス独立経験を持つメンバーが、業界のリアルな情報をお届けします。

📊 業界データに基づく記事制作 🔍 IPA・経済産業省データ参照 💼 SES実務経験者が執筆・監修