Q31 — AWS SAA-C03 第14章
第 31/100 問 | ← 第14章
Q1031. ソリューションアーキテクトが、ユーザーが登録フォームを記入・送信できるアプリケーションの設計を行っています。このソリューションアーキテクトは、Webアプリケーションサーバー層とワーカー層からなる2層アーキテクチャを採用する予定です。アプリケーションは、送信されたフォームを迅速に処理する必要があります。また、各フォームは「正確に1回だけ」処理される必要があります。さらに、データの喪失を確実に防ぐ必要があります。これらの要件を満たすソリューションはどれですか?
- A. Webアプリケーションサーバー層とワーカー層の間にAmazon Simple Queue Service(Amazon SQS)FIFOキューを使用し、フォームデータの保存および転送を行います。 ✓
- B. Webアプリケーションサーバー層とワーカー層の間にAmazon API Gateway HTTP APIを使用し、フォームデータの保存および転送を行います。
- C. Webアプリケーションサーバー層とワーカー層の間にAmazon Simple Queue Service(Amazon SQS)標準キューを使用し、フォームデータの保存および転送を行います。
- D. AWS Step Functionsワークフローを使用します。Webアプリケーションサーバー層とワーカー層の間で、フォームデータの保存および転送を行う同期型ワークフローを作成します。
正解: A. Webアプリケーションサーバー層とワーカー層の間にAmazon Simple Queue Service(Amazon SQS)FIFOキューを使用し、フォームデータの保存および転送を行います。
解説
送信されたフォームを迅速に処理し、各フォームを「正確に1回だけ」処理し、データの喪失を防止するという要件を満たすには、以下の選択肢が最適です: A. Webアプリケーションサーバー層とワーカー層の間にAmazon Simple Queue Service(Amazon SQS)FIFOキューを使用し、フォームデータの保存および転送を行います。 解説: 1. Amazon SQS FIFOキュー: - FIFO(First-In-First-Out)キューは、メッセージが送信された順序通りに処理されることを保証し、「正確に1回だけ」の処理(exactly-once processing)も保証します。これは、処理順序が重要になる可能性のあるフォーム送信において、フォームが欠落したり重複して処理されたりすることを防ぐために不可欠です。 2. 耐久性と信頼性: - SQSは耐久性の高いメッセージストレージを提供し、ワーカー層が一時的にメッセージを処理できない場合でも、データが失われることはありません。メッセージは、正常に処理されるまでFIFOキュー内に保持されます。 3. スケーラビリティ: - SQSを活用することで、ワーカー層を容易にスケールできます。キューからメッセージを並列で処理するためにワーカーを追加することで、フォーム送信を迅速かつ確実に処理できます。 他の選択肢の評価: B. Amazon API Gateway HTTP API: - API GatewayはHTTPリクエストのルーティングを主目的としており、非同期処理における保証付きメッセージ配信、正確に1回だけの処理、または耐久性を提供しないため、本ユースケースには不適切です。 C. Amazon Simple Queue Service(Amazon SQS)標準キュー: - 標準キューは高スループットに対応し、多くのユースケースで有効ですが、「正確に1回だけ」の配信は保証されません。メッセージが複数回配信される可能性があり、結果としてフォームが重複して処理されるリスクがあります。 D. AWS Step Functionsワークフロー: - Step Functionsはワークフロー管理やタスク完了の保証に優れていますが、同期型ワークフローとして使用するとレイテンシと複雑さが増します。SQSのような専用のキューイングサービスとは異なり、メッセージキュー処理を主目的としておらず、状態管理やリトライ処理を同期的に行うことは、効率性の面で劣ります。 結論: 選択肢Aは、2層アーキテクチャにおいて登録フォームを処理する際に、信頼性・スケーラビリティ・効率性のすべてを兼ね備えた、最も適したソリューションです。