無限ノック › SOA 練習問題一覧 › 問題
SOAデプロイ、プロビジョニング、および自動化複数選択

ある企業はアプリケーションのデプロイプロセスを自動化したいと考えています。プロセスには以下のステップが含まれます: ①統合テストの並列実行、 ②テスト結果に基づく条件分岐(失敗時は即時停止)、 ③本番デプロイ前に担当者へのメール通知と承認待機(最大24時間)、 ④デプロイ後のヘルスチェック失敗時の自動ロールバック。このような複雑なワークフローを最も適切に実装するAWSサービスの組み合わせはどれですか?(2つ選択)

A
AWS Step Functions でステートマシンを定義し、並列実行・条件分岐・waitForTaskToken による人間承認・エラーキャッチによるロールバック処理を実装する
✓ 正解
Step Functions は Parallel ステートで並列実行、Choice ステートで条件分岐、waitForTaskToken で最大24時間の承認待機、Catch ブロックで自動ロールバックをステートマシンとして一元管理でき、複雑なデプロイワークフローの要件をすべて充足します。
B
AWS Lambda 関数を SQS キューで連鎖させ、各ステップを個別のLambda関数として実装する
Lambda 関数を SQS キューで連鎖させる方式は、複雑な条件分岐・タイムアウト付き承認待機・エラーハンドリングを実現するために大量のカスタムコードが必要となり、運用負荷が高くなります。
C
Amazon SNS で承認リクエストを送信し、承認URLのクリックをトリガーとして次のLambdaを起動することで承認フローを実装する
✓ 正解
SNS は Step Functions の waitForTaskToken パターンと組み合わせて承認通知に使用できます。担当者がメール内の承認 URL をクリックするとタスクトークンが Step Functions へ返され、最大24時間の承認待機フローが完結します。
D
AWS CodePipeline で承認アクションを含むパイプラインを構築し、並列処理が必要なステージは複数のアクションを同一ステージに配置する
CodePipeline は主に CI/CD パイプラインに最適化されており、複雑な条件分岐・タイムアウト付き承認待機・ステートマシンロジックの表現には適していません。
E
Amazon EventBridge スケジュールルールと Lambda を組み合わせ、各デプロイフェーズをイベント駆動で実行し SNS で承認通知を送信する
EventBridge スケジュールルール + Lambda はイベント駆動の起動に優れますが、並列実行の状態管理・長時間承認待機・エラーキャッチによるロールバックを組み合わせた複雑なステートフルワークフローは Step Functions なしでは管理困難です。

解説

選択肢AのAWS Step Functionsは複雑なワークフローを視覚的なステートマシンとして定義できます。Parallelステートで並列実行、Choiceステートで条件分岐、waitForTaskTokenパターンで人間による承認待機(最大24時間のタイムアウト設定可能)、Catchブロックでデプロイ後のヘルスチェック失敗時の自動ロールバックを実装できます。 選択肢BのAWS Lambda関数をSQSキューで連鎖させる方式は、複雑な条件分岐・並列処理・タイムアウト付き承認待機・エラーハンドリングの管理が困難になり、要件を満たすには大量のカスタムコードが必要です。 選択肢CのAmazon SNSはStep FunctionsのwaitForTaskTokenパターンと組み合わせることで承認通知に使用できます。担当者がSNSメール内の承認URLをクリックするとタスクトークンがStep Functionsに返され、最大24時間以内の承認待機フローを実現できます。 選択肢DのAWS CodePipelineは主にCI/CDパイプラインに最適化されており、並列実行・条件分岐・タイムアウト付き承認待機・自動ロールバックを組み合わせた複雑なステートマシンロジックの表現には適していません。 選択肢EのAmazon EventBridgeスケジュールルールとLambdaの組み合わせはイベント駆動の起動に優れますが、並列実行の状態管理・長時間承認待機・エラーキャッチによるロールバックを含む複雑なステートフルワークフローはStep Functionsなしでは実装困難です。

ドメイン別正答率・予想スコアでリアルタイムに実力把握

無限ノックでSOAを徹底対策。全問AI生成のオリジナル問題。

無料で演習を始める →
← SOA の問題一覧に戻る