还原测试验证
您可以选择创建事件驱动的验证,该验证在还原测试作业完成时运行。
首先,使用 Amazon EventBridge 支持的任何目标(例如 Amazon Lambda)创建一个验证工作流。其次,添加一项 EventBridge 规则,用于侦听还原作业是否达到状态 COMPLETED
。第三,创建还原测试计划(或让现有计划按计划运行)。最后,在还原测试完成后,监控验证工作流的日志,确保其按预期运行(验证运行后,Amazon Backup 控制台
-
设置验证工作流
您可以使用 Lambda 或 EventBridge 支持的任何其他目标来设置验证工作流。例如,如果要验证包含 Amazon EC2 实例的还原测试,则可以包含用于对运行状况检查端点执行 ping 操作的代码。
您可以使用事件中的详细信息来确定要验证的资源。
您可以使用自定义 Lambda 层以使用最新 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"); };
-
添加一项 EventBridge 规则
创建一项 EventBridge 规则,用于侦听还原作业
COMPLETED
事件。或者,您可以按资源类型或还原测试计划 ARN 筛选事件。将此规则的目标设置为调用您在步骤 1 中定义的验证工作流。示例如下:
{ "source":[ "aws.backup" ], "detail-type":[ "Restore Job State Change" ], "detail":{ "resourceType":[ "..." ], "restoreTestingPlanArn":[ "..." ], "status":[ "COMPLETED" ] } }
-
让还原测试计划运行并完成
还原测试计划将根据您配置的时间表运行。
-
监控结果
还原测试计划按计划运行后,您可以检查验证工作流的日志,以确保其正确运行。
您可以调用 API
PutRestoreValidationResult
来发布结果,然后可以在 Amazon Backup 控制台中查看结果,也可以通过描述和列出还原作业的 Amazon Backup API 调用(例如 DescribeRestoreJob
或ListRestoreJob
)进行查看。一旦设置了验证状态,就无法对其进行更改。