旅行予約プラットフォームにおいて、「航空券の予約」「ホテルの予約」「レンタカーの予約」という独立したマイクロサービス間での分散トランザクションを実装している。途中で「レンタカーの予約」が失敗した場合、既に成功した「航空券」と「ホテル」の予約を取り消す(補償トランザクションを実行する)必要がある。このワークフロー制御を堅牢にオーケストレーションするサービスを1つ選択してください。
出典AWS非公式・オリジナル問題
ア
SQS FIFOキュー単独で、決済完了後の在庫失敗に応じる返金手順を定義する
イ
AWS Step Functions(ステートマシンでエラー処理と補償ロジックをオーケストレーション)
ウ
DBのMulti-AZを有効化し、複数サービスの外部API操作も一括ロールバックする
エ
EventBridgeのイベントパターンだけで、各ステップの成功履歴と補償順序を保持する