
長期間実行が可能となる AWS Lambda Durable Function が発表されました#AWSreInvent
こんにちは、森田です。
現在ラスベガスで開催中 re:Invent 2025 のキーノート で AI ワークフローや multi-stepアプリケーションに特化した AWS Lambda Durable Function が発表されました。
Durable Function
Durable Functionでは、ワークロードを中断し、再開することができる機能を有しています。
また、最大1年間実行を一時停止することが可能となっています。
アーキテクチャ
引用:https://docs.aws.amazon.com/lambda/latest/dg/durable-functions.html
Durable Functions は、内部は通常の Lambda 関数と同じとなります。
相違点としては、checkpoint/replayを有しているという点になります。
関数が待機や再試行などの中断ポイントから再開する際、システムはreplayを実行します。
replay中、コードは最初から実行されますが、既に完了したcheckpointの部分はスキップされます。
この際、完了した操作が再実行される代わりに、保存されていた結果を再利用するようにします。
なお、これらを利用するために、AWS Lambdaのソースコード側に「Durable Execution SDK」を追加する必要があります。
Durable Execution SDK では、Lambda のイベントハンドラーをラップすることで、DurableContext が適用され、checkpoint/replayを制御することが可能となります。
from aws_durable_execution_sdk_python import (
DurableContext,
durable_execution,
durable_step,
)
from aws_durable_execution_sdk_python.config import Duration
@durable_step
def validate_order(step_context, order_id):
step_context.logger.info(f"Validating order {order_id}")
return {"orderId": order_id, "status": "validated"}
@durable_step
def process_payment(step_context, order_id):
step_context.logger.info(f"Processing payment for order {order_id}")
return {"orderId": order_id, "status": "paid", "amount": 99.99}
@durable_step
def confirm_order(step_context, order_id):
step_context.logger.info(f"Confirming order {order_id}")
return {"orderId": order_id, "status": "confirmed"}
@durable_execution
def lambda_handler(event, context: DurableContext):
order_id = event['orderId']
# Step 1: Validate order
validation_result = context.step(validate_order(order_id))
# Step 2: Process payment
payment_result = context.step(process_payment(order_id))
# Wait for 10 seconds to simulate external confirmation
context.wait(Duration.from_seconds(10))
# Step 3: Confirm order
confirmation_result = context.step(confirm_order(order_id))
return {
"orderId": order_id,
"status": "completed",
"steps": [validation_result, payment_result, confirmation_result]
}
実行を一時停止する必要がある場合は、待機を追加することで、関数を一時停止でき、この間は課金が発生しません。
さいごに
AWS Lambda の Durable Function は、AI ワークフローやマルチステップアプリケーションといった、長時間実行や中断・再開が必要なワークロードにとって、非常に強力な選択肢となりそうです。
特に、最大1年間の実行一時停止と、その間の課金が発生しないという点は、コスト効率の面でもメリットがありそうですね。








