Q17 — AWS SAA-C03 第7章

第 17/65 問 | ← 第7章

Q447. ある企業が、Amazon EC2 インスタンス上で分析ソフトウェアを実行しています。このソフトウェアは、ユーザーから送信されたジョブリクエストを受け取り、Amazon S3 にアップロードされたデータを処理します。ユーザーから、一部の提出データが処理されていないという報告があります。Amazon CloudWatch の監視によると、EC2 インスタンスの CPU 使用率が一貫して 100% に近い状態で推移しています。企業は、システムのパフォーマンスを向上させ、ユーザー負荷に応じてシステムをスケールさせる必要があります。これらの要件を満たすために、ソリューションアーキテクトは何を行うべきでしょうか?

正解: D. 着信リクエストを Amazon Simple Queue Service (Amazon SQS) にルーティングする。キューのサイズに基づいて EC2 Auto Scaling グループを設定し、ソフトウェアを更新してキューから読み取るようにする。

解説

CPU 使用率が常に 100% に近い状態であることは、単一のインスタンス(または固定数のインスタンス)では処理能力がボトルネックになっていることを示しています。単純にインスタンスタイプを大きくする(選択肢 C)や、ロードバランサで複数インスタンスを並べるだけ(選択肢 A)では、リクエストの到着タイミングや処理時間のばらつきに対応できず、過負荷時にリクエストが失われる可能性があります。また、S3 VPC エンドポイント(選択肢 B)はネットワーク経路の最適化には有効ですが、CPU ボトルネックの根本原因である処理能力不足やスケーラビリティの問題を解決しません。一方、選択肢 D では、リクエストを非同期でキューに蓄積し、キューの長さ(待機中のタスク数)に基づいて Auto Scaling グループが自動的にインスタンス数を増減させることで、負荷に応じた柔軟かつ効率的なスケーリングが実現できます。これにより、過負荷時のリクエスト損失を防ぎ、コスト効率も向上します。したがって、最も適切な解決策は D です。