Q94 — AWS DVA-C02 第3章
第 94/100 問 | ← 第3章
Web アプリケーション用の1台とデータベース用の1台のサーバーがあります。Web サービスはウェブページを表示し、キャッシュ内のセッション状態を管理します。データベースサービスは注文詳細情報を含む MySQL データベースをホストします。アプリケーションのトラフィックが非常に多い場合、Web サービスのキャッシュ使用率がほぼ100%に達し、アプリケーションの応答速度が大幅に低下します。開発者は、キャッシュ使用率の増加およびパフォーマンス低下の多くが、追加ユーザーのセッション状態管理負荷に関係していることを確認しました。Web サービスの移行にあたり、開発者は Amazon EC2 インスタンスと、Application Load Balancer 後方の Auto Scaling グループを使用します。開発者は、アプリケーションのパフォーマンスを向上させるために、アプリケーションにどのような追加の変更を加えるべきでしょうか?
- A. EC2 インスタンス上で MySQL データベースをホストします。セッションデータおよびアプリケーションデータを MySQL データベースに格納します。
- B. Amazon ElastiCache for Memcached を使用してセッションデータを格納および管理します。アプリケーションデータの保存には Amazon RDS for MySQL データベースインスタンスを使用します。 ✓
- C. Amazon ElastiCache for Memcached を使用してセッションデータおよびアプリケーションデータの両方を格納および管理します。
- D. EC2 インスタンスのストレージを使用してセッションデータを管理します。アプリケーションデータの保存には Amazon RDS for MySQL データベースインスタンスを使用します。
正解: B. Amazon ElastiCache for Memcached を使用してセッションデータを格納および管理します。アプリケーションデータの保存には Amazon RDS for MySQL データベースインスタンスを使用します。
解説
問題の核心は、Web サーバーのメモリ使用率がほぼ100%に達しており、これは追加ユーザーのセッション状態管理負荷に関係しています。Amazon ElastiCache for Memcached を使用してセッションデータを格納および管理することで、Web サーバーのメモリ負荷を大幅に軽減できます。Memcached は、セッションデータの高速な格納および取得を可能にするメモリ内キャッシュシステムであり、Web サーバーのメモリ使用量を削減します。アプリケーションデータの保存については、Amazon RDS for MySQL データベースインスタンスを使用することが推奨されます。MySQL データベースは、注文詳細などの永続的データの保存および複雑なクエリ処理に適しており、RDS を使用することで信頼性、拡張性、運用の容易性が得られます。また、すべてのデータをメモリ上に保持しないことで、Web サーバーのパフォーマンス安定性を維持できます。技術選択の妥当性:選択肢 B は、ElastiCache を用いたセッションデータ管理と、RDS を用いた永続データ管理という、Amazon のマネージドサービスを組み合わせており、パフォーマンス向上だけでなく、システム管理および保守の簡素化にも寄与します。他の選択肢との比較:選択肢 A は、EC2 インスタンス上で MySQL をホストし、セッションおよびアプリケーションデータを同一の MySQL データベースに格納するものですが、これはメモリ使用率の高さという根本的な問題を解決せず、パフォーマンス最適化にも寄与しません。選択肢 C は、ElastiCache for Memcached をすべてのデータ(注文詳細など)に使用するものですが、Memcached はキャッシュであり永続ストレージではないため、永続データの保存には不適切です。選択肢 D は、EC2 インスタンスのストレージでセッションデータを管理するものですが、これは ElastiCache を使用するよりも効率が低く、システム管理の複雑性およびコストを増加させます。したがって、選択肢 B が最も適切であり、データの適切な分離および管理を通じて、アプリケーションのパフォーマンスおよび安定性を効果的に向上させます。