Q1 — AWS SAA-C03 第5章

第 1/65 問 | ← 第5章

Q301. 電子商取引企業が、注文処理タスクを完了するために複数のサーバーレス関数およびAWSサービスを活用する分散アプリケーションを構築しています。これらのタスクには、ワークフローの一環として手動承認が必要です。ソリューションアーキテクトは、この注文処理アプリケーションのアーキテクチャを設計する必要があります。このソリューションは、複数のAWS Lambda関数を組み合わせて応答性の高いサーバーレスアプリケーションを構築できる必要があります。また、Amazon EC2インスタンス、コンテナ、またはオンプレミスサーバー上で実行されるデータおよびサービスも編成(オーケストレーション)できる必要があります。これらの要件を満たすソリューションのうち、運用オーバーヘッドが最も少ないものはどれですか?

正解: A. AWS Step Functions を使用してアプリケーションを構築する

解説

AWS Step Functions は、複数のLambda関数やEC2インスタンス、コンテナ、オンプレミスシステムなど、さまざまな分散コンポーネントを可視化・制御可能なワークフローでオーケストレートするためのフルマネージドなサービスです。手動承認などの人間による介入を含むステップも、WaitステートやCallbackステート、またはTask Tokenを用いて容易に実装できます。一方、SQSは非同期メッセージングに特化しており、ワークフローの状態管理やエラー処理、ステップ間のデータ受け渡しなどは自前実装が必要で、運用オーバーヘッドが高くなります。EventBridgeはイベント駆動型の通知に優れていますが、複雑なマルチステップのオーケストレーション(特に状態保持や再試行ロジック、手動承認の統合)には不向きです。AWS Glueは主にETL(データ抽出・変換・ロード)向けのサービスであり、注文処理のような一般-purposeなアプリケーションオーケストレーションには適していません。したがって、要件を満たし、かつ運用オーバーヘッドが最小となるのは、AWS Step Functions を用いる選択肢 A です。