過去問ドリル

DVA-C02:AWS Certified Developer - Associate AWS サービスを用いた開発 問9

AWS サービスを用いた開発/AWS でホストされるアプリのコード開発

複数の Lambda 関数を順序立てて実行し、各ステップの成功・失敗に応じた分岐・リトライ・エラー処理を含むワークフローを、アプリ側で状態管理のコードを書かずに構築したいと考えています。最も適切なのはどれですか。

当サイトのオリジナル問題(DVA-C02:AWS Certified Developer - Associateの出題範囲「AWS サービスを用いた開発」に対応。実際の試験問題ではありません)

正解:A

解説

AWS Step Functions は、複数の処理(Lambda など)をステートマシンとしてオーケストレーションするサービスです。ステップの順序、条件分岐、リトライ、キャッチ(エラー処理)を宣言的に定義でき、アプリ側で状態管理のコードを書かずに、信頼性の高いワークフローを構築できます。

選択肢ごとの解説

  • A正しい。Step Functions のステートマシンなら、分岐・リトライ・エラー処理を宣言的に定義してワークフローをオーケストレーションできます。
  • B誤り。1 つの関数に全ステップを詰め込んで自前で状態管理すると、複雑になり再利用性・可観測性も損なわれます。
  • C誤り。cron での順番依存は、ステップ間の成否連携やリトライ・分岐を適切に扱えません。
  • D誤り。手作業での順次実行は自動化・信頼性の要件に反します。
DVA-C02:AWS Certified Developer - Associateの問題を演習モードで解く