跳到主要內容

這些題目為學習目的而獨立製作,並非 AWS 官方考題、實際考題、外流題或考題庫。

SAA-C03High-Performing Architectures難度:困難

SAA-017

有一個讀取負載偏高的 RDS for PostgreSQL。寫入負載較低,希望讓讀取查詢得以擴展。下列哪項組態最為合適?

選項

解析與正確答案

閱讀解析與正確答案(劇透:建議先自行作答)

正確答案:A. 新增 Read Replica,並將讀取查詢分流至 Read Replica

解析

Read Replica 用於讀取擴展。由應用端將讀取分流至 Replica,可降低主要 DB 的讀取負載。

各選項解析

A. 新增 Read Replica,並將讀取查詢分流至 Read Replica

正解。適合讀取負載分散。

B. 停用 RDS 的自動備份

停用備份並非效能改善方案,反而降低復原能力。

C. 將 DB 移至公用子網路

移至公用子網路並非效能改善,且會增加安全風險。

D. 啟用 Multi-AZ,並將讀取查詢送至備用 DB

RDS Multi-AZ 的備用 DB 通常不可作讀取用途。

實際使用情境

RDS 的唯讀複本是由主要 DB 透過非同步複寫所建立的唯讀 DB 執行個體,作為讀取查詢的分流目的地。支援 MySQL / MariaDB / PostgreSQL / Oracle / SQL Server / Aurora 各引擎。由應用端將寫入導向主要、讀取導向複本,即可降低主要的讀取負載,並透過橫向增加複本來水平擴展讀取吞吐量。若為 Aurora,可於同一叢集內最多持有 15 個複本,並由專屬端點(讀者端點)自動執行負載平衡。 需注意,複本為非同步複寫,寫入後的資料未必能立即讀到(複寫延遲)。需強一致性的讀取應送往主要,或在寫入後短暫時間內僅自主要讀取。以可用性提升為目的的 Multi-AZ 組態中,備用 DB 不可作讀取用途(僅用於故障轉移),故可用性與擴展性屬不同軸的設計判斷。若需同時滿足兩者,則以「Multi-AZ + 唯讀複本」組合。 SAA-C03 中,題幹若出現「讀取負載偏高」「希望讓讀取查詢擴展」「寫入負載不變」等用語,唯讀複本即為正答。誤答常以「以 Multi-AZ 組態即可分散讀取」「僅靠加大執行個體類型(垂直擴展)即可因應」「以 ElastiCache 快取所有查詢」等選項出現,試圖代入擴展方向或角色不同的服務。

相關連結

相關服務