

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

# 还原测试验证
<a name="restore-testing-validation"></a>

您可以选择创建事件驱动的验证，该验证在还原测试作业完成时运行。

首先，使用 Amazon 支持的任何目标创建验证工作流程 EventBridge，例如 AWS Lambda。其次，添加一条 EventBridge 规则，监听恢复任务是否达到状态`COMPLETED`。第三，创建还原测试计划（或让现有计划按计划运行）。最后，在还原测试完成后，监控验证工作流的日志，确保其按预期运行（验证运行后，[AWS Backup 控制台](https://console.aws.amazon.com/backup)将显示验证状态）。

1. 

**设置验证工作流**

   您可以使用 Lambda 或支持的任何其他目标来设置验证工作流程。 EventBridge例如，如果要验证包含 Amazon EC2 实例的还原测试，则可以包含用于对运行状况检查端点执行 ping 操作的代码。

   您可以使用事件中的详细信息来确定要验证的资源。

   您可以通过 [Lambda 层](https://docs.aws.amazon.com/lambda/latest/dg/chapter-layers.html)来使用最新的 SDK（因为 `PutRestoreValidationResult` 无法通过 Lambda SDK 获得）。

   示例如下：

   ```
   import { Backup } from "@aws-sdk/client-backup";
   
   export const handler = async (event) => {
     console.log("Handling event: ", event);
   
     const restoreTestingPlanArn = event.detail.restoreTestingPlanArn;
     const resourceType = event.detail.resourceType;
     const createdResourceArn = event.detail.createdResourceArn;
   
     // TODO: Validate the resource
     
     const backup = new Backup();
     const response = await backup.putRestoreValidationResult({
       RestoreJobId: event.detail.restoreJobId,
       ValidationStatus: "SUCCESSFUL", // TODO
       ValidationStatusMessage: "" // TODO
     });
     
     console.log("PutRestoreValidationResult: ", response);
     console.log("Finished");
   };
   ```

1. 

**添加 EventBridge 规则**

   [创建监听还原作业[`COMPLETED`事件](https://docs.aws.amazon.com/aws-backup/latest/devguide/eventbridge.html#monitoring-events-in-eventbridge)的 EventBridge 规则](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-get-started.html#eb-gs-create-rule)。

   或者，您可以按资源类型或还原测试计划 ARN 筛选事件。将此规则的目标设置为调用您在步骤 1 中定义的验证工作流。示例如下：

   ```
   {
     "source":[
       "aws.backup"
     ],
     "detail-type":[
       "Restore Job State Change"
     ],
     "detail":{
       "resourceType":[
         "..."
       ],
       "restoreTestingPlanArn":[
         "..."
       ],
       "status":[
         "COMPLETED"
       ]
     }
   }
   ```

1. 

**让还原测试计划运行并完成**

   还原测试计划将根据您配置的时间表运行。

   如果您还没有还原测试计划，请参阅[创建还原测试计划](https://docs.aws.amazon.com/aws-backup/latest/devguide/restore-testing.html#restore-testing-create)；或者如果要更改设置，请参阅[更新还原测试计划](https://docs.aws.amazon.com/aws-backup/latest/devguide/restore-testing.html#restore-testing-update)。

1. 

**监控结果**

   还原测试计划按计划运行后，您可以检查验证工作流的日志，以确保其正确运行。

   您可以调用 API `PutRestoreValidationResult` 来发布结果，然后可以在[AWS Backup 控制台](https://console.aws.amazon.com/backup)中查看，也可以通过描述和列出恢复任务 AWS Backup 的 API 调用（例如`DescribeRestoreJob`或`ListRestoreJob`）进行查看。

   一旦设置了验证状态，就无法对其进行更改。