Q30 — AWS SAA-C03 第3章

第 30/65 問 | ← 第3章

Q160. ある企業がAWS上でECサイトのプロトタイプを構築しています。このウェブサイトは、Application Load Balancer、Webサーバー用のAmazon EC2インスタンスから構成されるAuto Scalingグループ、およびSingle-AZ構成で実行されるAmazon RDS for MySQL DBインスタンスで構成されています。商品カタログの検索時に、ウェブサイトの応答が遅くなっています。商品カタログは、頻繁に更新されないMySQLデータベース内のテーブル群です。ソリューションズアーキテクトは、商品カタログの検索実行時にDBインスタンスのCPU使用率が高くなることを特定しました。商品カタログ検索時のウェブサイトパフォーマンスを向上させるために、ソリューションズアーキテクトは何を推奨すべきでしょうか?

正解: B. 商品カタログをキャッシュするためのAmazon ElastiCache for Redisクラスターを導入し、ラジーローディング(遅延読み込み)を用いてキャッシュを Populate する。

解説

商品カタログ検索時のECサイトのパフォーマンス向上には、商品カタログをキャッシュするためのAmazon ElastiCache for Redisクラスターを導入することが最も適切です。したがって、正解は選択肢Bです。選択肢Aでは、商品カタログをAmazon Redshiftに移行することを提案していますが、これはクエリ性能の向上には寄与する可能性がありますが、過剰な対応であり、運用上のオーバーヘッドが増大します。選択肢Cでは、Auto Scalingグループに追加のスケーリングポリシーを追加することを提案していますが、これはRDSインスタンスの高CPU使用率という根本原因を解決しません。選択肢Dでは、DBインスタンスのMulti-AZ構成を有効化し、EC2インスタンス側でクエリを制限することを提案していますが、Multi-AZ構成は可用性と自動フェイルオーバーを提供するものであり、高CPU使用率の問題を直接解決しません。一方、Amazon ElastiCache for Redisクラスターを導入すれば、MySQLデータベースから頻繁にアクセスされるデータをメモリ内にキャッシュでき、アクセス速度を大幅に向上させられます。また、ラジーローディングを活用することで、必要なタイミングでキャッシュを Populate できるため、データベースへの負荷も軽減されます。このアプローチは、データモデルやアプリケーションコードの変更を伴わず、商品カタログ検索時のパフォーマンスを効果的に改善できます。