還原測試 - AWS Backup

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

還原測試

還原測試是提供的一項功能 AWS Backup,可提供還原可行性的自動化和定期評估,以及監視還原工作持續時間的能力。

概要

請先建立還原測試計畫,您會在其中提供計畫名稱、還原測試的頻率,以及目標開始時間。然後,您會指派要在計畫中包含的資源。然後,您可以選擇在測試中包含特定或隨機的恢復點。 AWS Backup 備份會以智慧方式推斷還原工作成功所需的中繼資料

當計劃中的排定時間到達時,會根據您的計劃 AWS Backup 開始還原工作,並監視完成還原所花費的時間。

還原測試計畫完成執行之後,您可以使用結果來顯示組織或控管需求的合規性,例如還原測試案例的成功完成或還原任務完成時間。

或者,您可以使用恢復測試驗證來確認還原測試結果。

選擇性驗證完成或驗證視窗關閉後,會 AWS Backup 刪除還原測試相關的資源,並根據服務 SLA 刪除資源。

在測試程序結束時,您可以檢視測試的結果和完成時間。

還原測試與還原程序的比較

還原測試會以與隨需還原相同的方式執行還原任務,並使用與隨需還原相同的復原點 (備份)。您將看到StartRestoreJob通過恢復測試啟動的每個作業在 CloudTrail (如果選擇加入)的呼叫

不過,排程還原測試的作業與隨需還原作業之間有一些差異:

還原測試 還原

帳戶

建議的最佳實務是指定用於還原測試的帳戶

您可以從帳號還原資源

AWS Backup Audit Manager

可以開啟控制項以確認還原測試是否符合指定的還原目標

節奏

定期作為排程計畫的一部分。

隨需

區域性

適用於除以色列(特拉維夫)以外的所有商業地區 AWS Backup

不提供 AWS GovCloud (美國東部)、 AWS GovCloud (美國西部)、中國(北京)和中國(寧夏)。

適用於所有 AWS Backup 營運的商業區域

資源

您可以指派給測試計畫的資源類型包括:Aurora、Amazon DocumentDB、Amazon DynamoDB、Amazon EBS、Amazon EC2、Amazon EFS、Amazon FSx (Lustre、ONTAP、OpenZFS, Windows)、Amazon Neptune、Amazon RDS 和 Amazon S3。

所有資源皆可還原。

結果

還原測試工作完成後,還原的資源會在恢復測試驗證視窗完成後刪除。

還原任務完成後,資源的還原版本仍會保留。

Tags (標籤)

對於在還原時支援標籤的資源類型,測試會在還原時套用標籤。

對於支援的資源,標籤是選用的。

還原測試管理

您可以在 AWS Backup 主控台中建立、檢視、更新或刪除還原測試計畫。

您可以使用 AWS CLI 以程式設計方式執行還原測試計畫的作業。每個 CLI 都是其起源所在的 AWS 服務所特有的。命令前面應加上 aws backup

資料刪除

還原測試完成後,會 AWS Backup 開始刪除測試中涉及的資源。此刪除並非即時進行。每個資源都有一個基礎配置,用於確定這些資源的存儲方式和生命週期。例如,如果 Amazon S3 儲存貯體是還原測試的一部分,則會將生命週期規則新增至儲存貯體。規則執行以及完全刪除儲存貯體及其物件最多可能需要數天的時間,但只有到生命週期規則啟動的那天 (預設為 1 天) 才會針對這些資源收取費用。刪除速度將因資源類型而異。

屬於還原測試計畫一部分的資源包含名為 awsbackup-restore-test 的標籤。如果用戶刪除此標籤,則 AWS Backup 無法在測試期結束時刪除該資源,用戶將不得不手動刪除它。

若要確認資源未如預期刪除的原因,您可以在主控台中搜尋失敗的任務,或使用命令列介面呼叫 API DescribeRestoreJob 請求以擷取刪除狀態訊息。

Backup 計畫 (非還原測試計畫) 會忽略還原測試所建立的資源 (標籤awsbackup-restore-test或名稱開頭為awsbackup-restore-test)。

成本控制

每次還原測試都會產生費用。根據還原測試計畫中包含的資源而定,屬於計畫一部分的還原任務也可能會產生費用。如需詳細資訊,請參閱 AWS Backup 定價

第一次設定還原測試計畫時,您可能會發現,納入最少數量的資源類型和受保護資源,對於熟悉功能、程序和所涉及的平均成本很有幫助。您可以在建立計畫後加以更新,以新增更多資源類型和受保護的資源。

建立還原測試計畫

還原測試計畫有兩個部分:計畫建立和指派資源。

使用主控台時,這些部分是有順序的。在第一部分中,您可以設定名稱、頻率和開始時間。在第二部分期間,您將資源指派給測試計畫。

使用 AWS CLI 和 API 時,首先使用 create-restore-testing-plan. 收到成功回應並建立計劃後,請針對要包含在計劃中的每個資源類型使用create-restore-testing-selection

當您建立還原測試計畫時,我們會為您建立服務連結角色。如需詳細資訊,請參閱 使用角色進行還原測試

Console
第 I 部分:使用主控台建立還原測試計畫
  1. 請在以下位置開啟 AWS Backup 主控台。 https://console.aws.amazon.com/backup

  2. 在左側導覽中,找到還原測試並加以選取。

  3. 選擇建立還原測試計畫

  4. 一般

    1. 名稱:輸入新還原測試計畫的名稱。此名稱建立後就不可變更。此名稱必須包含英數字元和底線。

    2. 測試頻率:選擇還原測試的執行頻率。

    3. 開始時間:設定您希望測試開始的時間 (以小時和分鐘為單位)。您也可以設定希望還原測試計畫執行所用的當地時區。

    4. 始範圍:此值 (以小時為單位) 是指定還原測試開始的期間。 AWS Backup 盡最大努力在時間內開始所有指定的還原工作,並在此期間內隨機產生開始時間。

  5. 復原點選擇:您可以在此設定來源保存庫、復原點範圍,以及您希望哪些復原點 (備份) 成為計畫一部份的選取條件。

    1. 來源保存庫:選擇要包括所有可用的保存庫還是僅包括特定的保存庫,以協助篩選可納入計畫的復原點。如果您選擇特定保存庫,請從下拉式功能表中選取您要包括的保存庫。

    2. 合格的復原點:指定要從中選取復原點的時間範圍。您可以選取 1 至 365 天、1 至 52 週、1 至 12 個月或 1 年。

    3. 選取條件:指定復原點的日期範圍後,您可以選擇是否要在計畫中包含最新還是隨機的復原點。您可能希望選擇隨機的復原點,以更頻繁的頻率來衡量復原點的一般運作狀態,以防需要還原到舊版本的情況。

    4. P oint-in-time 復原點:如果您的計劃包含具有連續備份 (point-in-time-restore/PITR) 點的資源,您可以核取此方塊,讓測試計劃將連續備份納入為合格復原點 (請參閱依資源類型具有此功能的資源提供功能)。

  6. (選用) 為還原測試計畫新增的標籤:您可以選擇在還原測試計畫中新增最多 50 個標籤。每個標籤都必須個別新增。若要新增標籤,請選取新增標籤

第 II 部分:使用主控台將資源指派給計畫

在本節中,您可以選擇已備份要包含在還原測試計畫中的資源。您將選擇資源指派的名稱、選擇用於還原測試的角色,並在清除之前設定保留期限。然後,您將選取資源類型、選取範圍,並選擇性地使用標籤縮小選擇範圍。

提示

若要重新瀏覽至要新增資源的還原測試計畫,您可以前往 AWS Backup 主控台、選取還原測試,然後尋找您偏好的測試計畫並加以選取。

  1. 一般

    1. 資源指派名稱:使用英數字元與底線的字串 (不含空格),輸入此資源指派的名稱。

    2. 還原 IAM 角色:此測試必須使用您指定的 Identity and Access Management (IAM) 角色。您可以選擇 AWS Backup 默認角色或其他角色。如果 AWS Backup 預設值在您完成此程序時尚未存在,則 AWS Backup 會使用必要的權限自動為您建立預設值。您為還原測試選擇的 IAM 角色必須包含 AWSBackupServicePolicyForRestores 中找到的許可。

    3. 清除前的保留期:在還原測試期間,會暫時還原備份資料。根據預設,此資料會在測試完成後遭到刪除。如果您希望在還原時執行驗證,則可以選擇延遲刪除此資料。

      如果您計畫執行驗證,請選取保留特定小時數,並輸入 1 到 168 小時 (含) 之間的值。請注意,驗證可以透過程式設計的方式執行,但不能從 AWS Backup 主控台執行。

  2. 受保護的資源:

    1. 選取資源類型:選取要在資源測試計畫中包含的資源類型和這些類型的備份範圍。每個計畫都可以包含多種資源類型,但是必須將每種資源個別指派給計畫。

    2. 資源選擇範圍:選擇類型之後,請選取是否要包含該類型的所有可用受保護資源,或者只包含特定受保護的資源。

    3. (選用) 使用標籤調整資源選擇:如果備份具有標籤,則可以按標籤篩選以選取特定的受保護資源。輸入標籤索引鍵、要包含或不包含此索引鍵的條件,以及該索引鍵的值。然後,選取新增標籤按鈕。

      透過檢查內含受保護資源的備份保存庫中最新復原點上的標籤,以評估受保護資源上的標籤。

  3. 還原參數:某些資源需要指定參數來為還原任務做準備。在大多數情況下, AWS Backup 會根據儲存的備份推斷值。

    在大多數情況下,建議您保留這些參數;但是,您可以從下拉式功能表中選擇不同的項目來變更這些值。變更值的最佳範例包括覆寫加密金鑰、無法推斷資料的 Amazon FSx 設定,以及建立子網路。

    例如,如果 RDS 資料庫是您指派給還原測試計畫的其中一種資源,則可用區域、資料庫名稱、資料庫執行個體類別和 VPC 安全群組等參數都將顯示,並帶有您可以變更的推斷值 (如果適用)。

AWS CLI

CLI 命令 CreateRestoreTestingPlan 會用於制定還原測試計畫。

此測試計畫必須包含:

  • RestoreTestingPlan,其中必須包含唯一的 RestoreTestingPlanName

  • ScheduleExpression Cron 表達式

  • RecoveryPointSelection

    雖然命名類似,這是一樣的RestoreTestingSelection.

    RecoveryPointSelection有五個參數 (三個必要參數和兩個可選)。您指定的值會決定還原測試中包含哪個復原點。您必須指出是Algorithm否要在您的復原點中使用最新的復原點,SelectionWindowDays或者您是否需要隨機復原點,並且必須指出可IncludeVaults從哪個儲存庫中選擇復原點。

選擇可以有一或多個受保護的資源 ARN,或者可以有一或多個條件,但不能同時具有兩者。

您也可以包含:

使用 CLI 命令 create-restore-testing-plan

成功建立計畫後,您需要使用 create-restore-testing-selection 將資源指派至其中。

其中包括 RestoreTestingSelectionNameProtectedResourceType 以及下列其中一項:

  • ProtectedResourceArns

  • ProtectedResourceConditions

每個受保護的資源類型可以有一個單一值。還原測試選擇可以包含 ProtectedResourceArnsProtectedResourceConditions 的萬用字元值 (「*」)。或者,您可以在 ProtectedResourceArns 中包含最多 30 個特定受保護的資源 ARN。

恢復點確定

每次執行測試計畫時 (根據您指定的頻率和開始時間),還原測試會還原選取中每個受保護資源一個合格的復原點。如果沒有資源的復原點符合復原點選擇準則,則測試中將不會包含該資源。

如果符合指定時間範圍的準則以及還原測試計劃中包含的 Vault,則測試選取項中受保護資源的復原點符合資格。

如果資源測試選取項包含資源類型,且符合下列任一條件,則會選取受保護的資源:

  • 資源 ARN 是在該選擇中指定的; 要么,

  • 該選取項目上的標籤條件符合資源最新復原點上的標記

更新還原測試計畫

您可以透過主控台或 AWS CLI更新還原測試計畫的部分內容以及其中的資源選擇。

Console
更新主控台中的還原測試計畫和選擇

在主控台中檢視還原測試計畫詳細資訊頁面時,您可以編輯 (更新) 計畫的許多設定。若要執行此作業,

  1. 請在以下位置開啟 AWS Backup 主控台。 https://console.aws.amazon.com/backup

  2. 在左側導覽中,找到還原測試並加以選取。

  3. 選取編輯按鈕。

  4. 調整頻率、開始時間以及測試開始時間 (測試將在所選開始時間之後於此時間內開始)。

  5. 儲存您的變更。

AWS CLI
通過更新恢復測試計劃和選擇 AWS CLI

請求UpdateRestoreTestingPlanUpdateRestoreTestingSelection可用於將部分更新發送到指定的計劃或選擇。名稱無法變更,但您可以更新其他參數。在每個請求中僅包含您希望變更的參數。

傳送更新要求之前,請使用GetRestoreTestingPlanGetRestoreTestingSelection來判斷您是否 RestoreTestingSelection包含特定的 ARN,或是否使用萬用字元和條件。

如果還原測試選擇已指定 ARN (而非萬用字元),且您想要將其變更為具有條件的萬用字元,則更新請求必須同時包含 ARN 萬用字元和條件。選擇可以具有受保護的資源 ARN,也可以使用萬用字元搭配條件,但不能同時具有兩者。

檢視現有的還原測試計畫

Console
在主控台中檢視與現有還原測試計畫和指派資源的詳細資訊
  1. 請在以下位置開啟 AWS Backup 主控台。 https://console.aws.amazon.com/backup

  2. 從左側導覽中選取還原測試。此畫面會顯示還原測試計畫。依預設會依照上次執行期顯示這些計畫。

  3. 從計畫中選取連結以查看其詳細資訊,包括計畫的摘要、名稱、頻率、開始時間和以下時間後開始值。

您也可以檢視此計畫中受保護的資源、此計畫中包含最近 30 天的還原測試任務,以及您可以建立屬於此測試計畫的任何標籤。

AWS CLI

使用命令列取得與現有還原測試計畫和測試選擇的詳細資訊

檢視還原測試任務

Console
在主控台中檢視現有的還原測試任務

還原任務頁面上包含還原測試任務。

  1. 請在以下位置開啟 AWS Backup 主控台。 https://console.aws.amazon.com/backup

  2. 瀏覽至任務頁面。

    或者,您可以選取還原測試,然後選取還原測試計畫以查看其詳細資訊以及與計畫相關聯的任務。

  3. 選取還原任務索引標籤。

    您可以在此頁面檢視狀態、還原時間、還原類型、資源 ID、資源類型、任務所屬的還原測試計畫、建立時間以及還原任務的復原點 ID。

    還原測試計畫中包含的任務具有還原類型測試

還原測試任務有幾個狀態類別:

  • 需要注意的狀態類型會加上底線;將游標暫留在狀態上可查看其他詳細資訊 (如果有的話)。

  • 如果恢復測試驗證已在測試中啟動(在控制台中不可用),則將顯示驗證狀態

  • 刪除狀態會記錄還原測試所產生之資料的狀態。三種可能的刪除狀態:成功正在刪除失敗

    如果還原測試任務刪除失敗,您將需要手動移除資源,因為還原測試流程無法自動完成資源。通常如果從資源中移除標籤 awsbackup-restore-test,則會觸發失敗的刪除。

AWS CLI
從命令列檢視現有的還原測試任務

刪除還原測試計畫

Console
在主控台中刪除還原測試計畫
  1. 請前往 檢視現有的還原測試計畫 以查看您目前的還原測試計畫。

  2. 在還原測試計畫詳細資訊頁面上,選取刪除以刪除計畫。

  3. 選取 [刪除] 後,會出現快顯確認畫面,確認您是否要刪除計畫。在此畫面中,特定還原測試計畫的名稱將以粗體顯示。如要繼續,請輸入測試計畫的確切區分大小寫的名稱,包括任何底線、破折號和句號。

    如果無法選取刪除還原測試計畫選項,請重新輸入名稱,直到名稱與顯示的名稱相符為止。一旦完全相符,刪除還原測試計畫的選項將變為可選取的狀態。

AWS CLI
透過命令列刪除還原測試計畫

CLI 指令DeleteRestoreTestingSelection可用於刪除還原測試選取項。在請求中包含 RestoreTestingPlanNameRestoreTestingSelectionName

刪除測試計畫之前,必須先刪除與測試計畫相關的所有測試選擇。刪除所有測試選項後,您可以使用 API 請求刪DeleteRestoreTestingPlan除還原測試計劃。您需要包括 RestoreTestingPlanName

稽核還原測試

還原與 AWS Backup Audit Manager 的測試整合,以協助您評估還原的資源是否在目標還原時間內完成。

如需詳細資訊,請參閱 AWS Backup Audit Manager 控制項與修補中的資源的還原時間符合目標控制項。

還原測試配額和參數

  • 100 個還原測試計畫

  • 可以在每個還原測試計畫新增 50 個標籤

  • 每個計畫 30 個選擇

  • 每個選擇 30 個受保護資源的 ARN

  • 每個選擇 30 個受保護資源的條件 (包括 StringEqualsStringNotEquals 內的條件)

  • 每個選擇 30 個保存庫選擇器

  • 最長選擇時段天數:365 天

  • 開始時段時數:最短 1 小時;最長 168 小時 (7 天)

  • 計畫名稱長度上限:50 個字元

  • 選擇名稱長度上限:50 個字元

您可在 AWS Backup 配額 檢視有關限制的其他資訊。

恢復測試故障排除

如果還原測試工作的還原狀態為Failed,則下列原因可協助您判斷原因和解決方法。

您可以在工作狀態詳細資料頁面的 AWS Backup 主控台中檢視錯誤訊息,或使用 CLI 指令list-restore-jobs-by-protected-resourcelist-restore-jobs

  1. 錯誤:No default VPC for this user. GroupName is only supported for EC2-Classic and default VPC.

    解決方案 1:更新還原測試選項並覆寫參數SubnetId。主 AWS Backup 控台會將此參數顯示為「子網路」。

    解決方案 2:重新建立預設 VPC

    受影響的資源類型:Amazon EC2

  2. 錯誤:No subnets found for the default VPC [vpc]. Please specify a subnet.

    解決方案 1:更新您的還原測試選項並覆寫SubnetId還原參數。主 AWS Backup 控台會將此參數顯示為「子網路」。

    解決方案 2:預設 VPC 中建立預設子網路。

    受影響的資源類型:Amazon EC2

  3. 錯誤:No default subnet detected in VPC. Please contact AWS Support to recreate default Subnets.

    解決方案 1:更新您的還原測試選項並覆寫DBSubnetGroupName還原參數。主 AWS Backup 控台會將此參數顯示為子網路群組。

    解決方案 2:預設 VPC 中建立預設子網路。

    受影響的資源類型:Amazon Aurora,Amazon DocumentDB,Amazon RDS,Neptune

  4. 錯誤:IAM Role cannot be assumed by AWS Backup

    解決方案:還原角色必須由 AWS Backup. 請在 IAM 中更新角色的信任政策,以允許由其承擔,"backup.amazonaws.com"或更新還原測試選項以使用可確定的角色。 AWS Backup

    受影響的資源類型:全部

  5. 錯誤:Access denied to KMS key.The specified AWS KMS key ARN does not exist, is not enabled or you do not have permissions to access it.

    解決方案:請確認下列項目:

    1. 還原角色可存取用於加密備份的金 AWS KMS 鑰,以及用來加密還原資源的 KMS 金鑰 (如果適用)。

    2. 上述 KMS 金鑰上的資源政策允許還原角色存取它們。

    如果尚未滿足上述條件,請配置還原角色和資源策略以獲得適當的存取。然後,再次運行還原測試工作。

    受影響的資源類型:全部

  6. 錯誤:User ARN is not authorized to perform action on resource because no identity based policy allows the action.Access denied performing s3:CreateBucket on awsbackup-restore-test-xxxxxx

    解決方案:還原角色沒有足夠的權限。更新 IAM 中還原角色的許可。

    受影響的資源類型:全部

  7. 錯誤:User ARN is not authorized to perform action on resource because no resource-based policy allows the action.User ARN is not authorized to perform action on resource with an explicit deny in a resource based policy.

    解決方案:還原角色對郵件中指定的資源沒有足夠的存取權。更新上述資源的資源策略。

    受影響的資源類型:全部