Q27 — AWS SAA-C03 第3章
第 27/65 問 | ← 第3章
Q157. ある企業では、公開可能な映画データを格納するためにSQLデータベースを使用しています。このデータベースは、Amazon RDSのSingle-AZ DBインスタンス上で実行されています。また、スクリプトが毎日ランダムな間隔でクエリを実行し、データベースに追加された新作映画の数を記録しています。このスクリプトは、営業時間内に最終的な合計値を報告する必要があります。開発チームは、スクリプト実行中にデータベースのパフォーマンスが開発タスクに十分でないことに気づきました。ソリューションアーキテクトは、この問題を解決するためのソリューションを推奨する必要があります。この要件を満たす中で、最も運用オーバーヘッドが少ないソリューションはどれですか?
- A. DBインスタンスをMulti-AZデプロイメントに変更します。
- B. データベースの読み取り専用レプリカを作成し、スクリプトがその読み取り専用レプリカのみに対してクエリを実行するように設定します。 ✓
- C. 開発チームに対し、毎日の終了時に手動でデータベース内のエントリをエクスポートするよう指示します。
- D. Amazon ElastiCache を使用して、スクリプトがデータベースに対して実行する一般的なクエリをキャッシュします。
正解: B. データベースの読み取り専用レプリカを作成し、スクリプトがその読み取り専用レプリカのみに対してクエリを実行するように設定します。
解説
スクリプトによる読み取り負荷が、開発作業中の書き込み・読み取り性能に悪影響を与えている状況です。この問題を解決するには、読み取り負荷を本番DBから分離することが有効です。選択肢Bの「読み取り専用レプリカ」は、RDSが提供するネイティブ機能であり、最小限の構成変更と運用管理で読み取りトラフィックをオフロードできます。Multi-AZ(A)は障害復旧向けであり、読み取り負荷軽減には寄与しません。手動エクスポート(C)は自動化されておらず、営業時間内に正確な合計を報告する要件を満たせず、運用オーバーヘッドも高いです。ElastiCache(D)はキャッシュヒット率に依存し、リアルタイム性や合計値の正確性が保証されず、またキャッシュ無効化の設計・管理が必要になるため、運用オーバーヘッドがBより高くなります。したがって、最も運用オーバーヘッドが少なく、要件を確実に満たすのはBです。