还原测试 - AWS Backup

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

还原测试

恢复测试是提供的一项功能 AWS Backup,它可以自动定期评估恢复的可行性,并能够监控恢复作业的持续时间。

概述

首先,创建还原测试计划,在其中提供计划的名称、还原测试的频率和目标开始时间。然后,分配要包含在计划中的资源。然后,您可以选择在测试中包括特定或随机的恢复点。 AWS Backup backup 可以智能地推断出成功还原任务所需的元数据

当计划中的预定时间到来时, AWS Backup 会根据您的计划启动恢复作业,并监控完成恢复所需的时间。

在还原测试计划完成运行后,您可以使用结果来证明是否符合组织或监管要求,例如,成功完成还原测试方案或还原作业的完成时间。

或者,您可以使用恢复测试验证来确认恢复测试结果。

在可选的验证完成或验证窗口关闭后,将 AWS Backup 删除与还原测试相关的资源,并且这些资源将根据服务进行删除SLAs。

在测试过程结束时,您可以查看测试的结果和完成时间。

还原测试与还原过程的比较

还原测试以与按需还原相同的方式运行还原作业,并使用与按需还原相同的恢复点(备份)。对于通过恢复测试启动StartRestoreJob的每项作业,你将看到调用 CloudTrail (如果选择加入)

但是,计划还原测试的操作和按需还原操作之间有一些区别:

还原测试 还原

账户

推荐的最佳做法是指定一个用于还原测试的账户

您可以从账户还原资源

AWS Backup Audit Manager

可以启用控制功能以确认还原测试是否达到指定的还原目标

节奏

作为计划的一部分定期实施。

按需

资源

您可以为测试计划分配的资源类型包括:Aurora、Amazon DocumentDB、亚马逊 DynamoDB、亚马逊、亚马逊、亚马逊、EBSEC2亚马逊(Lustre EFS、、Open、ZFS Windows)ONTAP、FSx亚马逊 Neptune、亚马逊和亚马逊 S3。RDS

所有资源均可还原。

结果

恢复测试任务完成后,还原的资源将在恢复测试验证窗口结束后删除。

还原作业完成后,资源的还原版本将保留。

标签

对于在还原时支持标签的资源类型,测试功能会在还原时应用标签。

对于支持的资源,标签是可选的。

还原测试管理

您可以在 AWS Backup 控制台中创建、查看、更新或删除还原测试计划。

您可以使用 AWS CLI 以编程方式执行还原测试计划的操作。每种 AWS 服务CLI都特定于它所起源的服务。命令应前缀 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. https://console.aws.amazon.com/backup 上打开 AWS Backup 控制台。

  2. 在左侧导航窗格中,找到还原测试并将其选中。

  3. 选择创建还原测试计划

  4. 一般性问题

    1. 名称:键入新还原测试计划的名称。名称一经创建便无法更改。名称只能包含字母数字字符和下划线。

    2. 测试频率:选择还原测试的运行频率。

    3. 开始时间:设置您希望开始测试的时间(以小时和分钟为单位)。您还可以设置本地时区以运行还原测试计划。

    4. 开始时间:此值(以小时为单位)是指定开始恢复测试的时间段。 AWS Backup 尽最大努力在一定时间内开始所有指定的恢复作业,并在此时间段内随机安排开始时间。

  5. 恢复点选择:在这里,您可以设置源保管库、恢复点范围以及对要在计划中包含的恢复点(备份)的选择标准。

    1. 源保管库:选择是包含所有可用的保管库,还是仅包含特定保管库,以帮助筛选您的计划中可以包含哪些恢复点。如果您选择特定保管库,请从下拉菜单中选择要包含的保管库。

    2. 符合条件的恢复点:指定将从中选择恢复点的时间范围。您可以选择 1 到 365 天、1 到 52 周、1 到 12 个月或 1 年。

    3. 选择标准:指定恢复点的日期范围后,您可以选择是将最新的恢复点还是随机选择的恢复点包含在计划中。您可能希望随机选择一个来以更规则的频率衡量恢复点的总体运行状况,以防需要还原到旧版本。

    4. Point-in-time 恢复点:如果您的计划包括具有连续备份 (point-in-time-restore/PITR) 点的资源,则可以选中此复选框,让您的测试计划包括连续备份作为符合条件的恢复点(请参阅按资源类型划分的功能可用性,哪些资源类型具有此功能)。

  6. (可选)已添加到还原测试计划的标签:您最多可以选择在还原测试计划中添加 50 个标签。每个标签必须单独添加。要添加新标签,请选择添加新标签

第 II 部分:使用控制台为计划分配资源

在本节中,您可以选择已备份的资源以包含在还原测试计划中。您将选择资源分配的名称,选择用于还原测试的角色,并设置清理前的保留期。然后,您将要选择资源类型,选择范围,并有选择地使用标签来细化选择。

提示

要返回到要向其中添加资源的还原测试计划,您可以转到 AWS Backup 控制台,选择还原测试,然后找到您的首选测试计划并将其选中。

  1. 一般性问题

    1. 资源分配名称:使用一串字母数字字符和下划线输入此资源分配的名称,不要含空格。

    2. 恢复IAM角色:测试必须使用您指定的身份和访问管理 (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

    尽管命名类似,但这NOT与相同RestoreTestingSelection

    RecoveryPointSelection有五个参数(三个必填参数和两个可选参数)。您指定的值决定了恢复测试中包括哪个恢复点。您必须使用指明您Algorithm是否想要最新的恢复点,SelectionWindowDays或者是否想要随机恢复点,并且必须指明可以IncludeVaults从哪些存储库中选择恢复点。

一个选择可以有一个或多个受保护的资源ARNs,也可以有一个或多个条件,但不能同时具有两个条件。

您也可以添加:

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

成功创建计划后,您需要使用 create-restore-testing-selection 为其分配资源。

它包括 RestoreTestingSelectionNameProtectedResourceType 和以下项之一:

  • ProtectedResourceArns

  • ProtectedResourceConditions

每种受保护的资源类型可以具有一个单一值。还原测试选择可以包括带通配符值(“*”)的 ProtectedResourceArns 以及 ProtectedResourceConditions。或者,您最多可以在其中包含 30 个特定的受保护资源ARNsProtectedResourceArns

恢复点确定

每次运行测试计划时(根据您指定的频率和开始时间),还原测试都会为所选的每个受保护资源恢复一个符合条件的恢复点。如果某个资源的恢复点不符合恢复点选择标准,则该资源将不包括在测试中。

如果满足指定时间范围内的标准并将文件库包含在还原测试计划中,则测试选择中受保护资源的恢复点符合条件。

如果资源测试选择包括资源类型,并且满足以下任一条件,则会选择受保护的资源:

  • 资源ARN在该选择中指定;或者,

  • 该选择的标签条件与资源最新恢复点上的标签相匹配

更新还原测试计划

您可以通过控制台或 AWS CLI更新部分还原测试计划以及其中的资源选项。

Console
在控制台中更新还原测试计划和选项

在控制台中查看还原测试计划详细信息页面时,可以编辑(更新)计划的许多设置。为此,请执行以下操作:

  1. https://console.aws.amazon.com/backup 上打开 AWS Backup 控制台。

  2. 在左侧导航窗格中,找到还原测试并将其选中。

  3. 选择编辑按钮。

  4. 调整频率、开始时间,以及所选开始时间后的测试开始时间范围。

  5. 保存您的更改。

AWS CLI
通过以下方式更新恢复测试计划和选择 AWS CLI

请求UpdateRestoreTestingPlanUpdateRestoreTestingSelection可用于向指定计划或选择发送部分更新。名称无法更改,但您可以更新其他参数。在每个请求中仅包含您想要更改的参数。

在发送更新请求之前,请使用GetRestoreTestingPlanGetRestoreTestingSelection来确定您的请求是 RestoreTestingSelection包含特定内容ARNs还是使用通配符和条件。

如果您的恢复测试选择已指定ARNs(而不是通配符),并且您希望将其更改为带条件的通配符,则更新请求必须同时包含ARN通配符和条件。一个选区可以有受保护的资源,ARNs也可以使用带条件的通配符,但不能两者兼而有之。

查看现有的还原测试计划

Console
在控制台中查看有关现有还原测试计划和已分配资源的详细信息
  1. https://console.aws.amazon.com/backup 上打开 AWS Backup 控制台。

  2. 从左侧导航窗格中,选择还原测试。显示屏中显示您的还原测试计划。默认情况下,会在最后一次运行时之前显示计划。

  3. 从计划中选择链接以查看其详细信息,包括计划的摘要、名称、频率、开始时间和开始时间范围值。

您还可以查看此计划中的受保护资源、此计划中包含的最近 30 天的还原测试作业,以及您可以创建的要作为此测试计划一部分的任何标签。

AWS CLI

使用命令行获取有关现有还原测试计划和测试选项的详细信息

查看还原测试作业

Console
查看控制台中的现有还原测试作业

还原测试作业包含在“还原作业”页面上。

  1. https://console.aws.amazon.com/backup 上打开 AWS Backup 控制台。

  2. 导航至作业页面。

    或者,您可以选择还原测试,然后选择还原测试计划以查看其详细信息以及与该计划关联的作业。

  3. 选择还原作业选项卡。

    在此页面上,您可以查看还原作业的状态、还原时间、还原类型、资源 ID、资源类型、作业所属的还原测试计划、创建时间和恢复点 ID。

    还原测试计划中包含的作业的还原类型为测试

还原测试作业具有以下几个状态类别:

  • 需要注意的状态类型带有下划线;将鼠标悬停在状态上方可查看其他详细信息(如果有)。

  • 如果恢复测试验证已在测试中启动,则会显示验证状态(控制台中不可用)。

  • 删除状态记录了还原测试生成的数据的状态。可能的删除状态有三种:成功正在删除失败

    如果删除还原测试作业失败,则需要手动删除资源,因为还原测试流程无法自动完成该删除操作。通常,如果从资源中删除标签 awsbackup-restore-test,则会导致删除失败。

AWS CLI
在命令行中查看现有还原测试作业

删除还原测试计划

Console
在控制台中删除还原测试计划
  1. 转至 查看现有的还原测试计划 查看您当前的还原测试计划。

  2. 在还原测试计划详细信息页面上,通过选择删除来删除计划。

  3. 选择删除后,将出现一个弹出式确认屏幕,以确保您要删除计划。在此屏幕上,您的特定还原测试计划的名称将以粗体显示。要继续,请键入测试计划的确切名称(区分大小写),其中可包括任何下划线、破折号和句点。

    如果无法选择删除还原测试计划选项,请重新输入名称,直到它与显示的名称相匹配。一旦它完全匹配,用于删除还原测试计划的选项将变为可选状态。

AWS CLI
通过命令行删除还原测试计划

该CLI命令DeleteRestoreTestingSelection可用于删除还原测试选项。在请求中包含 RestoreTestingPlanNameRestoreTestingSelectionName

必须先删除与测试计划关联的所有测试选项,然后才能删除测试计划。删除所有测试选择后,您可以使用API请求删除DeleteRestoreTestingPlan恢复测试计划。您需要包括 RestoreTestingPlanName

审核还原测试

恢复与 Audit m AWS Backup anager 的测试集成,以帮助您评估恢复的资源是否在目标还原时间内完成。

有关更多信息,请参阅 AWS Backup Audit Manager 控制和修复中的资源还原时间满足目标控制。

还原测试配额和参数

  • 100 个还原测试计划

  • 可向每个还原测试计划中添加 50 个标签

  • 每个计划 30 个选项

  • ARNs每个选择 30 个受保护的资源

  • 每个选项 30 个受保护的资源条件(包括 StringEqualsStringNotEquals 中的条件)

  • 每个选项 30 个保管库选择器

  • 最大选择时段天数:365 天

  • 开始时段小时数:最短:1 小时;最长:168 小时(7 天)

  • 计划名称的最大长度:50 个字符

  • 选项名称的最大长度:50 个字符

有关限制的更多信息,可通过 AWS Backup 配额进行查看。

恢复测试失败疑难解答

如果您的恢复测试任务的恢复状态为Failed,则以下原因可以帮助您确定原因和补救措施。

可以在 AWS Backup 控制台的任务状态详细信息页面中查看错误消息,也可以使用CLI命令list-restore-jobs-by-protected-resource或来查看list-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。

    受影响的资源类型:亚马逊 Aurora、亚马逊 DocumentDB、亚马逊、Neptun RDS e

  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.

    解决方案:还原角色对消息中指定的资源没有足够的访问权限。更新上述资源的资源政策。

    受影响的资源类型:全部