跳至主要內容
ESC
跳到課程內容
案例研究與考試準備 高可用與災難復原架構設計
0%
21 / 25 進階 30 分鐘 00:00

高可用與災難復原架構設計

設計企業級高可用架構與災難復原策略,掌握 RPO/RTO 分析、多區域部署模式與 GCP DR 解決方案

2026年3月13日

HA vs DR:兩道不同的防線

高可用(High Availability, HA)和災難復原(Disaster Recovery, DR)是可靠性工程的兩根支柱,但它們解決的是完全不同的問題:

面向高可用(HA)災難復原(DR)
目標預防停機——讓系統在元件故障時持續運作從災難中復原——在大規模故障後恢復服務
故障範圍單一元件、單一可用區整個區域、資料中心,甚至自然災害
切換方式自動(failover 在秒級完成)可能需要手動介入或自動化腳本觸發
成本模型冗餘資源持續運行,成本較高依策略而異,從備份到多站點成本差距巨大
設計時機架構設計的基本要求業務持續運營計畫(BCP)的一部分

關鍵觀念:HA 不能取代 DR,DR 也不能取代 HA。一個設計良好的系統同時需要兩者——HA 確保日常運作的穩定性,DR 確保極端情況下的存活能力。

💡 考試小提示:PCA 題目常混用 HA 和 DR 概念來測試理解深度。記住:HA 是「不要倒」,DR 是「倒了怎麼站起來」。

RPO/RTO 分析

架構師在設計 HA/DR 方案之前,必須先與業務方確認兩個關鍵指標:

  • RPO(Recovery Point Objective) — 可容忍的最大資料遺失量。RPO = 1 小時代表最多可以丟失最近 1 小時的資料
  • RTO(Recovery Time Objective) — 可容忍的最大停機時間。RTO = 15 分鐘代表系統必須在 15 分鐘內恢復服務

RPO/RTO 如何驅動架構決策

RPO / RTO 目標架構要求成本等級
RPO ≈ 0、RTO < 1 分鐘同步複製 + Active-Active 多區域 + Global LB$$$$$
RPO < 5 分鐘、RTO < 15 分鐘非同步複製 + Warm Standby + 自動 failover$$$$
RPO < 1 小時、RTO < 4 小時定期快照 + Pilot Light + 自動化部署腳本$$$
RPO < 24 小時、RTO < 24 小時每日備份 + Cold Standby + 手動復原流程$$

核心原則:RPO/RTO 越嚴格,成本越高。架構師的職責不是追求最低的 RPO/RTO,而是找到業務需求與成本之間的最佳平衡點。不同的子系統可以有不同的 RPO/RTO 目標——付款系統需要 RPO ≈ 0,但行銷報表系統可能接受 RPO = 24 小時。

💡 考試小提示:題目給定明確的 RPO/RTO 需求時,先根據數值排除不符合的選項。RPO = 0 一定需要同步複製(如 Spanner),RPO = 幾小時則可用排程快照。

GCP 可用性層級

GCP 基礎設施提供多層次的可用性保障,每一層的成本和複雜度遞增:

層級說明可用性目標年度允許停機
Zonal單一可用區部署99.9%~8.7 小時
Regional跨同區域多可用區99.99%~52 分鐘
Multi-Regional跨多個區域(如 US、EU)99.999%~5.3 分鐘
Global全球分散式(如 Spanner)99.999%+< 5 分鐘

注意 Zonal 和 Regional 之間的差距是 10 倍(99.9% → 99.99%),而這個差距在年度停機時間上代表從 8.7 小時縮短到 52 分鐘——這就是為什麼生產環境幾乎必須選擇 Regional 以上的部署模式。

HA 設計模式

Active-Active

兩個或多個區域同時處理流量,透過 Global HTTP(S) Load Balancer 分配請求。任一區域故障,流量自動路由到存活區域。

  • 優勢:最低 RTO(接近零),資源利用率最高
  • 挑戰:資料一致性(需要 Spanner 或 multi-master 架構)、應用必須設計為無狀態或處理衝突解決
  • 適用:面向全球使用者的關鍵服務

Active-Passive(Warm Standby)

主區域處理所有流量,備援區域維持一個縮小規模的運行副本。故障時透過 Cloud DNS 切換流量或提升備援區域的資源規模。

  • 優勢:成本低於 Active-Active,RTO 通常在分鐘級
  • 挑戰:備援區域需要定期驗證是否真正可用
  • 適用:區域級服務,接受分鐘級 RTO

Active-Passive(Cold Standby)

主區域處理所有流量,備援區域僅保留基礎設施定義(IaC 模板)和資料備份,不部署實際運行資源。

  • 優勢:成本最低的跨區域保護方案
  • 挑戰:RTO 較高(需要時間佈建資源和還原資料)
  • 適用:非關鍵系統,可接受數小時 RTO

GCP 服務的 HA 配置

不同 GCP 服務的 HA 機制各異,以下是架構師必須掌握的關鍵配置:

服務HA 配置故障切換跨區域能力
Compute EngineMIG(Managed Instance Group)+ Autohealing自動重建故障實例,秒級偵測Multi-zone MIG 跨可用區分佈
GKERegional Cluster(Control plane 跨 3 區)、Pod Disruption Budgets自動重新排程 PodMulti-cluster with Fleet 跨區域管理
Cloud SQLHA Configuration(同區域跨區自動 failover)自動,約 60 秒完成切換Cross-region Read Replicas,可手動提升為主實例
SpannerMulti-region configurations(如 nam6、eur5)自動,透明切換原生全球分佈,同步複製,RPO = 0
Cloud Run自動多可用區部署透明,無需配置需搭配 Global LB + 多區域部署

💡 考試小提示:Cloud SQL HA 是「同區域跨可用區」,不是跨區域!跨區域需要 Read Replica + 手動提升。需要跨區域自動 failover 且 RPO = 0,答案是 Spanner

DR 策略層級

四種 DR 策略代表從低成本到高成本、從高 RTO 到低 RTO 的連續光譜:

策略描述RTORPO相對成本
Backup & Restore定期備份到異地,災難時從備份還原數小時~數天上次備份後的資料全部遺失最低
Pilot Light核心系統保持最小化運行(如資料庫複製),其餘資源災難時才佈建數十分鐘~數小時取決於複製延遲低~中
Warm Standby備援區域維持完整但縮小規模的運行副本分鐘級接近即時(非同步複製)中~高
Multi-site Active-Active多區域同時處理流量,無需切換接近零接近零(同步複製)最高

選擇策略時的決策流程:業務關鍵性 → RPO/RTO 需求 → 預算限制 → 技術可行性。大多數企業會對不同系統採用不同策略——核心交易系統用 Active-Active,內部管理工具用 Backup & Restore。

Backup and DR Service

Google Cloud Backup and DR Service 是全代管的備份解決方案,為 HA/DR 架構提供堅實的資料保護基礎:

  • 集中管理 — 在單一控制台管理跨專案、跨區域的備份策略,支援 Compute Engine、Cloud SQL、GKE 和 VMware 工作負載
  • 應用一致性備份(Application-consistent Backups) — 支援 Oracle、SQL Server、SAP HANA 等企業應用的一致性備份,確保還原後資料完整可用
  • 跨區域複製 — 備份資料自動複製到指定的備援區域,滿足地理隔離的 DR 要求
  • 增量備份 — 僅備份變更的區塊,大幅降低備份時間和儲存成本
  • 備份保險庫(Backup Vault) — 提供不可變備份(immutable backups),防止勒索軟體或惡意刪除,設定保留期內的備份無法被任何人刪除或修改

💡 考試小提示:題目提到「防止勒索軟體刪除備份」或「不可變備份」,答案指向 Backup and DR Service 的 Backup Vault 功能。

混沌工程:驗證你的 DR 計畫

一份從未測試過的 DR 計畫,和沒有 DR 計畫一樣危險。混沌工程(Chaos Engineering) 是透過主動注入故障來驗證系統韌性的實踐方法。

核心原則

  1. 建立穩態假設 — 定義系統正常運作的指標(如 p99 延遲 < 200ms、錯誤率 < 0.1%)
  2. 注入真實世界的故障 — 模擬可用區故障、網路分割、服務相依性中斷、磁碟故障
  3. 最小化爆炸半徑 — 從小範圍開始(單一 Pod),逐步擴大到可用區級別
  4. 在生產環境驗證 — 測試環境永遠無法完全模擬生產環境的複雜度

Game Day 實踐

Game Day 是團隊定期進行的 DR 演練:

  • 模擬特定故障場景(如 us-central1 區域全面中斷)
  • 驗證 failover 流程是否如預期運作
  • 測量實際 RTO/RPO 是否符合 SLA 承諾
  • 識別文件、流程和自動化的缺口
  • 建議頻率:關鍵系統每季度至少一次,全面 DR 演練每年至少一次

在 GKE 環境中,可以使用 Pod Disruption Budgets 搭配故障注入來測試應用對 Pod 中斷的容忍度;在 Compute Engine 環境,可以利用 Maintenance Events 模擬 Live Migration 行為。

實戰情境

情境一:金融服務 99.99% SLA 的 HA 架構

背景:一家數位銀行的核心交易系統需要 99.99% 的可用性 SLA,監管要求交易資料不得遺失(RPO = 0),故障切換時間不得超過 60 秒(RTO < 1 分鐘)。

架構決策

  • 資料層 — 使用 Cloud Spanner multi-region configuration(nam6),同步複製確保 RPO = 0,自動 failover 完全透明
  • 應用層 — GKE Regional Cluster 搭配 Pod anti-affinity 分散到所有可用區,設定 Pod Disruption Budget(minAvailable: 80%)確保升級時維持服務能力
  • 流量管理Global External Application Load Balancer 搭配健康檢查,故障可用區自動排除,無需 DNS 切換
  • 監控與警報 — 定義 SLI(成功交易率 > 99.99%、p99 延遲 < 500ms),設定 burn rate alert,在 SLO error budget 即將耗盡時主動告警
  • DR 驗證 — 每季度 Game Day 模擬單一可用區故障,每年一次模擬整個區域故障的完整 DR 演練

情境二:電商平台的 DR 規劃(RPO < 1 分鐘)

背景:大型電商平台在促銷季單日 GMV 超過數億元,訂單資料庫在 asia-east1(台灣),需要 DR 方案確保即使整個區域故障也能在 15 分鐘內恢復,且訂單資料遺失不超過 1 分鐘。

架構決策

  • 資料庫 — Cloud SQL HA(主區域)+ Cross-region Read Replica(asia-northeast1)搭配非同步複製(replication lag 通常 < 10 秒),災難時手動提升 Replica 為主實例
  • 備份策略Backup and DR Service 每 15 分鐘增量備份 + 跨區域複製至 asia-northeast1,Backup Vault 設定 30 天不可變保留
  • 應用層 — asia-northeast1 預部署 Warm Standby(最小規模的 Cloud Run 服務 + 資料庫連線配置),Terraform IaC 腳本可在 10 分鐘內擴展至生產規模
  • 切換機制Cloud DNS 搭配健康檢查,偵測主區域不可達後自動更新 DNS 記錄(TTL 設定 60 秒),搭配 Cloud Run functions 自動觸發 Read Replica 提升流程
  • 定期驗證 — 每月模擬 failover 演練,驗證 Replica 提升流程和 DNS 切換的端到端 RTO

重點整理

  • HA 是「不要倒」,DR 是「倒了怎麼站起來」 — 兩者缺一不可,共同構成系統的可靠性基礎
  • RPO/RTO 驅動一切 — 先確認業務需求再設計架構,不同子系統可以有不同目標,越嚴格成本越高
  • 四層可用性:Zonal(99.9%)→ Regional(99.99%)→ Multi-Regional(99.999%)→ Global(99.999%+)
  • Cloud SQL HA 是同區域,跨區域需要 Read Replica + 手動提升;跨區域自動 failover + RPO = 0 選 Spanner
  • 四種 DR 策略:Backup & Restore → Pilot Light → Warm Standby → Active-Active,依業務關鍵性和預算選擇
  • Backup and DR Service 提供集中管理的跨區域備份,Backup Vault 實現不可變備份,防勒索軟體
  • 混沌工程和 Game Day 是驗證 DR 計畫的唯一可靠方式——未經測試的 DR 計畫等於沒有計畫

下一步

在下一課中,我們將進入案例研究的實戰演練,解析 PCA 考試中的經典案例題型——包括如何從題目描述中提取架構需求、如何在多個合理方案中選出最佳答案,以及如何運用本課程所學的所有知識點進行系統性分析。

徽章解鎖!