設定並測試 RTO 與 RPO
已完成定義可接受的中斷與資料損失。比較復原策略,並依業務要求衡量完整復原演練。
檢查理解程度復原演練在 55 分鐘內恢復有用服務,資料則復原到中斷前 20 分鐘。目標是 RTO 60 分鐘、RPO 15 分鐘。結果如何?進行練習
學習目標
- 區分 RTO、RPO 與可用性。
- 計算復原經過時間與資料復原缺口。
- 定義有證據與服務負責人的復原演練。
定義兩個不同目標
復原時間目標(RTO)設定恢復有用服務前,可接受的最長中斷時間。復原點目標(RPO)設定以時間衡量的最大可接受資料損失。針對明確服務與故障情境,和業務負責人議定這些目標。
可用性目標描述一段期間內的服務表現。RTO 和 RPO 則描述復原預期。它們回答不同問題。
以虛構訂購服務為例,負責人設定 RTO 為 60 分鐘、RPO 為 15 分鐘。這些只是範例值,不是通用建議。其他服務可能需要不同限制,因為遺失訂單與延遲報表的後果不同。
測量完整復原過程
服務在 10:00 停止。團隊記錄這次演練:
| 階段 | 所需時間 | 時刻 |
|---|---|---|
| 偵測中斷 | 8 分鐘 | 10:08 |
| 評估並授權復原 | 12 分鐘 | 10:20 |
| 還原服務與資料 | 25 分鐘 | 10:45 |
| 驗證可用的業務操作 | 10 分鐘 | 10:55 |
復原共經過 55 分鐘。這次演練符合 60 分鐘的 RTO。若只計入 25 分鐘還原操作,就會掩蓋大部分中斷時間。
最新可用復原點是 09:40,距離 10:00 中斷有 20 分鐘。這比 15 分鐘的 RPO 多了 5 分鐘。更快還原同一份資料,也無法縮小這個缺口。
檢查實際缺少或不一致的紀錄。時間缺口描述可能受影響的範圍,不會直接算出受影響訂單數。恢復正常處理前,先核對外部付款與履約紀錄。在復原練習中試用不同假設。
選擇復原策略
策略必須涵蓋必要服務、資料與相依服務。依實測目標比較下列模式:
| 模式 | 事件前已準備的內容 |
|---|---|
| 備份與還原 | 可復原資料,以及重建環境的方法 |
| Pilot light | 必要資料服務;其他元件仍須啟用或建立 |
| 暖待命 | 可運作但容量較低的環境 |
| 主動/主動 | 多個環境已在處理流量 |
這些模式沒有通用復原時間。實作、資料量、相依服務和測試條件決定結果。決策時也要考慮維運成本與團隊能力。
防範的不只是中斷
副本也可能複寫不該發生的刪除或已毀損的紀錄。依需求保留可還原版本,或使用時間點復原。驗證保留規則、還原權限和加密金鑰存取。備份隔離方式應符合情境,包括無法存取主要帳戶的情況。
若要在另一區域復原,檢查允許的資料位置與完整相依鏈。納入身分、DNS、數位憑證、機密值、部署產物、配額和網路存取。復原環境即使只缺少一把必要金鑰,也可能無法使用。
定義誰可以宣布事件、誰執行復原,以及誰驗收恢復後的服務。規劃切回原環境,或繼續在復原環境運作。再次切換前,防止互相衝突的寫入,並核對資料。
將計畫轉成證據
撰寫操作手冊,並在受控條件下演練。記錄情境、資料集大小、起訖時間、復原資料點、失敗步驟和負責人。使用安全測試紀錄,驗證一項真實業務操作。
相關變更後,以及約定排程到期時,重做演練。資料結構描述變更、新外部相依服務或不同資料量,都可能讓先前結果失效。將演練證據連結到發布版本與維運責任。
進行練習
虛構服務在 10:00 停止。偵測花了 8 分鐘、決策 12 分鐘、還原 25 分鐘、驗證 10 分鐘。最新可用資料來自 09:40。將結果與 RTO 60 分鐘、RPO 15 分鐘比較,並為各目標提出一項改善。
下載工作表(Markdown)取消此選項,會刪除此瀏覽器儲存的所有進度。
進度只留在此瀏覽器。無須帳戶,沒有追蹤。
來源與延伸閱讀
- AWS: Define recovery objectives for downtime and data loss ↗
- AWS: Use defined recovery strategies ↗
- AWS: Testing disaster recovery ↗