本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
REL09-BP04 定期復原資料,以確認備份完整性和程序
透過執行復原測試,驗證您的備份程序實作是否符合復原時間目標 (RTO) 和復原點目標 (RPO)。
預期結果:使用定義明確的機制定期復原來自備份的資料,以確認可在工作負載的既定復原時間目標 (RTO) 內復原。確認從備份還原會導致資源包含原始資料,而不會損毀或無法存取,且在復原點目標 () 內遺失資料RPO。
常見的反模式:
-
還原備份,但不查詢或擷取任何資料,以檢查還原可用。
-
假設備份存在。
-
假設系統的備份可以完全運作,而且可以從中復原資料。
-
假設從備份還原或復原資料的時間落在工作負載RTO的 內。
-
假設備份中包含的資料落在工作負載RPO的 內
-
在不使用執行手冊的情況下,或在建立的自動化程序外部,視需要還原。
建立此最佳實務的好處:測試備份的復原可驗證資料在需要時可以還原,而不必擔心資料可能遺失或損毀、工作負載RTO的 內可能進行還原和復原,以及工作負載的任何資料遺失都落在 RPO 內。
未建立此最佳實務時的曝險等級:中
實作指引
測試備份和還原功能可以提高能夠在中斷期間執行這些動作的信心。定期將備份還原至新位置,並執行測試以驗證資料的完整性。應執行的一些常見測試是檢查所有資料是否可用、未損毀、可存取,以及是否有任何資料遺失落在工作負載RPO的 內。此類測試也可以協助判斷復原機制是否足夠快速,以容納工作負載的 RTO。
使用 AWS,您可以建立測試環境並還原備份以評估 RTO和 RPO功能,以及對資料內容和完整性執行測試。
此外,Amazon RDS和 Amazon DynamoDB 允許 point-in-time復原 (PITR)。使用持續備份時,您可以將資料集還原到指定日期和時間當時的狀態。
如果所有資料都可用,表示 未損毀、可存取,而且任何資料遺失都屬於工作負載RPO的 。此類測試也可以協助判斷復原機制是否足夠快速,以容納工作負載的 RTO。
AWS Elastic Disaster Recovery 提供 Amazon EBS磁碟區的持續 point-in-time復原快照。當來源伺服器複寫時, point-in-time狀態會根據設定的政策隨時間而變長期。彈性災難復原可透過啟動執行個體進行測試和演練,而無需重新導向流量,從而協助您驗證這些快照的完整性。
實作步驟
-
識別目前正在備份的資料來源,以及這些備份的儲存位置。如需實作指引,請參閱 REL09-BP01 識別和備份需要備份的所有資料,或從來源複製資料。
-
針對每個資料來源建立資料驗證條件。不同類型的資料將具有不同的屬性,可能需要不同的驗證機制。在您自信可於生產環境中使用此資料之前,請考慮如何驗證它。一些驗證資料的常用方法是使用資料和備份屬性,例如資料類型、格式、檢查總和、大小,或這些屬性與自訂驗證邏輯的組合。例如,這可能是建立備份時所還原資源與資料來源之間的檢查總和值比較。
-
建立 RTO和 RPO 以根據資料重要性還原資料。如需實作指引,請參閱 REL13-BP01 定義停機時間和資料遺失的復原目標。
-
評估您的復原能力。檢閱您的備份和還原策略,以了解其是否可滿足您的 RTO 和 RPO,並視需要調整策略。使用 AWS Resilience Hub,可以執行工作負載的評估。評估會根據彈性政策評估您的應用程式組態,並報告是否可以達到您的 RTO和RPO目標。
-
使用生產中用於資料還原的當前已建立的流程進行測試還原。這些程序取決於原始資料來源的備份方式、備份本身的格式和儲存位置,或是否已從其他源重現資料。例如,如果您使用的是諸如 AWS Backup 等受管服務,這可能就像將備份還原到新資源一樣簡單。如果使用 AWS Elastic Disaster Recovery ,則可以啟動復原演練。
-
根據先前建立的資料驗證條件,從已還原的資源中驗證資料復原。還原和復原的資料是否包含備份時最新的記錄/項目? 此資料是否屬於工作負載RPO的 ?
-
測量還原和復原所需的時間,並將其與您已建立的 進行比較RTO。此程序是否屬於工作負載RTO的 ? 例如,比較從還原程序開始到復原驗證完成的時間戳記,以計算此程序需要多長時間。所有 AWS API呼叫都會加上時間戳記,此資訊可在 中使用AWS CloudTrail。儘管此資訊可以提供有關還原程序何時開始的詳細資訊,但驗證完成時的結束時間戳記應由驗證邏輯記錄。如果使用自動流程,則可以使用 Amazon DynamoDB
之類的服務來存放此資訊。此外,許多 AWS 服務提供事件歷史記錄,可在發生特定動作時提供時間戳記資訊。在 中 AWS Backup,備份和還原動作稱為任務 ,而這些任務包含時間戳記資訊作為其中繼資料的一部分,可用於測量還原和復原所需的時間。 -
如果資料驗證失敗,或還原和復原所需的時間超過RTO為工作負載建立的時間,請通知利益相關者。實作自動化來執行此操作時,例如在此實驗室 中
,Amazon Simple Notification Service (Amazon SNS) 之類的服務可用來傳送電子郵件或SMS向利益相關者傳送推播通知。這些訊息也可以發佈至傳訊應用程式,例如 Amazon Chime、Slack 或 Microsoft Teams ,或用於建立 OpsItems 使用 AWS Systems Manager 的任務 OpsCenter。 -
將此流程自動化以定期執行。例如, 中的類似 AWS Lambda 或 狀態機器的服務 AWS Step Functions 可用於自動還原和復原程序,而 Amazon EventBridge 可用於定期調用此自動化工作流程,如以下架構圖所示。了解如何使用 自動化資料復原驗證 AWS Backup
。此外,此 Well-Architected 實驗室 為這裡的幾個步驟提供了一種自動化方法的實際操作體驗。
實施計畫的工作量:中到高,取決於驗證條件的複雜性。定。
資源
相關文件:
相關範例: