ある企業は、注文処理システムを構築しています。このシステムは「注文の検証 → 在庫確認 → 決済処理 → 配送手配」という複数のステップを順番に実行する必要があり、各ステップの成否に応じて次の処理を分岐させたいと考えています。また、いずれかのステップが失敗した場合に自動でリトライし、最終的に失敗した場合は補償処理を行う仕組みも必要です。このような複数のAWSサービスを連携させた複雑なワークフローをオーケストレーション(調整・管理)するのに最適なサービスはどれですか?
AWS Step Functionsは、複数のAWSサービスをビジュアルなワークフローとして連携・オーケストレーションするサーバーレスサービスです。条件分岐、並列処理、自動リトライ、エラーハンドリングをステートマシンとして定義でき、各ステップの実行状態を追跡できます。 選択肢B の Amazon EventBridge はイベントのルーティングと配信が主目的です。 選択肢C の Amazon SQS はメッセージのキューイング(一時保存と順次処理)が主目的です。 選択肢D の AWS Lambda は個々のコード実行に特化しており、複数ステップにまたがるワークフロー全体の管理には向いていません。