【エーダブリューエス ステップ ファンクションズ】
AWS Step Functions とは?
最終更新:
💡 AWSの処理をつなぎ、分岐や再試行を管理する
AWSのサーバーレスワークフローサービス。処理を状態として定義し、Lambdaなどのサービス呼び出し、分岐、再試行やエラー時の遷移を組み合わせる。
📌 このページのポイント
Step FunctionsはLambdaをまとめるサービス?
Lambdaをつなぐ用途もあるけど、それだけではないよ。AWSサービスなどに処理を依頼し、その順番や分岐をステートマシンとして定義するんだ。状態の中にはサービスを呼ぶTaskだけでなく、条件を判断したり待機したりするものもあるよ。
関数から次の関数を呼ぶのと何が違うの?
処理の流れとエラー時の制御を、ワークフロー側で管理できるよ。対象のエラーが起きたらRetryで再試行し、解決しなければCatchで別の状態へ進む、といった定義ができる。ただし再試行回数や対象エラー、移動先は設定が必要で、どんな失敗も自動で直すわけではないんだ。
注文処理にも使える?
在庫を確保し、決済して、発送を登録して通知する流れが例になるよ。決済が失敗したら、確保した在庫を戻す補償処理を定義することもできる。ただし在庫戻しの処理自体はアプリ側で実装し、失敗した場合の対応も考える必要がある。自動的に全サービスが巻き戻る仕組みではないよ。
StandardとExpressはどう違うの?
再試行で決済が二重にならない?
まとめ:ざっくりこれだけ覚えればOK!
「Step Functions」って出てきたら「AWSの処理の流れと分岐・再試行を管理するサービス」と思えばだいたいOK!
📖 おまけ:英語の意味
「AWS Step Functions」 = AWSの処理ステップをつなぐサービス名
💬 Stepは処理の一手順として捉えよう。名前にFunctionsとあっても、各ステップがすべてLambda関数になるわけではないよ。