Q55 — AWS SAA-C03 第8章

第 55/65 問 | ← 第8章

Q550. ある企業が顧客注文を処理するアプリケーションを運用しています。このアプリケーションは Amazon EC2 インスタンス上でホストされており、注文データは Amazon Aurora データベースに保存されます。トラフィックが高まる際に、ワークロードが注文を十分な速度で処理できず、遅延が発生することがあります。ソリューションアーキテクトは、注文をデータベースに確実かつ可能な限り迅速に書き込むために、どのような対応を行うべきでしょうか?

正解: B. 注文を Amazon Simple Queue Service (Amazon SQS) キューに書き込み、Application Load Balancer の背後で Auto Scaling グループにより管理される EC2 インスタンスを使用して、SQS キューから注文を読み取り、データベースへ処理します。

解説

注文の信頼性とスケーラビリティを確保するには、一時的なトラフィック増加に対しても耐えうる非同期処理アーキテクチャが最適です。SQS はメッセージの永続化と再試行機能を提供し、注文のロストを防ぎます。また、Auto Scaling グループによる EC2 インスタンスの動的スケーリングにより、負荷に応じた処理能力を柔軟に確保できます。選択肢 A および C では、SNS はプッシュ型の通知サービスであり、データベースが直接 SNS をサブスクライブして注文を受信・処理することはできません(Aurora は SNS のサブスクライバーではありません)。選択肢 D は CPU しきい値やスケジュールベースのスケーリングに依存しており、リアルタイムな負荷変動への対応が不十分であり、キューへの書き込みタイミングも遅延を招きます。したがって、最も適切なのは選択肢 B です。