DOP-C02 中的災害復原 (DR) 可以簡化為兩個數字:復原時間目標 (RTO) 和 復原點目標 (RPO),以及四種符合不同成本層級的正統策略。考試會測試何時使用備份與還原 (Backup-and-Restore) 就足夠、何時試驗運轉 (Pilot Light) 是正確選擇、何時暖待機 (Warm Standby) 是強制性的,以及何時多站點主動-主動 (Multi-site Active-Active) 是唯一可接受的答案。領域 3.3(「自動化復原程序以滿足 RTO 和 RPO 要求」)是領域 3 中得分最高的部分之一,因為權衡非常具體,錯誤的選擇在答案選項中顯而易見。
本指南假設您已知 RTO 和 RPO 的定義,並且了解 AWS 區域是獨立的故障網域。DOP-C02 的重點在於:根據 RTO/RPO 數字選擇策略、具備跨區域與跨帳戶複製功能的 AWS Backup、用於防範勒索軟體的保管庫鎖定 (Vault Lock)、RDS 多亞區 (Multi-AZ) 與跨區域讀取複本的對比、Aurora 全球資料庫 (Global Database)、DynamoDB 全球資料表 (Global Tables)、S3 跨區域複寫 (CRR) 與同區域複寫 (SRR)、用於故障轉移協調的 Route 53 ARC、DR 演練測試 (Game Day Testing),以及將工作負載從一種策略移向下一種策略的限制因素。
為什麼 DR 策略在 DOP-C02 中很重要
DOP-C02 明確將「災害復原概念(例如 RTO、RPO)」和「AWS Backup 與復原策略(例如試驗運轉、暖待機)」列為領域 3.3 的知識要求。社群考試回報指出,RTO/RPO 匹配是最一致的題目類型之一:題目提供 RTO=4 小時,RPO=1 小時,然後詢問哪種策略適合。選錯了,您不是選擇了昂貴(過度設計)的方案,就是選擇了不足(設計不足)的答案。
考試還會測試精確的機制:AWS Backup 的保管庫鎖定具有合規模式 (Compliance Mode) 和控管模式 (Governance Mode),其覆寫語義不同;跨區域複製可以在每個區域使用不同的 KMS 金鑰進行加密;Aurora 全球資料庫具有高達 1 秒的複寫延遲,並支持在 1-2 分鐘內故障轉移到次要區域;DynamoDB 全球資料表使用「最後寫入者勝出 (Last-writer-wins)」的衝突解決方案。確切了解這些細節是選擇正確策略與排除看似合理干擾項的關鍵。
- RTO (Recovery Time Objective,復原時間目標):從災害發生到完全復原服務所能接受的最大時間。
- RPO (Recovery Point Objective,復原點目標):以時間衡量的最大可接受數據丟失量(例如丟失 5 分鐘的寫入數據)。
- 備份與還原 (Backup-and-Restore):在另一個區域存放快照;根據需求進行還原。RTO/RPO 最高,成本最低。
- 試驗運轉 (Pilot Light):在 DR 區域運行最小核心(資料庫複本、基礎 IaC);其餘部分在復原時配置。
- 暖待機 (Warm Standby):在 DR 區域運行縮減規模的全堆疊;在復原時擴展。
- 多站點主動-主動 (Multi-Site Active-Active):兩個區域都具備完整的生產能力,同時處理流量。
- AWS Backup:受管備份服務,透過策略、保管庫、生命週期以及跨區域/跨帳戶複製來協調各服務的快照。
- 備份保管庫 (Backup Vault):具備 KMS 加密和存取策略的備份邏輯容器。
- 保管庫鎖定 (Vault Lock,合規/控管模式):保管庫上的 WORM (一寫多讀) 保護,防止刪除。
- AWS Backup 計劃 (Backup Plan):定義備份頻率、保留期和複製目標的策略,透過標籤或資源選擇分配給資源。
- RDS 多亞區 (Multi-AZ):在區域內的第二個亞區提供同步待機,實現高可用性 (HA)。
- Aurora 全球資料庫 (Global Database):跨區域的 Aurora 叢集,具有亞秒級複寫和 1-2 分鐘的跨區域故障轉移。
- DynamoDB 全球資料表 (Global Tables):具備「最後寫入者勝出」機制的跨區域主動-主動 DynamoDB。
- S3 跨區域複寫 (CRR):將 S3 物件非同步複寫到另一個區域。
- 同區域複寫 (SRR):在區域內進行複寫(用於合規、日誌彙總)。
- 參考:https://docs.aws.amazon.com/whitepapers/latest/disaster-recovery-workloads-on-aws/disaster-recovery-workloads-on-aws.html
白話文解釋 DR 策略與備份
DR 策略可以清晰地映射到現實世界的應急計劃。從策略層級、AWS Backup 和數據複寫原語三個角度來看。
類比 1:醫院手術室備份層級
醫院透過四個層級的冗餘來應對手術室 (OR) 故障。備份與還原就像是將手術設備存放在密封的異地倉庫中 —— 如果手術室被毀,設備會被運送過來(RTO 以小時/天計),任何尚未同步到異地的患者數據都會丟失(RPO 以小時記)。維護便宜,復原慢。
試驗運轉就像是第二間手術室,核心機器(麻醉、監控器)已插電並待機,但未排定手術人員 —— 患者記錄持續複寫(RPO 以秒至分鐘計),但復原需要召集團隊(RTO 30 分鐘)。成本中等,復原速度中等。
暖待機就像是一個人員配置齊全但規模縮小的第二間手術室 —— 骨幹人員在現場,設備已熱機。復原只需「擴大團隊規模」 —— 10 分鐘 RTO,秒級 RPO。成本較高,復原更快。
多站點主動-主動就像是兩間設備齊全、人員充足的手術室,兩者都在持續接待病人 —— 如果一間手術室故障,另一間會吸收負載。RTO 趨於零,RPO 趨於零(同步複寫)。成本最高。
AWS Backup 是醫院的中央記錄管理部門 —— 它知道有哪些設備,安排異地運輸,執行記錄保留規則(保管庫鎖定 —— 出於合規原因,即使是醫院院長也無法銷毀),並每季測試復原。
Aurora 全球資料庫是病患記錄系統,在兩個院區之間進行亞秒級同步複寫 —— 任何院區都可以本地讀取;只有主要院區接受寫入;故障轉移需要 1-2 分鐘。
DynamoDB 全球資料表是跨兩個院區雙向同步的病患名單 —— 兩個院區都可以寫入;衝突時最後寫入者勝出。
類比 2:連鎖餐廳災害計劃
區域連鎖餐廳規劃店面層級的災害。備份與還原是異地存放食譜、菜單和財務記錄 —— 如果一家店燒毀,將記錄運送到新地點,招聘員工,配備廚房(RTO 以週計)。RPO = 「自上週備份以來」。
試驗運轉是第二家店,廚房設備已插電但沒有員工 —— 食譜每晚同步(低 RPO),員工在復原時招聘和培訓。
暖待機是在同一城市中人員配備齊全但客流量較小的第二家店 —— 在主要店面停業期間,透過延長營業時間和接受主要店面的所有客戶來承擔工作。
多站點主動-主動是城市兩端兩家同樣忙碌的店面 —— 任何一家都可以吸收另一家的負載。
AWS Backup 保管庫鎖定是異地記錄儲存的防篡改保險箱 —— 即使是連鎖店執行長也無法在保留期結束前刪除記錄;這是證券交易委員會 (SEC) 合規所要求的。
類比 3:電力設施應急層級
公用事業公司規劃變電站故障。備份與還原是區域倉庫中儲備的備用變壓器 —— 變電站火災後,運輸和安裝需要 24-72 小時。
試驗運轉是冗餘的冷備用變電站 —— 變壓器已連接但未通電。通電和負載轉移需要數小時。
暖待機是以最小負載運行的熱備用變電站 —— 已經同步並準備在幾分鐘內承擔部分需求。
多站點主動-主動是兩座變電站,各承擔 50% 的負載 —— 如果一座故障,另一座在幾秒鐘內平穩地吸收所有 100% 的負載。
S3 跨區域複寫是公用事業公司的計量數據,持續傳送到備用數據中心 —— 備份始終與來源保持幾秒鐘的同步。
RDS 多亞區是冗餘電力網同步聯絡線 —— 同一變電站內兩個變壓器之間的同步複寫;故障轉移在幾秒鐘內發生且無數據丟失,但僅防止亞區層級(變電站層級)的故障,而非區域電網故障。
對於四層級 DR 策略,醫院手術室備份層級映射最清晰。對於 AWS Backup 保管庫鎖定語義,連鎖餐廳 SEC 合規異地保險箱捕捉到了 WORM 模型。對於 RDS 多亞區與跨區域複本,電力聯絡線澄清了亞區與區域的範圍。參考:https://docs.aws.amazon.com/whitepapers/latest/disaster-recovery-workloads-on-aws/disaster-recovery-workloads-on-aws.html
四種正統 DR 策略
AWS 的 DR 白皮書定義了四種具有不同 RTO/RPO 和成本特性的策略。
備份與還原 (Backup and Restore)
- RTO:數小時至數天(配置新基礎設施、還原數據、驗證)。
- RPO:數小時(通常是上一次完整或增量備份)。
- 成本:最低 —— 僅支付 DR 區域的備份儲存費用。
- 使用案例:第三層級 (Tier-3) 內部應用程式、開發/測試環境、長期存檔合規副本。
機制:使用 AWS Backup 跨區域複製 EBS 快照、RDS 快照、DynamoDB 隨需備份、EFS、FSx、S3。
試驗運轉 (Pilot Light)
- RTO:數十分鐘至數小時。
- RPO:數分鐘(核心數據的持續複寫)。
- 成本:低 —— 核心基礎設施(資料庫複本、基礎 IAM、網絡)全天候運行;計算資源在復原時配置。
- 使用案例:RTO 為 30-60 分鐘即可接受的工作負載。
機制:RDS 跨區域讀取複本、DynamoDB 全球資料表(主動-被動)、隨時可運行的 CloudFormation/CDK 計算資源模板、AMI 複寫、ECR 映像複寫。
暖待機 (Warm Standby)
- RTO:數分鐘至數十分鐘。
- RPO:數秒至數分鐘。
- 成本:中等 —— 在 DR 區域以縮減的規模運行全堆疊。
- 使用案例:停機容忍度低於 30 分鐘的關鍵應用程式。
機制:在 DR 區域以最小規模運行的完整 ASG 和 ECS 服務、RDS 跨區域複本或 Aurora 全球資料庫、預先配置的 ALB 和 Route 53 記錄。復原時切換路由並擴展。
多站點主動-主動 (Multi-Site Active-Active)
- RTO:數秒。
- RPO:近乎零(非同步)到零(某些子服務中為同步)。
- 成本:最高 —— 兩個區域都具備完整的生產能力。
- 使用案例:對業務連續性有嚴格要求的第 1 層級 (Tier-1) 應用程式。
機制:Aurora 全球資料庫寫入轉發或 DynamoDB 全球資料表、透過 Route 53 以延遲為基礎的路由進行流量管理,兩個區域都處理即時流量。一個區域故障時,另一個區域會自動吸收。
策略選擇矩陣
| 所需 RTO | 所需 RPO | 可能的策略 |
|---|---|---|
| 數小時-數天 | 數小時 | 備份與還原 |
| 30-60 分鐘 | 數分鐘 | 試驗運轉 |
| < 30 分鐘 | 數秒 | 暖待機 |
| < 1 分鐘 | 數秒-零 | 多站點主動-主動 |
考試經常會提供過度設計的答案來誘惑你。如果要求是「RTO 1 小時,RPO 15 分鐘」,正確答案是試驗運轉 —— 而不是暖待機(規格過高)或備份與還原(規格不足)。務必仔細閱讀 RTO/RPO 數字,並選擇滿足兩者的最低成本策略。參考:https://docs.aws.amazon.com/whitepapers/latest/disaster-recovery-workloads-on-aws/disaster-recovery-workloads-on-aws.html
AWS Backup
AWS Backup 透過一致的策略和報告,協調對許多 AWS 服務的保護。
支持的資源
EBS 磁碟卷、RDS、Aurora、DynamoDB、EFS、FSx (Windows, Lustre, ONTAP)、Storage Gateway、S3、EC2 執行個體(執行個體 + EBS)、VMware on AWS、Neptune、DocumentDB、Redshift、Timestream、SAP HANA on EC2。
備份計劃、保管庫、選擇
- 備份計劃 (Backup Plan):包含一或多個規則的策略。每個規則都有排程、生命週期(移至冷儲存、過期)、複製到其他保管庫/區域/帳戶的動作。
- 備份保管庫 (Backup Vault):受 KMS 加密的容器;存取策略控制誰可以讀取/還原/刪除。
- 資源選擇:透過標籤(例如
Backup=daily)或明確的 ARN。
跨區域與跨帳戶複製
備份規則可以包含 CopyActions:
- 複製到同一帳戶不同區域的另一個保管庫 (DR)。
- 複製到另一個帳戶不同區域(帳戶隔離 —— 如果來源帳戶遭到入侵,目標帳戶中的備份仍能存續)。
跨帳戶複製需要保管庫存取策略授權來源帳戶進行複製。
保管庫鎖定 (Vault Lock)
備份保管庫鎖定會將 WORM 策略寫入保管庫:
- 控管模式 (Governance Mode):具備足夠權限的 IAM 使用者可以移除保管庫鎖定。適用於防止意外刪除,但無合規約束。
- 合規模式 (Compliance Mode):在配置的保留期內無法移除保管庫鎖定 —— 即便是根使用者 (Root User) 也不行。符合 SEC 17a-4(f)、CFTC 和 FINRA 合規要求。
合規模式有 3 天的寬限期,期間可以撤銷;之後則不可變更直到過期。
一旦合規模式鎖定(經過 3 天寬限期後),在保留期屆滿前,任何人都無法刪除該保管庫中的備份 —— 無論是 AWS 帳戶根使用者,甚至是 AWS 支持團隊。考試會將其作為勒索軟體緩解措施進行測試:被盜用的根帳戶無法刪除備份。參考:https://docs.aws.amazon.com/aws-backup/latest/devguide/vault-lock.html
備份稽核管理員 (Backup Audit Manager)
AWS Backup Audit Manager 根據控制項驗證備份是否如期進行(例如:「標記為 production 的 RDS 執行個體每天備份,保留 35 天,並複製到 us-west-2」)。按資源報告合規情況。適用於 SOC 2 或 PCI 證據等合規報告。
服務特定的 DR 機制
除了 AWS Backup 之外,各項服務也提供 DR 功能。
RDS
- 多亞區 (Multi-AZ):在第二個亞區提供同步待機。故障轉移自動進行,約 60-120 秒。區域內 RPO=0。
- 跨區域讀取複本 (Cross-region read replicas):非同步複寫。為 DR 提升複本;需耗時數分鐘。
- 自動快照 + 跨區域快照複製:備份與還原。
Aurora
- Aurora 多亞區:跨 3 個亞區存放 6 個複本,自動故障轉移約 30 秒。
- Aurora 全球資料庫 (Global Database):次要區域叢集,具備亞秒級複寫延遲(存儲層級),透過受管計劃故障轉移在 1-2 分鐘內切換,意外故障則需高達 5 分鐘。
- Aurora 回溯 (Backtrack)(僅限 MySQL):無需從快照還原即可回退到某個時間點。
具備寫入轉發 (Write Forwarding) 功能的 Aurora 全球資料庫允許次要區域處理寫入(轉發至主要區域),這支持主動-主動模式,但代價是較高的寫入延遲。
DynamoDB
- 隨時間點復原 (PITR):過去 35 天的持續備份;可還原至任何一秒。
- 隨需備份:明確的快照,永久保留。
- 全球資料表 (Global Tables):具備「最後寫入者勝出」功能的跨區域主動-主動。RPO 約 1 秒。
S3
- 跨區域複寫 (CRR):非同步複寫到另一個區域的儲存貯體。支持多個目的地。複寫時間追蹤 SLA:99.99% 的物件在 15 分鐘內完成。
- 同區域複寫 (SRR):區域內複寫,用於日誌彙總、數據主權、帳戶隔離。
- 版本控制 + MFA 刪除:防止意外和勒索軟體刪除。
啟用 CRR/SRR 僅複寫規則建立後的新物件。要複寫現有物件,您需要使用 S3 批次複寫 (S3 Batch Replication,一種受管批次操作) 或一次性 CLI 同步。許多考生假設「啟用複寫,所有物件都會複製」 —— 事實並非如此。參考:https://docs.aws.amazon.com/AmazonS3/latest/userguide/replication.html
用於 DR 協調的 Route 53 ARC
應用程式復原控制員 (Application Recovery Controller) 增加了:
- 就緒檢查 (Readiness checks):在故障轉移前,持續驗證備份區域是否確實準備就緒(容量、配置、複寫延遲)。
- 路由控制 (Routing controls):明確的開啟/關閉切換,可繞過健康檢查評估直接切換 Route 53 記錄。
- 叢集:5 個控制端點,實現 99.999% 的控制平面可用性。
ARC 是「操作員控制的具備安全規則的跨區域故障轉移」的標準答案。
DR 測試
DR 計劃若不測試就會退化。考試預期內容:
- 每季演練 (Quarterly game days):模擬區域故障。完整運行執行手冊。
- 還原測試:將備份還原到沙盒帳戶並進行驗證。
- 混沌工程:AWS 故障導入服務 (FIS) 導入故障(終止執行個體、限制網絡)。
- 記錄詳盡的執行手冊 (Runbooks):存放在 Systems Manager OpsCenter 或維基百科中,註明操作員和呈報路徑。
考試模式通常是「團隊在 18 個月前建立了暖待機但從未測試 —— 這會引入什麼風險?」答案是「執行手冊可能已與現實脫節 —— 配置更改、IAM 策略更新、沒人注意到的複寫延遲增長」。DR 計劃需要定期測試週期才能保持有效。參考:https://docs.aws.amazon.com/whitepapers/latest/disaster-recovery-workloads-on-aws/disaster-recovery-workloads-on-aws.html
常考陷阱 (Common Pitfalls)
- 為 RTO 可接受數小時的第 3 層級應用選擇暖待機:過度設計,浪費。備份與還原即可。
- 為 RTO 為數分鐘的第 1 層級應用選擇備份與還原:設計不足,違反 SLA。
- 忘記 S3 複寫不複寫現有物件:使用 S3 批次複寫進行一次性回填。
- 將 RDS 多亞區視為 DR:多亞區是區域內的 HA;對於區域級 DR,需要跨區域複本或 Aurora 全球資料庫。
- 跳過防範勒索軟體的跨帳戶複製:如果帳戶被盜用,同帳戶備份將面臨風險。
- 未經盡職調查即使用保管庫鎖定合規模式:一旦鎖定即不可逆;配置錯誤將是永久性的。
- 假設 Aurora 全球資料庫故障轉移是即時的:受管故障轉移需 1-2 分鐘,意外故障需高達 5 分鐘。
常見問題
Q1:如何在 RDS 跨區域讀取複本和 Aurora 全球資料庫之間做選擇?
Aurora 全球資料庫提供亞秒級存儲層複寫和 1-2 分鐘的受管故障轉移;RDS 跨區域讀取複本使用邏輯複寫,延遲為 1 秒至數分鐘,且需要手動提升。對於第 1 層級 RTO/RPO,Aurora 全球資料庫勝出。對於第 2 層級,RDS 讀取複本更簡單且便宜。
Q2:AWS Backup 可以備份我沒有 IAM 存取權限的資源嗎?
不可以,AWS Backup 使用 IAM 服務角色存取資源;該角色必須具備讀取/快照/複製資源的權限。對於跨帳戶備份,目標帳戶必須透過保管庫存取策略接受來源帳戶的複製。
Q3:保管庫鎖定控管模式和合規模式有什麼區別?
控管模式:具備 backup:DeleteBackupVaultLockConfiguration 權限的 IAM 使用者可以移除鎖定。適用於防止意外刪除。合規模式:鎖定無法移除(在 3 天寬限期後),直到保留期屆滿 —— 即使是根使用者也不行。適用於受監管行業。
Q4:DynamoDB 全球資料表可以用作主動-主動的主要儲存嗎?
可以 —— 這正是其設計初衷。兩個區域都接受讀取和寫入;衝突透過「最後寫入者勝出」(最高時間戳勝出)來解決。請注意:任何依賴於強大跨區域一致性(例如唯一性約束)的業務邏輯在全球資料表中均不成立。
Q5:如何安全地測試跨區域故障轉移?
先在非生產環境中進行演練。對於生產環境,使用 ARC 路由控制將一小部分流量切換到次要區域,監控問題,然後擴大。在主管知情的狀況下,於辦公時間安排演練;在辦公時間發現缺陷的價值遠超過故意中斷的感知風險。
Q6:如果來源區域變得不可用,RDS 自動備份會發生什麼?
自動備份存放在與資料庫執行個體相同的區域。如果區域不可用,備份也將不可用。為了 DR,請配置跨區域快照複製或使用 AWS Backup 的跨區域複製。另外,Aurora 全球資料庫的數據會複寫到次要區域的存儲中,獨立於任何備份。
Q7:如何在滿足 RTO/RPO 的同時規劃 DR 預算?
系統化方法:根據業務影響分析列出每個工作負載的 RTO/RPO;將每個工作負載映射到滿足這兩個目標的最便宜策略;加總成本。第 1 層級工作負載(通常佔組合的 5-10%)佔用了大部分 DR 預算;第 3 層級工作負載(通常佔 80%)成本極低,因為備份與還原已足夠。
總結
DOP-C02 中的災害復原是由四種正統策略(備份還原、試驗運轉、暖待機、多站點主動-主動)組成的,旨在以最低成本滿足 RTO 和 RPO。AWS Backup 是具備跨區域與跨帳戶複製以及保管庫鎖定(防範勒索軟體)功能的協調器。服務特定的機制(RDS 多亞區、Aurora 全球資料庫、DynamoDB 全球資料表、S3 CRR)提供了數據平面的原語。Route 53 ARC 協調安全、由操作員控制的跨區域故障轉移。記住策略與 RTO/RPO 的對應關係、保管庫鎖定合規模式的不可逆性、S3 複寫「預設不處理現有物件」的陷阱,以及測試週期的要求。掌握這些,DR 情境題目就能迎刃而解。