SAA-C03:AWS Certified Solutions Architect - Associate 高性能なアーキテクチャの設計 問4
高性能なアーキテクチャの設計/高性能なデータベースソリューションの決定読み取りが非常に多い RDS で、書き込み用プライマリの負荷を上げずに読み取り性能をスケールさせたいと考えています。最も適切なのはどれですか。
当サイトのオリジナル問題(SAA-C03:AWS Certified Solutions Architect - Associateの出題範囲「高性能なアーキテクチャの設計」に対応。実際の試験問題ではありません)
- ADB インスタンスを垂直に大型化し続ける
- BRDS のリードレプリカを追加し、読み取りクエリをレプリカへ分散する
- Cマルチ AZ DB インスタンス配置のスタンバイインスタンスへ読み取りクエリを向ける
- Dすべての読み取りをキャッシュせずプライマリへ直接向ける
正解:B
解説
読み取りが多いワークロードでは、RDS のリードレプリカを追加し、読み取りクエリをレプリカへ分散することで、書き込み用プライマリの負荷を上げずに読み取り性能をスケールできます。リードレプリカは非同期レプリケーションで作られ、複数台に拡張できます。読み取りには多少の遅延(レプリカラグ)を許容する必要があり、強い整合性で即座に最新を読む用途には向きません。なお、マルチ AZ 構成には、読み取り不可のスタンバイを持つ『マルチ AZ DB インスタンス配置』と、読み取り可能な 2 台のリーダーを持つ『マルチ AZ DB クラスター配置』があり、前者のスタンバイは読み取りに使えません。
下線の用語は 用語集 で意味を確認できます。
選択肢ごとの解説
- A誤り。垂直に大型化し続ける方法は上限があり、コスト効率も悪く、読み取り専用のスケールアウトにはなりません。
- B正しい。リードレプリカを追加して読み取りを分散すれば、プライマリの負荷を上げずに読み取りをスケールできます。
- C誤り。マルチ AZ DB インスタンス配置のスタンバイは可用性のための待機系で、読み取りクエリを受け付けられません(これとは別に、読み取り可能な 2 台のリーダーを持つマルチ AZ DB クラスター配置もあります)。
- D誤り。すべての読み取りをプライマリへ直接向けると、プライマリの負荷が下がらず要件に反します。