現場実践|AWS Step Functions入門

AWS Step Functions入門|複数Lambda関数を組み合わせた自動化ワークフローの設計と実装

「複数のLambda関数を順番に実行したい」「エラー時に自動リトライしたい」——AWS Step Functionsを使った複数Lambda関数のオーケストレーション・エラーハンドリング・並列実行の設計を解説します。

読了目安:約18分更新日:2026年3月

💡 Step Functionsは複数の処理を「見える化」しながらオーケストレーションするサービス。「Lambda関数Aが終わったらB・エラーならC」という条件分岐・並列実行・リトライを視覚的なステートマシンで管理できます。

この記事を書いた人
現役ITエンジニア・IT講師(経験14年)
CCNA・CCNP 取得LPIC-1 保有SES現場を複数経験

AWS Step FunctionsでサーバーレスWorkflowを複数案件で実装してきた立場から解説します。

1. Step Functionsを使うべき場面

  • マルチステップの処理を管理したい:「注文受付→在庫確認→決済→発送通知」のような順番が重要な処理を確実に実行する
  • エラーハンドリングを実装したい:Lambda関数が失敗した場合に自動リトライ・エラー通知・ロールバック処理を組み込む
  • 並列処理を組み合わせたい:「複数のS3ファイルを同時に処理してから集計する」というMap/Parallelステートで並列実行する
  • ヒューマンアプルーバルフローを作りたい:承認が必要なワークフローでステートマシンを一時停止して承認後に再開する

2. Amazon States Language(ASL)の基本

{
  "Comment": "注文処理ワークフロー",
  "StartAt": "CheckInventory",
  "States": {
    "CheckInventory": {
      "Type": "Task",
      "Resource": "arn:aws:lambda:ap-northeast-1:XXX:function:check-inventory",
      "Next": "ProcessPayment",
      "Retry": [{
        "ErrorEquals": ["States.TaskFailed"],
        "IntervalSeconds": 3,
        "MaxAttempts": 2,
        "BackoffRate": 2
      }],
      "Catch": [{
        "ErrorEquals": ["States.ALL"],
        "Next": "HandleError"
      }]
    },
    "ProcessPayment": {
      "Type": "Task",
      "Resource": "arn:aws:lambda:ap-northeast-1:XXX:function:process-payment",
      "Next": "SendNotification"
    },
    "SendNotification": {
      "Type": "Task",
      "Resource": "arn:aws:lambda:ap-northeast-1:XXX:function:send-notification",
      "End": true
    },
    "HandleError": {
      "Type": "Fail",
      "Error": "OrderFailed"
    }
  }
}

3. Expressワークフロー vs Standardワークフロー

StandardExpress
最大実行時間1年5分
実行保証At-Least-Once(少なくとも1回)At-Least-Once
料金状態遷移回数課金実行回数+期間課金(大量処理に安い)
向いている用途長時間処理・ヒューマン承認フロー大量の短時間ストリーミング処理
📌 この記事のポイント
  • Step FunctionsはマルチステップのLambda処理にエラーハンドリング・並列実行・ヒューマン承認を追加できる
  • ASLでRetry・Catchを設定することで自動リトライとエラー時の別フロー実行が実現する
  • 長時間・ヒューマン承認はStandard、大量短時間処理はExpressワークフローを選ぶ

キャリアの疑問、一緒に解決しませんか?

Route Bloomでは、インフラ系ITエンジニアを目指す方への個別サポートを行っています。2026年7月からフリーランス講師として本格始動予定です。

※Step Functionsの料金・機能はAWSにより変更される場合があります。

ABOUT ME
たから
サラリーマンをしながら開業して経営やってます。 今年、本業で独立・別事業を起業予定です。 ◆経験:IT講師/インフラエンジニア/PM/マネジメント/採用/運用・保守・構築・設計 ◆取得資格:CCNA/CCNP/LPIC-1/AZ-900/FE/サーティファイC言語 ◆サイドビジネス:アパレル事業/複数のWEBメディアを運営