# AWS - RDS Multi-AZ Deployment VS Multi-AZ Cluster
# Mutli-AZ Cluster
Amazon RDS Multi-AZ DB Cluster 是新一代 高可用 (HA) 的 RDS 部署模式,採用 多節點架構 (Multi-node Cluster),具備 主節點 + 2 個讀取副本 的同步複寫設計,可在發生故障時「秒級自動切換」。
# 為什麼需要 Multi-AZ Cluster
在舊版 RDS 的「Multi-AZ Deployment」中:
- 只有 一個主節點 (Primary) + 一個備援節點 (Standby)。
- 備援節點不提供讀取,僅用於故障接手 (failover)。
- 故障切換需要 60~120 秒。
而新版 Multi-AZ Cluster:
- 三節點同步複寫
- 自動負載分散讀取流量
- 故障切換時間降到 <35 秒
- 適合高可用與高效能應用
# 架構概覽
1 | Region |
所有節點都儲存在同一個 分散式儲存層 (Shared Storage Layer) 上,
所以不需要像舊架構那樣複製整個資料集。
# Multi-AZ Deployment vs Multi-AZ Cluster 差異
| 特性 | 舊版 Multi-AZ Deployment | 新版 Multi-AZ Cluster |
|---|---|---|
| 節點架構 | 1 Writer + 1 Standby | 1 Writer + 2 Readers |
| 儲存方式 | 每 AZ 各自持有一份完整資料 | 共享分散式儲存層 |
| 複寫類型 | 同步資料複製 | 同步儲存層複寫 |
| Failover 時間 | 約 60–120 秒 | 約 35 秒以內 |
| 讀取能力 | Standby 無法讀取 | Readers 可讀取 |
| 負載分擔 | 單主節點負責讀寫 | 可用 Cluster Endpoint 負載平衡讀取 |
| 延展性 | 無法水平擴展 | 可新增 Reader 節點 |
| 延遲 | 複製需等待網路同步 | 因共享儲存層延遲更低 |
| 成本 | 較便宜 | 稍高(3 AZ + 多節點) |
| 支援引擎 | MySQL、PostgreSQL | MySQL、PostgreSQL(含 Aurora 架構設計) |
# 主要連線端點(Endpoints)
| Endpoint 類型 | 功能 | 使用對象 |
|---|---|---|
| Cluster Endpoint | 自動導向 Writer 節點 | 應用程式主要連線點 |
| Reader Endpoint | 自動負載平衡至 Readers | 查詢 / 報表讀取用途 |
| Instance Endpoint | 指定節點連線 | 針對個別節點調試使用 |