Q62 — AWS SAA-C03 第11章

第 62/100 問 | ← 第11章

Q762. ある会社が、Auto Scalingグループ内のAmazon EC2インスタンスでWebアプリケーションを実行しています。このアプリケーションは、Amazon RDS for PostgreSQL DBインスタンス上で動作するデータベースを使用しています。トラフィックが増加すると、アプリケーションのパフォーマンスが低下します。高トラフィック時において、データベースには読み取り負荷が非常に大きくなっています。 これらのパフォーマンス問題を解決するために、ソリューションアーキテクトが実施すべきアクションはどれですか?(2つ選択してください。)

正解: B. DBインスタンスの読み取り専用レプリカを作成し、アプリケーションが読み取りトラフィックをその読み取り専用レプリカに送信するように設定する。, D. Amazon ElastiCacheクラスターを作成し、アプリケーションがクエリ結果をElastiCacheクラスターにキャッシュするように設定する。

解説

本シナリオにおけるパフォーマンス問題を解決するには、以下の2つのアクションを実施すべきです。 B:DBインスタンスの読み取り専用レプリカを作成し、アプリケーションが読み取りトラフィックをその読み取り専用レプリカに送信するように設定する。 D:Amazon ElastiCacheクラスターを作成し、アプリケーションがクエリ結果をElastiCacheクラスターにキャッシュするように設定する。 アクションB:読み取り専用レプリカを作成し、アプリケーションから読み取りトラフィックをそのレプリカにルーティングすることで、プライマリDBインスタンスの読み取り負荷を軽減できます。これにより、高トラフィック時のアプリケーションパフォーマンス向上が期待できます。また、読み取り専用レプリカが読み取り操作を処理することで、プライマリDBインスタンスは書き込み操作に集中できます。 アクションD:Amazon ElastiCacheクラスターを導入し、頻繁にアクセスされるクエリ結果や計算コストが高いクエリ結果をインメモリキャッシュに格納することで、データベースへの繰り返しクエリを削減できます。その結果、データベースの負荷が低減され、アプリケーションの応答性が向上します。 他の選択肢が適切でない理由は以下の通りです。 選択肢A:DBインスタンスのAuto Scalingを有効化しても、読み取り負荷の重さというパフォーマンス課題を直接解決しません。Auto Scalingは、需要に応じたインスタンス数のスケーリングを可能にしますが、本ケースでは読み取り操作を読み取り専用レプリカへオフロードすることが主眼です。 選択肢C:Multi-AZデプロイメントへの変更およびスタンバイDBインスタンスへの読み取りトラフィック送信は、可用性とフェイルオーバー機能を提供しますが、パフォーマンス向上を目的とした読み取り負荷の分散には対応していません。スタンバイインスタンスは、あくまでフェイルオーバー用途であり、通常の読み取り負荷を処理するための設計ではありません。 選択肢E:EC2インスタンスとDBインスタンスを同一可用性ゾーンに配置することは、ネットワーク遅延の改善には寄与しますが、読み取り負荷の重さという根本的な課題を解決しません。本件の主な課題は、読み取り専用レプリカによる負荷分散と、キャッシュによるデータベース負荷の低減です。 したがって、本シナリオにおけるパフォーマンス問題を解決する最も適切なアクションは、BおよびDです。