Q5 — AWS SAA-C03 第4章
第 5/105 問 | ← 第4章
Q200. ある企業がAWS上でECサイトのWebアプリケーションを構築しています。このアプリケーションは、新しい注文に関する情報をAmazon API GatewayのREST APIに送信して処理します。企業は、注文が受信された順序で確実に処理されることを保証したいと考えています。 これらの要件を満たすソリューションはどれですか?
- A. API Gatewayの統合機能を使用して、アプリケーションが注文を受信した際にAmazon Simple Notification Service (Amazon SNS) トピックにメッセージを発行します。その後、SNSトピックをサブスクライブするAWS Lambda関数を設定し、注文処理を実行します。
- B. API Gatewayの統合機能を使用して、アプリケーションが注文を受信した際にAmazon Simple Queue Service (Amazon SQS) FIFOキューにメッセージを送信します。SQS FIFOキューを設定して、注文処理のためにAWS Lambda関数を呼び出せるようにします。 ✓
- C. API Gatewayのオーソライザーを使用して、アプリケーションが注文を処理している間はすべてのリクエストをブロックします。
- D. API Gatewayの統合機能を使用して、アプリケーションが注文を受信した際にAmazon Simple Queue Service (Amazon SQS) 標準キューにメッセージを送信します。SQS標準キューを設定して、注文処理のためにAWS Lambda関数を呼び出せるようにします。
正解: B. API Gatewayの統合機能を使用して、アプリケーションが注文を受信した際にAmazon Simple Queue Service (Amazon SQS) FIFOキューにメッセージを送信します。SQS FIFOキューを設定して、注文処理のためにAWS Lambda関数を呼び出せるようにします。
解説
注文を「受信順に確実に処理」するには、メッセージの順序保証(FIFO)と重複防止が必要です。Amazon SQS FIFOキューは、厳密な先入れ先出し(First-In-First-Out)の順序保証と、1回だけの処理(exactly-once processing)を提供し、注文処理の整合性を確保します。一方、SNSは順序保証がなく、標準SQSも順序保証や重複防止を提供しないため不適切です。オーソライザーによるリクエストブロッキングはスケーラビリティや可用性を損ない、実用的ではありません。したがって、正解はBです。