本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
区域切换计划的计划评估
创建多区域恢复计划时,您需要确信该计划将在您最需要的时候成功执行,不会出现错误。通过区域切换计划评估,您可以持续验证计划的配置和权限,并在问题阻碍恢复之前发现问题。
如何使用计划评估
计划评估运行会检查计划中的资源配置和 IAM 权限,并显示您可以主动解决的执行阻塞警告。您无需配置或选择加入即可计划评估。对于每个区域切换计划,您都会自动获得计划评估。区域切换每小时会自动对您的计划进行多次评估。如果任何检查失败,区域切换将返回警告消息,您可以在中查看这些消息 Amazon Web Services 管理控制台。您也可以通过 Amazon EventBridge 或 GetPlanEvaluationStatusAPI 接收验证警告。
执行块评估的内容
区域切换会对计划中的每种执行块类型执行特定的检查。下表列出了对每个执行块执行的检查。
| 执行块 | 检查类别 | 说明 |
|---|---|---|
| 亚马逊 EC2 Auto Scaling 群组执行块 | 资源可访问性 | 检查 Auto Scaling 组是否存在,并且可以通过计划配置的执行角色或跨账户角色进行区域切换。 |
| Capacity | 检查目标区域的 Auto Scaling 组的最大容量是否足以扩展到源区域的容量。 | |
| IAM 权限 | 检查计划的 IAM 角色是否具有 Auto Scaling 操作所需的策略。如果计划启用了服务配额检查,则还会检查该角色是否具有读取和比较此执行块配额所需的权限(例如servicequotas:GetServiceQuotaautoscaling:DescribeAutoScalingGroups、和ec2:DescribeInstances)。 |
|
| Amazon EKS 资源扩展执行块 | 资源可访问性 | 检查 Amazon EKS 集群是否存在以及 Kubernetes 资源是否存在于集群中。 |
| Kubernetes 权限 | 检查 IAM 角色是否映射到 AmazonARCRegionSwitchScalingPolicy EKS 访问条目,以便区域切换可以对 Kubernetes 资源执行操作。只要通过 k8 用户组提供所需的 EKS 权限,EKS Access Entry 策略就不是强制性的。 |
|
| IAM 权限 | 检查计划的 IAM 角色是否具有 Amazon EKS 操作所需的策略。如果计划启用了服务配额检查,则还会检查该角色是否具有读取和比较此执行块配额所需的权限(例如servicequotas:GetServiceQuota和eks:ListNodegroups)。 |
|
| Amazon ECS 服务扩展执行块 | 资源可访问性 | 检查 Amazon ECS 集群和服务是否存在且关联正确。 |
| Capacity | 检查目标 Amazon ECS 服务的最大自动扩展容量是否足以处理故障转移期间所需的流量负载。 | |
| IAM 权限 | 检查计划的 IAM 角色是否具有 Amazon ECS 操作所需的策略。如果计划启用了服务配额检查,则还会检查该角色是否具有读取和比较此执行块配额所需的权限(例如servicequotas:GetServiceQuota和ecs:DescribeServices)。 |
|
| ARC 路由控制执行块 | 资源可访问性 | 检查路由控件是否存在以及该角色是否有权访问控制面板。 |
| IAM 权限 | 检查计划的 IAM 角色是否具有路由控制操作所需的策略。 | |
| Amazon Aurora Global Database 执行块 | 资源可访问性 | 检查全局群集是否存在、数据库集群是否为全局群集的成员、数据库集群是否处于可用状态以及两个集群中是否存在数据库实例。 |
| 发动机兼容性 | 检查引擎版本是否支持切换,以及集群是否具有跨区域兼容的版本。 | |
| IAM 权限 | 检查计划的 IAM 角色是否具有 Aurora 故障转移和切换所需的策略。 | |
| Aurora 预配置扩展执行块 | 资源可访问性 | 检查实例和集群 ARN 的格式是否正确、实例是否存在、实例是否属于预期集群,以及集群是否为指定全局群集的成员。 |
| IAM 权限 | 检查计划的 IAM 角色是否具有 Aurora 预配置扩展所需的策略。如果计划启用了服务配额检查,则还会检查该角色是否具有读取和比较此执行块配额所需的权限(例如servicequotas:GetServiceQuota和rds:DescribeDBInstances)。 |
|
| Aurora 无服务器扩展执行块 | 资源可访问性 | 检查 Aurora 无服务器集群是否存在于预期的区域中并包含无服务器 v2 实例。 |
| Capacity | 检查目标区域集群的扩展目标是否在 256 ACU 限制之内。 | |
| IAM 权限 | 检查计划的 IAM 角色是否具有 Aurora 无服务器扩展所需的策略。 | |
| 亚马逊 DocumentDB 全球集群执行块 | 资源可访问性 | 检查全局群集是否存在、群集是否为全局群集的成员、群集是否处于可用状态以及两个集群中是否存在实例。 |
| 发动机兼容性 | 检查集群引擎版本是否兼容,以及全局集群是否具有预期的引擎类型。 | |
| IAM 权限 | 检查计划的 IAM 角色是否具有 Amazon DocumentDB 故障转移和切换所需的策略。 | |
| 亚马逊 Neptune 全球集群执行块 | 资源可访问性 | 检查全局群集是否存在、数据库集群是否为全局群集的成员、数据库集群是否存在于两个区域以及数据库集群是否处于可用状态。 |
| 发动机兼容性 | 检查各区域集群的引擎版本是否一致,是否符合所需的最低版本 failover/switchover。 | |
| IAM 权限 | 检查计划的 IAM 角色是否具有 Amazon Neptune 故障转移和切换所需的策略。 | |
| Amazon RDS 提升只读副本执行区块 | 资源可访问性 | 检查数据库实例是否存在,非主区域中的实例是否为只读副本,以及源实例的复制配置是否正确。 |
| IAM 权限 | 检查计划的 IAM 角色是否具有 Amazon RDS 只读副本促销所需的策略。 | |
| Amazon RDS 创建 Cross-Region 副本执行块 | 资源可访问性 | 检查数据库实例是否存在,并且源实例上是否启用了备份。 |
| IAM 权限 | 检查计划的 IAM 角色是否具有创建 Amazon RDS 只读副本所需的策略。如果计划启用了服务配额检查,则还会检查该角色是否具有读取和比较此执行块配额所需的权限(例如servicequotas:GetServiceQuota和rds:DescribeDBInstances)。 |
|
| Amazon RDS 切换只读副本执行块 | 资源可访问性 | 检查备用实例是否处于已装载或打开只读状态、是否正在进行复制以及是否启用了自动备份。 |
| 发动机兼容性 | 检查引擎版本是否支持切换(Oracle 19c 或更高版本),以及两个实例是否具有相同的引擎版本。 | |
| 配置 | 检查是否没有待处理的维护操作会阻止切换,以及该选项组是否专用于复制配置。 | |
| 手动审批执行块 | 资源可访问性 | 检查手动批准 IAM 角色 ARN 的格式是否正确以及该角色是否存在。 |
| 配置 | 检查手动批准角色是否属于拥有该计划的同一个账户。 | |
| IAM 权限 | 检查批准者角色是否具有arc-region-switch:ApprovePlanExecutionStep权限。 |
|
| 自定义操作 Lambda 执行块 | 资源可访问性 | 检查 Lambda 函数是否存在且处于活动状态。 |
| 配置 | 检查 Lambda 函数并发度是否大于 0,试运行调用是否成功,以及耐用 Lambda 函数的执行超时是否为 15 分钟或更短。 | |
| IAM 权限 | 检查计划的 IAM 角色是否具有执行 Lambda 所需的策略。 | |
| Lambda 事件源映射执行块 | 资源可访问性 | 检查 Lambda 事件源映射是否存在以及关联的 Lambda 函数是否存在且处于活动状态。 |
| 配置 | 检查 Lambda 事件源映射的 Lambda 函数的预留并发度是否大于 0。 | |
| IAM 权限 | 检查计划的 IAM 角色是否具有管理事件源映射所需的策略。 | |
| Amazon Route 53 运行状况检查执行块 | 资源可访问性 | 检查托管区域是否存在以及记录集是否可以映射到已配置的区域。 |
| 配置 | 检查区域交换机分配的运行状况检查是否与正确的记录集相关联。 | |
| IAM 权限 | 检查计划的 IAM 角色是否有权访问托管区域。 | |
| Amazon Systems Manager 运行命令执行块 | 资源可访问性 | 检查 Amazon Systems Manager 文档是否存在于其文档 ARN 中指定的区域中。对于由实例 ID 指定的目标,请检查每个实例是否为托管节点且其 Amazon Systems Manager 代理是否处于联机状态。 |
| IAM 权限 | 检查计划的 IAM 角色是否具有 Amazon Systems Manager 运行命令操作所需的策略(例如、ssm:DescribeDocument、ssm:DescribeInstanceInformationssm:SendCommand、ssm:ListCommandInvocations、和ssm:CancelCommand)。 |
注意
当执行块通过跨账户角色访问其他 Amazon 账户中的资源时,请向该跨账户角色授予上表中为该区块列出的相同权限。Region switch 使用跨账户角色来执行这些检查,因此跨账户角色必须拥有其访问的资源所需的 IAM 和服务配额权限。
Plan-level 评估检查
除了执行区块检查外,Region switch 还会评估计划级别的配置,包括触发器、报告生成和应用程序运行状况警报。
| 评估开启 | 检查类别 | 说明 |
|---|---|---|
| 触发器 | 资源可访问性 | 检查为触发器配置的 CloudWatch 警报是否存在,并且可以通过配置的角色进行访问。 |
| IAM 权限 | 检查计划的执行角色是否具有基于触发器的自动执行所需的arc-region-switch:StartPlanExecution权限。 |
|
| 报告生成 | IAM 权限 | 检查计划的执行角色是否具有向配置的 Amazon S3 存储桶写入报告所需的s3:PutObject权限。 |
| 角色假设 | 检查是否可以担任计划的执行角色来验证报告生成。 | |
| 应用程序运行状况警报 | 资源可访问性 | 检查 CloudWatch 警报是否存在以及是否可以通过配置的角色进行访问。 |
| IAM 权限 | 检查计划的角色是否拥有cloudwatch:DescribeAlarms以及验证警报状态所需的cloudwatch:DescribeAlarmHistory权限。 |
|
| Cross-account 配置 | 当为警报指定跨账户角色时,检查外部 ID 是否已提供且有效。 |