AWS / SAP-C02

SAP-C02-089 · 理解確認

ReplicaによるRead Scaling

9問 · 1問ずつ確認

1 / 9理解確認
Q1 — 単一選択

Amazon RDSのプライマリDBインスタンスで読み取りCPU使用率とReadIOPSが高く、書き込み負荷は低い。

大量のレポートクエリが実行されており、レポートの読み取り結果は数秒程度古くてもよい。プライマリへの読み取り負荷を減らしながら、読み取りスループットを増やしたい。

最も適切な設計はどれか。

A. プライマリDBインスタンスをより大きいクラスへ変更し、読み取り処理能力を増やすが、すべての読み書きは同じインスタンスへ残す
B. Amazon RDSのリードレプリカを追加し、レポートなどの読み取りクエリをレプリカへ振り分ける
C. Amazon ElastiCacheへ頻繁に再利用されるレポート結果だけをキャッシュし、キャッシュできない多様なレポートクエリは引き続きプライマリへ送る
D. レポート専用の別RDS DBインスタンスを定期的なスナップショットから作成し、数秒単位のデータ鮮度ではなく定期更新で運用する
答えと解説

答え:B

Aはプライマリ自体の処理能力を増やせますが、読み取り負荷を別の処理先へ分離しません。Cは繰り返される同一結果には有効ですが、多様なレポートクエリすべてをキャッシュできるとは限りません。Dはレポート処理を分離できますが、数秒程度の古さという鮮度要件には適しません。要件では、

読み取り中心
+
書き込み負荷は低い
+
多少の古さを許容
+
読み取り負荷をプライマリから分離

できるため、リードレプリカへ読み取りを振り分ける方法が最も適切です。