現場実践|AWS Step Functions ワークフロー

AWS Step Functions入門|複雑な非同期処理をビジュアルに設計するサーバーレスワークフロー

「Lambda関数を複数連携させると複雑になる」「エラーリトライを自動化したい」——AWS Step Functionsを使った複数Lambdaの連携・条件分岐・エラーリトライ・並列処理の設計方法を解説します。

読了目安:約15分更新日:2026年4月

💡 Step Functionsは「複数のLambdaを順番に実行する」「エラー時に自動リトライする」「条件分岐してフローを変える」をビジュアルで定義できるサーバーレスワークフローサービス。複雑な非同期処理の管理が劇的にシンプルになります。

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

AWS Step Functionsを使ったサーバーレスワークフロー設計を複数案件で実装してきた立場から解説します。

1. Step Functionsが解決する問題

🔗
Lambda連携の複雑化を防ぐ
Lambda内でLambdaを呼び出す「Lambda地獄」を避けられる。Step FunctionsのステートマシンでLambdaの実行順序を外部から管理できる。
🔄
リトライ・エラーハンドリングを自動化
Lambdaのエラー時の自動リトライ・フォールバック処理をステートマシンで定義できる。コードにリトライロジックを書く必要がなくなる。
並列処理を簡単に実装
Map(配列の各要素を並列処理)・Parallel(複数のブランチを並列実行)ステートで複雑な並列処理をビジュアルで定義できる。

2. ステートマシンのASL定義例

{
  "Comment": "画像処理ワークフロー",
  "StartAt": "ValidateInput",
  "States": {
    "ValidateInput": {
      "Type": "Task",
      "Resource": "arn:aws:lambda:ap-northeast-1:...:function:validate",
      "Next": "ProcessImage",
      "Retry": [{
        "ErrorEquals": ["Lambda.ServiceException"],
        "IntervalSeconds": 2,
        "MaxAttempts": 3
      }],
      "Catch": [{
        "ErrorEquals": ["States.ALL"],
        "Next": "HandleError"
      }]
    },
    "ProcessImage": {
      "Type": "Task",
      "Resource": "arn:aws:lambda:...:function:process",
      "Next": "SendNotification"
    },
    "SendNotification": {
      "Type": "Task",
      "Resource": "arn:aws:states:::sns:publish",
      "End": true
    },
    "HandleError": {
      "Type": "Fail",
      "Error": "ProcessingFailed"
    }
  }
}

3. Standard WorkflowとExpress Workflowの違い

  • Standard Workflow:最大1年間実行可能・実行履歴がコンソールで確認可能・状態の永続化あり・1秒あたり2,000実行が上限。長時間バッチ処理・重要なビジネスフロー向け
  • Express Workflow:最大5分間・高スループット(1秒あたり100,000実行以上)・コストが低い。IoTデータ処理・リアルタイムイベント処理等の高頻度短時間処理向け
📌 この記事のポイント
  • Step FunctionsはLambda連携の複雑化防止・自動リトライ・並列処理をビジュアルなステートマシンで実現する
  • ASLでRetryとCatchを定義することでエラーリトライとフォールバック処理がコードなしで実現できる
  • Standard Workflow(長時間・重要フロー)とExpress Workflow(高頻度・短時間)を用途に応じて選択する

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

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

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

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