Eコマース企業が注文処理システムを構築しています。「在庫確認 → 決済処理 → 配送手配 → 完了通知」という順序で複数のLambda関数を連携させ、各ステップで失敗した際のリトライや補償処理(例:決済失敗時の在庫の戻し処理)も実装する必要があります。このワークフロー全体を管理するのに最も適したAWSサービスはどれですか?
AWS Step Functions は複数の AWS サービスをビジュアルなステートマシン(状態遷移図)として調整するサーバーレスオーケストレーションサービスです。ステップの順序制御・エラーハンドリング・リトライ・タイムアウト・並列実行を宣言的に定義でき、複雑な業務ワークフローの構築に最適です。 選択肢A の Amazon SQS はメッセージキューサービスであり、個別メッセージの非同期処理には適していますが、複数ステップにわたるワークフロー全体の状態管理・順序制御・補償処理はできません。 選択肢B の AWS Lambda は個々の処理を実行する関数サービスですが、複数のLambda 間の実行順序制御・エラーハンドリング・補償処理をオーケストレーションする機能は持ちません。 選択肢C の Amazon SNS は Pub/Sub 型の通知・メッセージ配信サービスであり、ワークフローの状態管理や順序制御には対応していません。