

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

# 使用路由控制恢复 ARC 中的多区域应用程序
<a name="multi-region"></a>

本节介绍如何使用 Amazon Application Recovery Controller (ARC) 中的路由控制功能来最大限度地减少中断，并帮助您在多个 AWS 应用程序中部署时为用户提供连续性 AWS 区域。

您还可以了解就绪检查，这是 ARC 中的一项功能，可用于深入了解应用程序和资源是否已做好恢复准备。

本节中的主题描述了路由控制和就绪检查功能以及它们的设置与使用方式。

**Topics**
+ [ARC 中的路由控制](routing-control.md)
+ [ARC 中的就绪检查](recovery-readiness.md)
+ [ARC 中的区域切换](region-switch.md)

# ARC 中的路由控制
<a name="routing-control"></a>

要将流量故障转移到多个应用程序副本 AWS 区域，您可以使用 Amazon 应用程序恢复控制器 (ARC) 中的路由控制，这些控制与 Amazon Route 53 中的特定类型的运行状况检查集成。**路由控制是简单的开关机构，可以将客户端流量从一个区域副本切换到另一个副本。流量重新路由通过使用 Amazon Route 53 DNS 记录设置的*路由控制运行状况检查*来完成。例如，与每个区域中应用程序副本前面的域名相关联的 DNS 故障转移记录。

本节介绍路由控制的工作原理、如何设置路由控制组件以及如何使用它们重新路由流量以进行失效转移。

ARC 中的路由控制组件包括：集群、控制面板、路由控制和路由控制运行状况检查。所有路由控制都组合到控制面板上。您可以把它们组合到 ARC 为集群创建的默认控制面板上，也可以创建自己的自定义控制面板。您必须先创建集群，然后才能创建控制面板或路由控制。ARC 中的每个集群都是五个 AWS 区域中端点的一个数据面板。

创建路由控制和路由控制运行状况检查后，您可以为路由控制创建安全规则，帮助防止意外的恢复自动化所产生的负面影响。您可以使用或 API 操作（推荐）或使用，更新路由控制状态以单独 AWS CLI 或批量重新路由流量。 AWS 管理控制台

本节介绍路由控制的工作原理，以及如何创建和使用它们为应用程序重新路由流量。

**重要**  
要了解如何在针对灾难场景的应用程序失效转移计划中，准备使用 ARC 重新路由流量，请参阅 [ARC 中路由控制的最佳实践](route53-arc-best-practices.regional.md)。

# 关于路由控制
<a name="routing-control.about"></a>

路由控制通过使用 Amazon Route 53 中的运行状况检查来重定向流量，这些检查配置了与恢复组中单元格的顶级资源（例如 Elastic Load Balancing 负载均衡器）关联的 DNS 记录。例如，您可以将流量从一个单元格重定向到另一个单元格，方法是将一个路由控制状态更新为 `Off`（以停止流向一个单元格的流量），并将另一个路由控制状态更新为 `On`（以启动流向另一个单元格的流量）。更改流量流向的过程，是执行与路由控制关联的 Route 53 运行状况检查，该过程在 ARC 根据相应的路由控制状态将其更新为运行状况良好或运行状况不佳之后进行。

路由控制支持在任何具有 DNS 端点的 AWS 服务之间进行故障转移。您可以更新路由控制状态，以便在灾难恢复情况下、检测到应用程序延迟衰退或其它问题时对流量进行灾难恢复。

您还可以为路由控制配置安全规则，确保使用路由控制重新路由流量不会影响可用性。有关更多信息，请参阅 [为路由控制创建安全规则](routing-control.safety-rules.md)。

请务必注意，路由控制本身并不是监控端点底层运行状况的运行状况检查。例如，与 Route 53 运行状况检查不同，路由控制不会监控响应时间或 TCP 连接时间。路由控制是一个控制运行状况检查的简单开关机构。通常，您会更改其状态以重定向流量，而这种状态更改会将流量转移到整个应用程序堆栈的特定端点，或者阻止路由到整个应用程序堆栈。例如，在一个简单的场景中，当您将路由控制状态从 `On` 更改为 `Off` 时，它会更新 Route 53 运行状况检查，该检查已与 DNS 故障转移记录相关联，以将流量移出端点。

## 如何使用路由控制
<a name="routing-control.about-how-to"></a>

要更新路由控制状态并重新路由流量，必须连接到 ARC 中的一个集群端点。如果您尝试连接的端点不可用，请尝试使用其他集群端点更改状态。在更改路由控制状态的过程中，应准备好轮流尝试每个端点，因为集群端点会在可用和不可用状态之间循环，以便定期维护和更新。

创建路由控制时，您可以配置 DNS 记录，将路由控制运行状况检查与每个应用程序副本前面的 Route 53 DNS 名称相关联。例如，要控制两个负载均衡器（两个区域中各有一个）之间的流量失效转移，您可以创建两个路由控制运行状况检查，并将它们与两个 DNS 记录相关联，例如失效转移路由策略中的别名记录，其中包含各自负载均衡器的域名。

您还可以使用 ARC 路由控制以及 Route 53 运行状况检查和 DNS 记录集（使用加权路由策略中的 DNS 记录）设置更复杂的流量失效转移方案。要查看详细示例，请参阅以下 AWS 博客文章中有关用户流量故障转移的部分：[使用 Amazon 应用程序恢复控制器 (ARC) 构建高弹性应用程序，第 2 部分：多区域堆栈](https://aws.amazon.com/blogs/networking-and-content-delivery/building-highly-resilient-applications-using-amazon-route-53-application-recovery-controller-part-2-multi-region-stack/)

当您为 AWS 区域 正在使用的路由控制启动故障转移时，由于流量涉及的步骤，您可能不会看到流量立即流出该区域。区域中正在进行的现有连接也可能需要短暂的时间才能结束，具体取决于客户端行为和连接重用情况。根据您的 DNS 设置和其他因素，现有连接可能只需几分钟即可完成，也可能需要更长时间。有关更多信息，请参阅[确保流量转移快速完成](route53-arc-best-practices.zonal-shifts.md#arc-zonal-shift.existing-connections)。

## 路由控制的优势
<a name="routing-control.about-benefits"></a>

与使用传统运行状况检查重新路由流量相比，ARC 中的路由控制具有多种优势。例如：
+ 路由控制为您提供了一种对整个应用程序堆栈进行失效转移的方法。这与基于资源级运行状况检查对堆栈个体组件进行的失效转移（正如 Amazon EC2 实例的做法）形成鲜明对比。
+ 路由控制为您提供了一个安全、简单的手动覆盖机制，您可以用来转移流量以进行维护工作，或者在内部监控器未检测到问题时从故障中恢复。
+ 您可以将路由控制与安全规则结合使用，以防止基于运行状况检查的全自动化机制可能产生的常见副作用，例如失效转移到尚未做好失效转移准备的备用基础设施。

以下是将路由控制纳入故障转移策略的示例，以提高中应用程序的弹性和可用性 AWS。

您可以 AWS 通过跨区域运行多个（通常是三个）冗余副本来支持高可用性 AWS 应用程序。之后，您可以使用 Amazon Route 53 路由控制将流量路由到适当的副本。

例如，您可以将一个应用程序副本设置为活动状态并提供应用程序流量，而另一个则设置为备用副本。当活动副本出现故障时，您可以将用户流量重新路由到备用副本，以恢复应用程序的可用性。您应该根据来自监控和运行状况检查系统的信息来确定是否从某副本或向某副本进行失效转移。

如果您想更快地恢复，可以选择另一个架构选项，即主动-主动实现。使用这种方法，您的副本可以同时处于活动状态。这意味着，只需将流量重新路由到另一个活动副本，就可以将用户从受影响的应用程序副本中转移出去，从而从故障中恢复。

# AWS 用于路由控制的区域可用性
<a name="introduction-regions-routing"></a>

有关 Amazon 应用程序恢复控制器（ARC）的区域支持和服务端点的详细信息，请参阅《Amazon Web Services 一般参考》**中的 [Amazon 应用程序恢复控制器端点和配额](https://docs.aws.amazon.com/general/latest/gr/r53arc.html)。

**注意**  
Amazon 应用程序恢复控制器（ARC）中的路由控制是一项全球功能。但是，您必须在区域 ARC AWS CLI 命令中指定美国西部（俄勒冈`--region us-west-2`）区域（指定参数）。也就是说，当您创建诸如集群、控制面板或路由控制之类的资源时。

ARC 路由控制是一种 on/off 交换机，用于更改 ARC 运行状况检查的状态，然后可以将其与重定向流量的 DNS 记录相关联，例如，将流量从主部署副本重定向到备用部署副本。

如果应用程序出现故障或延迟问题，您可以更新路由控制状态以转移流量，例如将流量从主副本转移到备用副本。通过使用高度可靠的 ARC 数据面板 API 操作进行路由控制查询和路由控制状态更新，您可以依靠 ARC 在灾难恢复场景中进行失效转移。有关更多信息，请参阅 [使用 ARC API 获取和更新路由控制状态（推荐）](routing-control.update.api.md)。

ARC 在*集群*中维护路由控制状态，集群是五个冗余区域端点的集合。ARC 将路由控制状态更改传播到位于 Amazon EC2 队列中的集群，以获得跨五个区域的法定人数。 AWS 传播后，当您使用 API 和高度可靠的数据面板查询 ARC 以获取路由控制状态时，它会返回共识视图。

您可以与五个集群端点中的任何一个进行交互，以更新路由控制状态，例如从 `Off` 更新为 `On`。然后，ARC 将更新传播到集群的五个区域。

所有五个集群端点平均在 5 秒内实现数据一致性，最多不超过 15 秒。

ARC 通过数据面板让您极其可靠地手动对应用程序进行跨单元格的失效转移。ARC 确保您始终可以访问五个集群端点中的至少三个端点，以执行路由控制状态的更改。请注意，每个 ARC 集群都是单租户的，以确保您不会受到“嘈杂邻居”的影响，这种影响可能会降低访问速度。

更改路由控制状态时，需要遵循以下三个极不可能失效的标准：
+ 五个端点中至少有三个可用并参与仲裁。
+ 您具备有效的 IAM 凭证，并且可以在工作的区域集群端点上进行身份验证。
+ Route 53 数据面板运行正常（此数据面板旨在满足 100% 可用性 SLA）。

# 路由控制组件
<a name="introduction-components-routing"></a>

下图说明了支持 ARC 中的路由控制功能的组件示例。此处显示的路由控制（组合到一个控制面板）允许您管理两个区域中每个区域的两个可用区的流量。更新路由控制状态时，ARC 会更改 Amazon Route 53 中的运行状况检查，该检查会将 DNS 流量重定向到不同的单元格。您为路由控制配置的安全规则有助于避免打开失败的情况和其他意外的后果。

![\[ARC 中支持路由控制的组件\]](http://docs.aws.amazon.com/zh_cn/r53recovery/latest/dg/images/GS_RecoveryControlDiagram.png)


以下是 ARC 中路由控制功能的组件。

**Cluster**  
集群是一组由五个冗余区域端点组成的集合，您可以在这些端点上执行 API 调用，以更新或获取路由控制状态。集群包括默认控制面板，您可以在一个集群上托管多个控制面板和路由控制。

**路由控制**  
路由控制是托管在集群上的简单 on/off 交换机，用于控制进出小区的客户端流量的路由。在创建路由控制时，可以在 Route 53 中添加 ARC 运行状况检查。这样当您在 ARC 中更新路由控制状态时，就能重新路由流量（使用运行状况检查，配置有应用程序的 DNS 记录）。

**路由控制运行状况检查**  
路由控制与 Route 53 中的运行状况检查相集成。运行状况检查与每个应用程序副本前面的 DNS 记录相关联，例如失效转移记录。当您更改路由控制状态时，ARC 会更新相应的运行状况检查，这些检查将重定向流量，例如失效转移到备用副本。

**控制面板**  
控制面板将一组相关的路由控制聚合在一起。您可以将多个路由控制与一个控制面板相关联，然后为控制面板创建安全规则，以确保进行的流量重定向更新是安全的。例如，您可以为每个可用区中的每个负载均衡器配置一个路由控制，然后将它们组合到同一个控制面板中。然后，您可以添加安全规则（“断言规则”），确保在任何时候至少有一个可用区（由路由控制表示）处于活动状态，以避免出现意外的“打开失败”情况。

**默认控制面板**  
创建集群时，ARC 会创建一个默认的控制面板。默认情况下，您在集群上创建的所有路由控制都将添加到默认控制面板中。您也可以创建自己的控制面板来组合相关的路由控制。

**安全规则**  
安全规则是您添加到路由控制的规则，用于确保恢复操作不会意外影响应用程序的可用性。例如，您可以创建一个安全规则，该规则创建一个路由控制作为整体的“开关”，以便您可以启用或禁用一组其他路由控制。

****端点（集群端点）****  
ARC 中的每个集群都有五个区域端点，可用于设置和取回路由控制状态。在访问端点的过程中，应假设 ARC 定期启动和关闭端点以进行维护，因此您应该连续尝试每个端点，直到连接到一个端点。您可以访问端点以获取路由控制的当前状态（开或关），并通过更改路由控制状态来触发应用程序的失效转移。

# 路由控制的数据面板和控制面板
<a name="data-and-control-planes"></a>

在规划失效转移和灾难恢复时，请考虑失效转移机制的弹性。建议您确保在失效转移期间所依赖的机制高度可用，这样在灾难场景中有需要时就能使用它们。通常，应尽可能在机制中使用数据面板功能，以获得较高的可靠性和容错能力。考虑到这一点，请务必了解服务的功能如何在控制面板和数据面板之间划分，以及何时可以依赖服务的数据面板可预期的极高可靠性。

与大多数 AWS 服务一样，控制平面和数据平面支持路由控制功能。虽然两种面板均可靠，但控制面板已针对数据一致性进行优化，而数据面板已针对可用性进行优化。数据面板专为弹性而设计，因此即使在中断事件期间，当控制面板可能不可用时，它也能保持可用性。

一般而言，*控制面板*允许您执行基本的管理功能，例如在服务中创建、更新和删除资源。*数据面板*提供服务的核心功能。因此，我们建议您在可用性很重要的情况下使用数据面板操作，例如，在中断期间需要将流量重新路由到备用副本时。

对于路由控制，控制面板和数据面板按以下方式划分：
+ 路由控制的控制面板 API 是美国西部（俄勒冈州）区域（us-west-2）中支持的[恢复控制配置 API](https://docs.aws.amazon.com/recovery-cluster/latest/api/what-is-recovery-control.html)。您可以使用这些 API 操作或创建或删除集群、控制面板和路由控件，以帮助为可能需要为应用程序重新路由流量时发生的灾难恢复事件做好准备。 AWS 管理控制台 *路由控制配置控制面板不是高度可用的。*
+ 路由控制数据面板是一个横跨五个地理隔离的 AWS 区域的专用集群。每个客户都使用路由控制控制面板创建一个或多个集群。该集群托管控制面板和路由控制。然后，当您想要为应用程序重新路由流量时，可使用[路由控制（恢复集群）API](https://docs.aws.amazon.com/routing-control/latest/APIReference/Welcome.html) 获取、列出和更新路由控制状态。*路由控制数据面板是高度可用的。*

由于路由控制数据平面高度可用，因此我们建议您计划在 AWS Command Line Interface 要进行故障切换以从事件中恢复时，使用进行 API 调用以处理路由控制状态。有关准备和完成使用路由控制进行的恢复操作时重要注意事项的更多信息，请参阅 [ARC 中路由控制的最佳实践](route53-arc-best-practices.regional.md)。

有关数据平面、控制平面以及如何 AWS 构建服务以满足高可用性目标的更多信息，请参阅 Amazon Builders Library 中的 “[使用可用区的静态稳定性” 论文](https://aws.amazon.com/builders-library/static-stability-using-availability-zones/)。

# Amazon 应用程序恢复控制器（ARC）中路由控制的标记
<a name="introduction-tagging-routing-control"></a>

标签是您用来识别和组织 AWS 资源的单词或短语（元数据）。您可以为每个资源添加多个标签，每个标签都包含一个密钥和一个您定义的值。例如，键可能是环境，值可能是生产。您可以根据添加的标签搜索和筛选资源。

在 ARC 的路由控制中，您可以标记以下资源：
+ 集群
+ 控制面板
+ 安全规则

ARC 中的标记只能通过 API 使用，例如，通过使用 AWS CLI。

以下是使用 AWS CLI在路由控制中进行标记的示例。

`aws route53-recovery-control-config --region us-west-2 create-cluster --cluster-name example1-cluster --tags Region=PDX,Stage=Prod`

`aws route53-recovery-control-config --region us-west-2 create-control-panel --control-panel-name example1-control-panel --cluster-arn arn:aws:route53-recovery-control::111122223333:cluster/5678abcd-abcd-5678-abcd-5678abcdefgh --tags Region=PDX,Stage=Prod`

有关更多信息，请参阅 [TagResource](https://docs.aws.amazon.com/recovery-cluster/latest/api/tags-resourcearn.html)Amazon 应用程序*恢复控制器 (ARC) 的恢复控制配置 API 参考指南*。

# ARC 中路由控制的定价
<a name="introduction-pricing-routing-control"></a>

对于 ARC 中的路由控制，您需要为创建的每个集群支付每小时费用。每个集群可以托管多个路由控制，您可以使用这些控制来触发应用程序失效转移。

为了帮助管理成本和提高效率，您可以为集群设置跨账户共享，将一个集群与多个 AWS 账户共享。有关更多信息，请参阅 [ARC 中对集群的跨账户支持](routing-control.failover-different-accounts.md)。

有关 ARC 的详细定价信息和定价示例，请参阅 [ARC 定价](https://aws.amazon.com/application-recovery-controller/pricing/)。

# 开始使用 Amazon 应用程序恢复控制器（ARC）中的多区域恢复
<a name="getting-started"></a>

要使用 Amazon 应用程序恢复控制器 (ARC) 中的路由控制对应用程序进行故障切换，您的 AWS 应用程序必须是多个应用程序 AWS 区域。要开始使用，首先，请确保您的应用程序设置在每个区域的孤立副本中，这样您就可以在发生事件期间从一个区域失效转移到另一个区域。然后，您可以创建路由控制来重新路由应用程序流量，使其从主应用程序失效转移到辅助应用程序，从而为用户保持连续性。

**注意**  
如果您的应用程序被可用区隔开，请考虑使用可用区转移或可用区自动转移进行失效转移恢复。无需进行任何设置即可使用可用区转移或可用区自动转移从受影响的可用区可靠地恢复应用程序。有关更多信息，请参阅 [可用区转移和可用区自动转移在 ARC 中恢复应用程序](multi-az.md)。

为了使您可以使用 ARC 路由控制，在发生事件期间恢复应用程序，建议您至少设置两个彼此互为副本的应用程序。每个副本或*单元格*都代表一个 AWS 区域。将应用程序资源设置为与区域保持一致后，请执行以下步骤，确保应用程序为成功恢复做好准备。

提示：为了帮助简化设置，我们提供 CloudFormation 了 HashiCorp Terraform 模板，用于创建具有相互独立失败的冗余副本的应用程序。要了解更多信息并下载模板，请参阅[设置示例应用程序](#getting-started-example)。

要准备使用路由控制，请执行以下操作，确保您的应用程序设置为具有弹性：

1. 创建应用程序堆栈（网络和计算层）的独立副本，这些副本在每个区域中彼此互为副本，以便在发生事件时可以将流量从一个区域失效转到移另一个区域。确保您的应用程序代码中不存在一个副本的故障会影响另一个副本的任何跨区域依赖关系。要在两者之间成功进行故障转移 AWS 区域，您的堆栈边界应位于一个区域内。

1. 为应用程序跨副本复制所有必需的有状态数据。您可以使用 AWS 数据库服务来帮助复制数据。

## 开始使用路由控制进行流量失效转移
<a name="getting-started-routing-controls"></a>

使用 Amazon 应用程序恢复控制器（ARC）中的路由控制，可触发在不同 AWS 区域中运行的冗余应用程序副本之间的流量失效转移。失效转移是使用 Amazon Route 53 数据面板通过 DNS 执行的。

在每个区域设置副本后（如下一节所述），您可以将每个副本与路由控制相关联。首先，您将路由控制与每个区域中副本的顶级域名相关联。然后，向路由控制添加路由控制运行状况检查，使其可以打开和关闭流量。这使您能够控制应用程序副本之间的流量路由。

您可以更新中的路由控制状态 AWS 管理控制台 以故障转移流量，但我们建议您改用 ARC 操作、API 或 AWS CLI，来更改它们。API 操作不依赖于控制台，因此它们更具弹性。

例如，要在可用区之间进行失效转移，例如从 us-west-1 失效转移到 us-east-1，可以使用 `update-routing-control-state` API 操作将 `us-west-1` 的状态设为 `Off`，将 `us-east-1` 的状态设为 `On`。

在创建路由控制组件以设置应用程序的失效转移之前，请确保将应用程序隔离为多个可用区副本，以便您可以从一个副本失效转移到另一个副本。要了解更多信息并开始隔离新应用程序或创建示例堆栈，请参阅下一节。

## 设置示例应用程序
<a name="getting-started-example"></a>

为了帮助您了解路由控制的工作原理，我们提供了一个名为 `TicTacToe` 的示例应用程序。该示例使用 CloudFormation 模板来简化流程，并使用可下载的 CloudFormation 模板让您可以自己快速探索如何设置和使用 ARC。

部署示例应用程序后，您可以使用这些模板创建 ARC 组件，然后探索如何使用路由控制来管理流向该应用程序的流量。您可以根据自己的应用场景和应用程序调整模板和流程。

要开始使用示例应用程序和 CloudFormation 模板，请参阅 [ARC GitHub](https://github.com/aws-samples/r53-arc-iad) 存储库中的自述文件说明。您可以通过阅读 AWS CloudFormation 用户指南中的[CloudFormation 概念](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-whatis-concepts.html)来了解有关使用 CloudFormation 模板的更多信息。

# ARC 中路由控制的最佳实践
<a name="route53-arc-best-practices.regional"></a>

建议采用以下最佳实践，为 ARC 中的路由控制做好恢复和失效转移准备。

**主题**
+ [确保专门构建、使用寿命长的 AWS 凭证安全且始终可访问](#RCBestPracticeCredentials)
+ [为故障转移中涉及的 DNS 记录选择较低的 TTL 值](#RCBestPracticeLowerTTL)
+ [限制客户端与您的端点保持连接的时间](#RCBestPracticeCurrentConnections)
+ [为您的五个区域集群终端节点和路由控制添加书签或硬编码 ARNs](#RCBestPracticeBookmarkEndpoints)
+ [随机选择一个终端节点来更新您的路由控制状态](#RCBestPracticeRandomEndpoint)
+ [使用极其可靠的数据平面 API 来列出和更新路由控制状态，而不是使用控制台](#RCBestPracticeUseDataPlane)

**确保专门构建、使用寿命长的 AWS 凭证安全且始终可访问**  
在灾难恢复 (DR) 场景中，通过使用一种简单的方法来访问 AWS 和执行恢复任务，将系统依赖性降至最低。专为 DR 任务创建 [IAM 长效凭证](https://docs.aws.amazon.com/IAM/latest/UserGuide/console_account-alias.html)，并将凭证安全地保存在本地物理保险箱或虚拟保管库中，以便在需要时进行访问。借助 IAM，您可以集中管理安全证书，例如访问密钥和 AWS 资源访问权限。对于非 DR 任务，我们建议您继续使用 [AWS 单点登录](https://aws.amazon.com/single-sign-on/)等 AWS 服务进行联合访问。  
要使用恢复集群数据面板 API 在 ARC 中执行失效转移任务，您可以将 ARC IAM 策略附加到您的用户。要了解更多信息，请参阅[Amazon 应用程序恢复控制器（ARC）基于身份的策略示例](security_iam_id-based-policy-examples.md)。

**为故障转移中涉及的 DNS 记录选择较低的 TTL 值**  
对于在失效转移机制中可能需要更改的 DNS 记录，尤其是经过运行状况检查的记录，使用较低的 TTL 值是合适的做法。在这种情况下，通常选择将 TTL 设置为 60 秒或 120 秒。  
DNS TTL（生存时间）设置会告诉 DNS 解析器在一条记录缓存多长时间后再请求新记录。选择 TTL 时，要在延迟和可靠性与应变能力之间进行权衡。如果记录的 TTL 较短，DNS 解析器将更快地注意到记录的更新，因为 TTL 指定了它们必须更频繁地查询。  
有关更多信息，请参阅 [Amazon Route 53 DNS 最佳实践](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/best-practices-dns.html)中的*为 DNS 记录选择 TTL 值*。

**限制客户端与您的端点保持连接的时间**  
当您使用路由控制从一个路由控制切换 AWS 区域 到另一个时，Amazon 应用程序恢复控制器 (ARC) 用来移动应用程序流量的机制是 DNS 更新。此更新会导致所有新连接都避开受影响的位置。  
但是，先前已打开连接的客户端可能会继续向受影响的位置发出请求，直到客户端重新连接。为确保快速恢复，建议您限制客户端与您的端点保持连接的时间。  
如果使用的是应用程序负载均衡器，则可以使用 `keepalive` 选项来配置连接的持续时间。有关更多信息，请参阅《应用程序负载均衡器用户指南》中的 [HTTP 客户端保持连接持续时间](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/application-load-balancers.html#http-client-keep-alive-duration)。  
默认情况下，应用程序负载均衡器将 HTTP 客户端保持连接的持续时间值设置为 3600 秒（即 1 小时）。建议您降低该值，使其与应用程序的恢复时间目标保持一致，例如 300 秒。在选择 HTTP 客户端保持连接的持续时间时，请考虑此值在更频繁地重新连接（这可能会影响延迟）和更快地将所有客户端从受影响的可用区或区域移出之间是一个折中值。

**为您的五个区域集群终端节点和路由控制添加书签或硬编码 ARNs**  
建议您将 ARC 区域集群端点的本地副本保存在书签中，或者保存到用于重试端点的自动化代码中。在发生故障事件期间，您可能无法访问某些 API 操作，包括未托管在极其可靠的数据面板集群上的 ARC API 操作。您可以使用 [DescribeCluster](https://docs.aws.amazon.com/recovery-cluster/latest/api/cluster-clusterarn.html)API 操作列出 ARC 集群的终端节点。

**随机选择一个终端节点来更新您的路由控制状态**  
路由控制提供五个区域端点，确保在发生故障时也能保持高可用性。要实现其完整韧性，重要的是要具备重试逻辑，可以根据需要使用所有五个端点。有关在 AWS SDK 中使用代码示例的信息，包括试用集群终端节点的示例，请参阅[应用程序恢复控制器的代码示例 AWS SDKs](service_code_examples.md)。

**使用极其可靠的数据平面 API 来列出和更新路由控制状态，而不是使用控制台**  
使用 ARC 数据平面 API，查看[ListRoutingControls](https://docs.aws.amazon.com/routing-control/latest/APIReference/API_ListRoutingControls.html)操作中的路由控制和状态，并更新路由控制状态以重定向流量，以便在[UpdateRoutingControlState](https://docs.aws.amazon.com/routing-control/latest/APIReference/API_UpdateRoutingControlState.html)操作中进行故障转移。您可以使用 AWS CLI [（如这些示例所示）](getting-started-cli-routing.control-state.md)或使用其中一个编写的代码 AWS SDKs。ARC 数据面板中的 API 可以极其可靠地对流量进行失效转移。我们建议使用 API，而不是在 AWS 管理控制台中更改路由控制状态。  
连接到 ARC 的区域集群端点之一，以使用数据面板 API。如果端点不可用，请尝试连接到另一个集群端点。  
如果安全规则阻止路由控制状态更新，则可以绕过该规则进行更新并对流量进行失效转移。有关更多信息，请参阅 [覆盖安全规则以重新路由流量](routing-control.override-safety-rule.md)。

**使用 ARC 测试失效转移**  
使用 ARC 路由控制定期测试失效转移，以便从主应用程序堆栈失效转移到辅助应用程序堆栈。务必要确保您添加的 ARC 结构与堆栈中的正确资源保持一致，并且一切都按预期运行。您应该在为您的环境设置好 ARC 之后进行该测试，并持续定期进行测试，以便在发生故障之前准备好失效转移环境，这样就能快速启动并运行辅助系统以避免用户停机。

# 路由控制 API 操作
<a name="actions.routing-control"></a>

本节提供的表中列出了您可以用于在 Amazon 应用程序恢复控制器（ARC）中设置和使用路由控制的 API 操作以及相关文档的链接。

有关如何在 AWS Command Line Interface中执行常见恢复控制配置 API 操作的示例，请参阅[使用 ARC 路由控制 API 操作的示例 AWS CLI](getting-started-cli-routing.md)。

下表列出了可用于路由控制配置的 ARC API 操作以及相关文档的链接。


| Action | 使用 ARC 控制台 | 使用 ARC API | 
| --- | --- | --- | 
| 创建集群 | 请参阅 [在 ARC 中创建路由控制组件](routing-control.create.md)。 | 请参阅 [CreateCluster](https://docs.aws.amazon.com/recovery-cluster/latest/api/cluster.html) | 
| 描述集群 | 请参阅 [在 ARC 中创建路由控制组件](routing-control.create.md)。 | 请参阅 [DescribeCluster](https://docs.aws.amazon.com/recovery-cluster/latest/api/cluster-clusterarn.html) | 
| 删除集群 | 请参阅 [在 ARC 中创建路由控制组件](routing-control.create.md)。 | 请参阅 [DeleteCluster](https://docs.aws.amazon.com/recovery-cluster/latest/api/cluster-clusterarn.html) | 
| 列出账户的集群 | 请参阅 [在 ARC 中创建路由控制组件](routing-control.create.md)。 | 请参阅 [ListClusters](https://docs.aws.amazon.com/recovery-cluster/latest/api/cluster.html) | 
| 创建路由控制 | 请参阅 [在 ARC 中创建路由控制组件](routing-control.create.md)。 | 请参阅 [CreateRoutingControl](https://docs.aws.amazon.com/recovery-cluster/latest/api/routingcontrol.html) | 
| 描述路由控制 | 请参阅 [在 ARC 中创建路由控制组件](routing-control.create.md)。 | 请参阅 [DescribeRoutingControl](https://docs.aws.amazon.com/recovery-cluster/latest/api/routingcontrol-routingcontrolarn.html) | 
| 更新路由控制 | 请参阅 [在 ARC 中创建路由控制组件](routing-control.create.md)。 | 请参阅 [UpdateRoutingControl](https://docs.aws.amazon.com/recovery-cluster/latest/api/routingcontrol.html) | 
| 删除路由控制 | 请参阅 [在 ARC 中创建路由控制组件](routing-control.create.md)。 | 请参阅 [DeleteRoutingControl](https://docs.aws.amazon.com/recovery-cluster/latest/api/routingcontrol-routingcontrolarn.html) | 
| 列出路由控制 | 请参阅 [在 ARC 中创建路由控制组件](routing-control.create.md)。 | 请参阅 [ListRoutingControls](https://docs.aws.amazon.com/recovery-cluster/latest/api/controlpanel-controlpanelarn-routingcontrols.html) | 
| 创建控制面板 | 请参阅 [在 ARC 中创建路由控制组件](routing-control.create.md)。 | 请参阅 [CreateControlPanel](https://docs.aws.amazon.com/recovery-cluster/latest/api/controlpanel.html) | 
| 描述控制面板 | 请参阅 [在 ARC 中创建路由控制组件](routing-control.create.md)。 | 请参阅 [DescribeControlPanel](https://docs.aws.amazon.com/recovery-cluster/latest/api/controlpanel-controlpanelarn.html) | 
| 更新控制面板 | 请参阅 [在 ARC 中创建路由控制组件](routing-control.create.md)。 | 请参阅 [UpdateControlPanel](https://docs.aws.amazon.com/recovery-cluster/latest/api/controlpanel.html) | 
| 删除控制面板 | 请参阅 [在 ARC 中创建路由控制组件](routing-control.create.md)。 | 请参阅 [DeleteControlPanel](https://docs.aws.amazon.com/recovery-cluster/latest/api/controlpanel-controlpanelarn.html) | 
| 列出控制面板 | 请参阅 [在 ARC 中创建路由控制组件](routing-control.create.md)。 | 请参阅 [ListControlPanels](https://docs.aws.amazon.com/recovery-cluster/latest/api/controlpanels.html) | 
| 创建安全规则 | 请参阅 [为路由控制创建安全规则](routing-control.safety-rules.md)。 | 请参阅 [CreateSafetyRule](https://docs.aws.amazon.com/recovery-cluster/latest/api/safetyrule.html) | 
| 描述安全规则 | 请参阅 [为路由控制创建安全规则](routing-control.safety-rules.md)。 | 请参阅 [DescribeSafetyRule](https://docs.aws.amazon.com/recovery-cluster/latest/api/safetyrule-safetyrulearn.html) | 
| 更新安全规则 | 请参阅 [为路由控制创建安全规则](routing-control.safety-rules.md)。 | 请参阅 [UpdateSafetyRule](https://docs.aws.amazon.com/recovery-cluster/latest/api/safetyrule.html) | 
| 删除安全规则 | 请参阅 [为路由控制创建安全规则](routing-control.safety-rules.md)。 | 请参阅 [DeleteSafetyRule](https://docs.aws.amazon.com/recovery-cluster/latest/api/safetyrule-safetyrulearn.html) | 
| 列出安全规则 | 请参阅 [为路由控制创建安全规则](routing-control.safety-rules.md)。 | 请参阅 [ListSafetyRules](https://docs.aws.amazon.com/recovery-cluster/latest/api/controlpanel-controlpanelarn-safetyrules.html) | 
| 列出关联的 Route 53 运行状况检查 | 请参阅 [在 ARC 中创建路由控制运行状况检查](routing-control.create-health-check.md)。 | 见 [ListAssociatedRoute53 HealthChecks](https://docs.aws.amazon.com/recovery-cluster/latest/api/routingcontrol-routingcontrolarn-associatedroute53healthchecks.html) | 
| 列出用于群集共享的 AWS RAM 资源策略 | 请参阅 [ARC 中对集群的跨账户支持](routing-control.failover-different-accounts.md)。 | 请参阅 [GetResourcePolicy](https://docs.aws.amazon.com/recovery-cluster/latest/api/resourcepolicy-resourcearn.html) | 

下表列出了可用于在路由控制数据面板中管理流量失效转移的常见 ARC API 操作，以及相关文档的链接。


| Action | 使用 ARC 控制台 | 使用 ARC API | 
| --- | --- | --- | 
| 获取路由控制状态 | 请参阅 [获取和更新中的路由控制状态 AWS 管理控制台](routing-control.update.console.md)。 | 请参阅 [GetRoutingControlState](https://docs.aws.amazon.com/routing-control/latest/APIReference/API_GetRoutingControlState.html) | 
| 列出路由控制 | 不适用 | 请参阅 [ListRoutingControls](https://docs.aws.amazon.com/routing-control/latest/APIReference/API_ListRoutingControls.html)。 | 
| 更新路由控制状态 | 请参阅 [获取和更新中的路由控制状态 AWS 管理控制台](routing-control.update.console.md)。 | 请参阅 [UpdateRoutingControlState](https://docs.aws.amazon.com/routing-control/latest/APIReference/API_UpdateRoutingControlState.html) | 
| 更新多个路由控制状态 | 请参阅 [获取和更新中的路由控制状态 AWS 管理控制台](routing-control.update.console.md)。 | 请参阅 [UpdateRoutingControlStates](https://docs.aws.amazon.com/routing-control/latest/APIReference/API_UpdateRoutingControlStates.html) | 

# 将此服务与 AWS SDK 配合使用
<a name="sdk-general-information-section"></a>

AWS 软件开发套件 (SDKs) 可用于许多流行的编程语言。每个软件开发工具包都提供 API、代码示例和文档，使开发人员能够更轻松地以其首选语言构建应用程序。


| SDK 文档 | 代码示例 | 
| --- | --- | 
| [适用于 C\$1\$1 的 AWS SDK](https://docs.aws.amazon.com/sdk-for-cpp) | [适用于 C\$1\$1 的 AWS SDK 代码示例](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/cpp) | 
| [AWS CLI](https://docs.aws.amazon.com/cli) | [AWS CLI 代码示例](https://docs.aws.amazon.com/code-library/latest/ug/cli_2_code_examples.html) | 
| [适用于 Go 的 AWS SDK](https://docs.aws.amazon.com/sdk-for-go) | [适用于 Go 的 AWS SDK 代码示例](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/gov2) | 
| [适用于 Java 的 AWS SDK](https://docs.aws.amazon.com/sdk-for-java) | [适用于 Java 的 AWS SDK 代码示例](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/javav2) | 
| [适用于 JavaScript 的 AWS SDK](https://docs.aws.amazon.com/sdk-for-javascript) | [适用于 JavaScript 的 AWS SDK 代码示例](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/javascriptv3) | 
| [适用于 Kotlin 的 AWS SDK](https://docs.aws.amazon.com/sdk-for-kotlin) | [适用于 Kotlin 的 AWS SDK 代码示例](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/kotlin) | 
| [适用于 .NET 的 AWS SDK](https://docs.aws.amazon.com/sdk-for-net) | [适用于 .NET 的 AWS SDK 代码示例](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/dotnetv3) | 
| [适用于 PHP 的 AWS SDK](https://docs.aws.amazon.com/sdk-for-php) | [适用于 PHP 的 AWS SDK 代码示例](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/php) | 
| [AWS Tools for PowerShell](https://docs.aws.amazon.com/powershell) | [AWS Tools for PowerShell 代码示例](https://docs.aws.amazon.com/code-library/latest/ug/powershell_5_code_examples.html) | 
| [适用于 Python (Boto3) 的 AWS SDK](https://docs.aws.amazon.com/pythonsdk) | [适用于 Python (Boto3) 的 AWS SDK 代码示例](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/python) | 
| [适用于 Ruby 的 AWS SDK](https://docs.aws.amazon.com/sdk-for-ruby) | [适用于 Ruby 的 AWS SDK 代码示例](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/ruby) | 
| [适用于 Rust 的 AWS SDK](https://docs.aws.amazon.com/sdk-for-rust) | [适用于 Rust 的 AWS SDK 代码示例](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/rustv1) | 
| [适用于 SAP ABAP 的 AWS SDK](https://docs.aws.amazon.com/sdk-for-sapabap) | [适用于 SAP ABAP 的 AWS SDK 代码示例](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/sap-abap) | 
| [适用于 Swift 的 AWS SDK](https://docs.aws.amazon.com/sdk-for-swift) | [适用于 Swift 的 AWS SDK 代码示例](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/swift) | 

有关特定于此服务的示例，请参阅[应用程序恢复控制器的代码示例 AWS SDKs](service_code_examples.md)。

**示例可用性**  
找不到所需的内容？ 通过使用此页面底部的**提供反馈**链接请求代码示例。

# 使用 ARC 路由控制 API 操作的示例 AWS CLI
<a name="getting-started-cli-routing"></a>

本节介绍使用路由控制的简单应用示例，使用使用 API 操作 AWS Command Line Interface 与 Amazon 应用程序恢复控制器 (ARC) 中的路由控制功能配合使用。这些示例旨在帮助您基本了解如何使用 CLI 执行路由控制。

借助 Amazon Application Recovery Controller (ARC) 中的路由控制，您可以在独立 AWS 区域 或可用区域中运行的冗余应用程序副本或副本之间触发流量故障转移。

您可以将路由控制整理到集群上预调配的组中，这些组叫做控制面板。ARC 集群是一组全球部署的区域端点。集群端点提供了一个高度可用的 API，可用于设置和检索路由控制状态。有关路由控制功能组件的更多信息，请参阅[路由控制组件](introduction-components-routing.md)。

**注意**  
ARC 是一项全球服务，可支持多个 AWS 区域中的端点。但是，您必须在大部分 ARC CLI 命令中指定美国西部（俄勒冈州）区域（即指定参数 `--region us-west-2`）。例如，在创建恢复组、控制面板和集群时使用 `region` 参数。  
创建集群时，ARC 会为您提供一组区域端点。要获取或更新路由控制状态，您必须在 CLI 命令中指定区域终端节点（ AWS 区域 和终端节点 URL）。

有关使用的更多信息 AWS CLI，请参阅《 AWS CLI 命令参考》。有关路由控制 API 操作的列表，请参阅[路由控制 API 操作](actions.routing-control.md)和[路由控制 API 操作](actions.routing-control.md)。

我们将从创建集群开始，使用路由控制来创建管理失效转移所需的组件。

# 设置路由控制组件
<a name="getting-started-cli-routing-config"></a>

第一步是创建集群。ARC 集群是由五个端点组成的一个组，分别位于五个不同的 AWS 区域。ARC 基础设施支持这些端点协同工作，从而保证失效转移操作的高可用性和顺序一致性。

## 1. 创建集群
<a name="getting-started-cli-routing.cluster"></a>

1a. 创建集群。`network-type` 是可选的，可以是 `IPV4` 或 `DUALSTACK`。默认值为 `IPV4`。

```
aws route53-recovery-control-config create-cluster --cluster-name test --network-type DUALSTACK
```

```
"Cluster": {
    "ClusterArn": "arn:aws:route53-recovery-control::123456789123:cluster/12341234-1234-1234-1234-123412341234",
    "Name": "test",
    "Status": "PENDING",
    "Owner": "123456789123",
    "NetworkType": "DUALSTACK"
}
```

首次创建 ARC 资源时，在集群创建过程中其状态为 `PENDING`。您可以通过调用 `describe-cluster` 查看其进度。

1b. 描述集群。

```
aws route53-recovery-control-config --region us-west-2 \
				describe-cluster --cluster-arn arn:aws:route53-recovery-control::111122223333:cluster/5678abcd-abcd-5678-abcd-5678abcdefgh
```

```
"Cluster": {
    "ClusterArn": "arn:aws:route53-recovery-control::123456789123:cluster/12341234-1234-1234-1234-123412341234",
    "Name": "test",
    "Status": "DEPLOYED",
    "Owner": "123456789123",
    "NetworkType": "DUALSTACK"
}
```

当状态为“DEPLOYED”时，说明 ARC 已成功创建集群，其中包含一组可与您交互的端点。您可以通过调用 `list-clusters` 列出所有集群。

1c. 列出您的集群。

```
aws route53-recovery-control-config --region us-west-2 list-clusters
```

```
"Cluster": {
    "ClusterArn": "arn:aws:route53-recovery-control::123456789123:cluster/12341234-1234-1234-1234-123412341234",
    "Name": "test",
    "Status": "DEPLOYED",
    "Owner": "123456789123",
    "NetworkType": "DUALSTACK"
}
```

1d. 更新集群的网络类型。选项有 `IPV4` 或 `DUALSTACK`。

```
aws route53-recovery-control-config update-cluster \
--cluster-arn arn:aws:route53-recovery-control::123456789123:cluster/12341234-1234-1234-1234-123412341234 \
--network-type DUALSTACK
```

```
"Cluster": {
    "ClusterArn": "arn:aws:route53-recovery-control::123456789123:cluster/12341234-1234-1234-1234-123412341234",
    "Name": "test",
    "Status": "PENDING",
    "Owner": "123456789123",
   "NetworkType": "DUALSTACK"
}
```

## 2. 创建控制面板
<a name="getting-started-cli-routing.panel"></a>

控制面板是用于整理 ARC 路由控制的逻辑分组。当您创建集群时，ARC 会自动为您提供一个名为 `DefaultControlPanel` 的控制面板。您可以立即使用该控制面板。

一个控制面板只能存在于一个集群中。如果要将控制面板移到另一个集群，则必须将其删除，然后在第二个集群中创建它。您可以通过调用 `list-control-panels` 查看账户中的所有控制面板。要仅查看特定集群中的控制面板，请添加 `--cluster-arn` 字段。

2a. 列出控制面板。

```
aws route53-recovery-control-config --region us-west-2 \
				list-control-panels --cluster-arn arn:aws:route53-recovery-control::111122223333:cluster/eba23304-1a51-4674-ae32-b4cf06070bdd
```

```
{
    "ControlPanels": [
        {
            "ControlPanelArn": "arn:aws:route53-recovery-control::111122223333:controlpanel/1234567dddddd1234567dddddd1234567",
            "ClusterArn": "arn:aws:route53-recovery-control::111122223333:cluster/5678abcd-abcd-5678-abcd-5678abcdefgh",
            "DefaultControlPanel": true,
            "Name": "DefaultControlPanel",
            "RoutingControlCount": 0,
            "Status": "DEPLOYED"
        }
    ]
}
```

也可以选择通过调用 `create-control-panel` 创建自己的控制面板。

2b. 创建控制面板。

```
aws route53-recovery-control-config --region us-west-2 create-control-panel \
        --control-panel-name NewControlPanel2 \
        --cluster-arn arn:aws:route53-recovery-control::111122223333:cluster/5678abcd-abcd-5678-abcd-5678abcdefgh
```

```
{
    "ControlPanel": {
        "ControlPanelArn": "arn:aws:route53-recovery-control::111122223333:controlpanel/0123456bbbbbbb0123456bbbbbb0123456",
        "ClusterArn": "arn:aws:route53-recovery-control::111122223333:cluster/5678abcd-abcd-5678-abcd-5678abcdefgh",
        "DefaultControlPanel": false,
        "Name": "NewControlPanel2",
        "RoutingControlCount": 0,
        "Status": "PENDING"
    }
}
```

首次创建 ARC 资源时，它在创建过程中状态为 `PENDING`。您可以通过调用 `describe-control-panel` 查看进度。

2c. 描述控制面板。

```
aws route53-recovery-control-config --region us-west-2 describe-control-panel \
				--control-panel-arn arn:aws:route53-recovery-control::111122223333:controlpanel/0123456bbbbbbb0123456bbbbbb0123456
```

```
{
    "ControlPanel": {
        "ControlPanelArn": "arn:aws:route53-recovery-control::111122223333:controlpanel/0123456bbbbbbb0123456bbbbbb0123456",
        "ClusterArn": "arn:aws:route53-recovery-control::111122223333:cluster/5678abcd-abcd-5678-abcd-5678abcdefgh",
        "DefaultControlPanel": true,
        "Name": "DefaultControlPanel",
        "RoutingControlCount": 0,
        "Status": "DEPLOYED"
    }
}
```

## 3. 创建路由控制
<a name="getting-started-cli-routing.control"></a>

现在您已设置集群并查看控制面板，接着可以开始创建路由控制。创建路由控制时，您必须至少指定路由控制所在集群的 Amazon 资源名称 (ARN)。您也可以为路由控制指定控制面板的 ARN。您还需要指定控制面板所在的集群。

如果您未指定控制面板，路由控制将添加到自动创建的控制面板 `DefaultControlPanel`。

通过调用 `create-routing-control` 创建路由控制。

3a. 创建路由控制。

```
aws route53-recovery-control-config --region us-west-2 create-routing-control \
				--routing-control-name NewRc1 \
				--cluster-arn arn:aws:route53-recovery-control::111122223333:cluster/5678abcd-abcd-5678-abcd-5678abcdefgh
```

```
{
    "RoutingControl": {
        "ControlPanelArn": " arn:aws:route53-recovery-control::111122223333:controlpanel/0123456bbbbbbb0123456bbbbbb0123456",
        "Name": "NewRc1",
        "RoutingControlArn": "arn:aws:route53-recovery-control::111122223333:controlpanel/0123456bbbbbbb0123456bbbbbb0123456/routingcontrol/abcdefg1234567",
        "Status": "PENDING"
    }
}
```

路由控制的创建模式与其他 ARC 资源相同，因此您可以通过调用描述操作来跟踪它们的进度。

3b. 描述路由控制。

```
aws route53-recovery-control-config --region us-west-2 describe-routing-control \
			    --routing-control-arn arn:aws:route53-recovery-control::111122223333:controlpanel/0123456bbbbbbb0123456bbbbbb0123456/routingcontrol/abcdefg1234567
```

```
{
    "RoutingControl": {
        "ControlPanelArn": "arn:aws:route53-recovery-control::111122223333:controlpanel/0123456bbbbbbb0123456bbbbbb0123456",
        "Name": "NewRc1",
        "RoutingControlArn": "arn:aws:route53-recovery-control::111122223333:controlpanel/0123456bbbbbbb0123456bbbbbb0123456/routingcontrol/abcdefg1234567",
        "Status": "DEPLOYED"
    }
}
```

您可以通过调用 `list-routing-controls` 列出控制面板中的路由控制。控制面板 ARN 为必填项。

3c. 列出路由控制。

```
aws route53-recovery-control-config --region us-west-2 list-routing-controls \
        --control-panel-arn arn:aws:route53-recovery-control::111122223333:controlpanel/0123456bbbbbbb0123456bbbbbb0123456
```

```
{
    "RoutingControls": [
        {
            "ControlPanelArn": "arn:aws:route53-recovery-control::111122223333:controlpanel/0123456bbbbbbb0123456bbbbbb0123456",
            "Name": "Rc1",
            "RoutingControlArn": "arn:aws:route53-recovery-control::111122223333:controlpanel/0123456bbbbbbb0123456bbbbbb0123456/routingcontrol/abcdefg1234567",
            "Status": "DEPLOYED"
        },
        {
            "ControlPanelArn": "arn:aws:route53-recovery-control::111122223333:controlpanel/0123456bbbbbbb0123456bbbbbb0123456",
            "Name": "Rc2",
            "RoutingControlArn": "arn:aws:route53-recovery-control::111122223333:controlpanel/0123456bbbbbbb0123456bbbbbb0123456/routingcontrol/hijklmnop987654321",
            "Status": "DEPLOYED"
        }
    ]
}
```

在使用路由控制状态的以下示例中，我们假设您有本节中列出的两个路由控制（Rc1 和 Rc2）。在本例中，每个路由控制代表部署了应用程序的一个可用区。

## 4. 创建安全规则
<a name="getting-started-cli-routing.safety"></a>

同时使用多个路由控制时，您可能会决定在启用和禁用它们时采取一些保障措施，以避免意想不到的后果，例如关闭两个路由控制和停止所有流量。要建立这些保障措施，需要创建路由控制安全规则。

安全规则有两种类型：断言规则和门控规则。如需了解有关安全规则的详情，请参阅[为路由控制创建安全规则](routing-control.safety-rules.md)。

以下调用提供了创建断言规则的示例，该规则可确保在任何给定时间至少将两个路由控制之一设置为 `On`。要创建规则，请运行使用 `assertion-rule` 参数的 `create-safety-rule`。

有关断言规则 API 操作的详细信息，请参阅 [AssertionRule](https://docs.aws.amazon.com/recovery-cluster/latest/api/safetyrule.html#safetyrule-model-assertionrule)Amazon 应用程序恢复控制器的路由控制 API 参考指南。

4a. 创建断言规则。

```
aws route53-recovery-control-config --region us-west-2 create-safety-rule \
        --assertion-rule '{"Name": "TestAssertionRule", 
        "ControlPanelArn": "arn:aws:route53-recovery-control::888888888888:controlpanel/zzz123yyy456xxx789zzz123yyy456xxx", 
        "WaitPeriodMs": 5000, 
        "AssertedControls":
        ["arn:aws:route53-recovery-control::888888888888:controlpanel/zzz123yyy456xxx789zzz123yyy456xxx/routingcontrol/def123def123def" 
        "arn:aws:route53-recovery-control::888888888888:controlpanel/zzz123yyy456xxx789zzz123yyy456xxx/routingcontrol/ghi456ghi456ghi"], 
        "RuleConfig": {"Threshold": 1, "Type": "ATLEAST", "Inverted": false}}'
```

```
{
    "Rule": {
        "ASSERTION": {
            "Arn": "arn:aws:route53-recovery-control::888888888888:controlpanel/zzz123yyy456xxx789zzz123yyy456xxx/safetyrule/333333444444",
            "AssertedControls": [
                "arn:aws:route53-recovery-control::888888888888:controlpanel/zzz123yyy456xxx789zzz123yyy456xxx/routingcontrol/def123def123def" 
                "arn:aws:route53-recovery-control::888888888888:controlpanel/zzz123yyy456xxx789zzz123yyy456xxx/routingcontrol/ghi456ghi456ghi"],
            "ControlPanelArn": "arn:aws:route53-recovery-control::888888888888:controlpanel/zzz123yyy456xxx789zzz123yyy456xxx",
            "Name": "TestAssertionRule",
            "RuleConfig": {
                "Inverted": false,
                "Threshold": 1,
                "Type": "ATLEAST"
            },
            "Status": "PENDING",
            "WaitPeriodMs": 5000
        }
    }
}
```

以下调用提供了创建门控规则的示例，该规则为控制面板中的一组目标路由控制提供了整体的“开启/关闭”或“门控”开关。这样便可以禁止更新目标路由控制，例如，自动化机制无法进行未授权更新。在本例中，门控开关是通过 `GatingControls` 参数指定的路由控制，受到控制或“门控”的两个路由控制通过 `TargetControls` 参数指定。

**注意**  
在创建门控规则之前，必须创建门控路由控制（不包括 DNS 故障转移记录）和目标路由控制（需配置有 DNS 故障转移记录）。

要创建规则，请运行使用 `gating-rule` 参数的 `create-safety-rule`。

有关断言规则 API 操作的详细信息，请参阅 [GatingRule](https://docs.aws.amazon.com/recovery-cluster/latest/api/safetyrule.html#safetyrule-model-gatingrule)Amazon 应用程序恢复控制器的路由控制 API 参考指南。

4b. 创建门控规则。

```
aws route53-recovery-control-config --region us-west-2 create-safety-rule \
        --gating-rule '{"Name": "TestGatingRule", 
        "ControlPanelArn": "arn:aws:route53-recovery-control::888888888888:controlpanel/zzz123yyy456xxx789zzz123yyy456xxx", 
        "WaitPeriodMs": 5000, 
        "GatingControls": ["arn:aws:route53-recovery-control::888888888888:controlpanel/zzz123yyy456xxx789zzz123yyy456xxx/routingcontrol/def123def123def"] 
        "TargetControls": ["arn:aws:route53-recovery-control::888888888888:controlpanel/zzz123yyy456xxx789zzz123yyy456xxx/routingcontrol/ghi456ghi456ghi", 
        "arn:aws:route53-recovery-control::888888888888:controlpanel/zzz123yyy456xxx789zzz123yyy456xxx/routingcontrol/lmn789lmn789lmn"], 
        "RuleConfig": {"Threshold": 0, "Type": "OR", "Inverted": false}}'
```

```
{
    "Rule": {
        "GATING": {
            "Arn": "arn:aws:route53-recovery-control::888888888888:controlpanel/zzz123yyy456xxx789zzz123yyy456xxx/safetyrule/444444444444",
            "GatingControls": [
                "arn:aws:route53-recovery-control::888888888888:controlpanel/zzz123yyy456xxx789zzz123yyy456xxx/routingcontrol/def123def123def"
            ],
            "TargetControls": [
                "arn:aws:route53-recovery-control::888888888888:controlpanel/zzz123yyy456xxx789zzz123yyy456xxx/routingcontrol/ghi456ghi456ghi" 
                "arn:aws:route53-recovery-control::888888888888:controlpanel/zzz123yyy456xxx789zzz123yyy456xxx/routingcontrol/lmn789lmn789lmn"
            ],
            "ControlPanelArn": "arn:aws:route53-recovery-control::888888888888:controlpanel/zzz123yyy456xxx789zzz123yyy456xxx",
            "Name": "TestGatingRule",
            "RuleConfig": {
                "Inverted": false,
                "Threshold": 0,
                "Type": "OR"
            },
            "Status": "PENDING",
            "WaitPeriodMs": 5000
        }
    }
}
```

与其他路由控制资源一样，您可以在安全规则传播到数据面板后描述、列出或删除它们。

设置一个或多个安全规则后，您可以继续与集群交互，以设置或检索路由控制的状态。如果某项 `set-routing-control-state` 操作违反了您创建的规则，您将收到类似下方的异常：

`Cannot modify control state for [0123456bbbbbbb0123456bbbbbb01234560123 abcdefg1234567] due to failed rule evaluation 0123456bbbbbbb0123456bbbbbb0123456333333444444`

第一个标识符是控制面板 ARN 与路由控制 ARN 的连接体。第二个标识符是控制面板 ARN 与安全规则 ARN 的连接体。

## 5. 创建运行状况检查
<a name="getting-started-cli-routing.healthcheck"></a>

要使用路由控制对流量进行失效转移，您可以在 Amazon Route 53 中创建运行状况检查，并将运行状况检查与您的 DNS 记录关联起来。为了对流量进行失效转移，ARC 路由控制会将运行状况检查设置为失败，这样 Route 53 就会重新路由流量。（运行状况检查不会影响应用程序的运行状况；它只是用作重新路由流量的方法。）

例如，假设您有两个单元格（区域或可用区）。您可以将一个单元格配置为应用程序的主单元格，将另一个配置为辅助单元格，以进行失效转移。

要为失效转移设置运行状况检查，您可以执行以下操作，例如：

1. 使用 ARC CLI 为每个单元格创建路由控制。

1. 使用 Route 53 CLI 在 Route 53 中为每个路由控制创建 ARC 运行状况检查。

1. 使用 Route 53 CLI 在 Route 53 中创建两个失效转移 DNS 记录，并将运行状况检查与每个记录关联起来。

5a. 为每个单元格创建路由控制。

```
aws route53-recovery-control-config --region us-west-2 create-routing-control \
        --routing-control-name RoutingControlCell1 \
        --cluster-arn arn:aws:route53-recovery-control::111122223333:cluster/5678abcd-abcd-5678-abcd-5678abcdefgh
```

```
aws route53-recovery-control-config --region us-west-2 create-routing-control \
        --routing-control-name RoutingControlCell2 \
        --cluster-arn arn:aws:route53-recovery-control::111122223333:cluster/5678abcd-abcd-5678-abcd-5678abcdefgh
```

5b. 为每个路由控制创建运行状况检查。

**注意**  
使用 Amazon Route 53 CLI 创建 ARC 运行状况检查。

```
aws route53 create-health-check --caller-reference RoutingControlCell1 \
        --health-check-config \
        Type=RECOVERY_CONTROL,RoutingControlArn=arn:aws:route53-recovery-control::111122223333:controlpanel/0123456bbbbbbb0123456bbbbbb0123456/routingcontrol/abcdefg1234567
```

```
{
    "Location": "https://route53.amazonaws.com/2015-01-01/healthcheck/11111aaaa-bbbb-cccc-dddd-ffffff22222",
    "HealthCheck": {
        "Id": "xxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
        "CallerReference": "RoutingControlCell1",
        "HealthCheckConfig": {
            "Type": "RECOVERY_CONTROL",
            "Inverted": false,
            "Disabled": false,
            "RoutingControlArn": "arn:aws:route53-recovery-control::111122223333:controlpanel/0123456bbbbbbb0123456bbbbbb0123456/routingcontrol/abcdefg1234567"
        },
        "HealthCheckVersion": 1
    }
}
```

```
aws route53 create-health-check --caller-reference RoutingControlCell2 \
				--health-check-config \
				Type=RECOVERY_CONTROL,RoutingControlArn=arn:aws:route53-recovery-control::111122223333:controlpanel/0123456bbbbbbb0123456bbbbbb0123456/routingcontrol/abcdefg1234567
```

```
{
    "Location": "https://route53.amazonaws.com/2015-01-01/healthcheck/11111aaaa-bbbb-cccc-dddd-ffffff22222",
    "HealthCheck": {
        "Id": "xxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
        "CallerReference": "RoutingControlCell2",
        "HealthCheckConfig": {
            "Type": "RECOVERY_CONTROL",
            "Inverted": false,
            "Disabled": false,
            "RoutingControlArn": "arn:aws:route53-recovery-control::111122223333:controlpanel/0123456bbbbbbb0123456bbbbbb0123456/routingcontrol/abcdefg1234567"
        },
        "HealthCheckVersion": 1
    }
}
```

5c. 创建两个失效转移 DNS 记录，并将运行状况检查与每个记录关联起来。

使用 Route 53 CLI 在 Route 53 中创建失效转移 DNS 记录。要创建记录，请按照《Amazon Route 53 AWS CLI 命令参考》中该[change-resource-record-sets](https://docs.aws.amazon.com/cli/latest/reference/route53/change-resource-record-sets.html)命令的说明进行操作。在记录中，指定每个单元格的 DNS 值以及 Route 53 为运行状况检查创建的相应 `HealthCheckID` 值（请参阅 6b）。

对于主单元格：

```
{
    "Name": "myapp.yourdomain.com",
    "Type": "CNAME",
    "SetIdentifier": "primary",
    "Failover": "PRIMARY",
    "TTL": 0,
    "ResourceRecords": [
        {
            "Value": "cell1.yourdomain.com"
        }
    ],
    "HealthCheckId": "xxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}
```

对于辅助单元格：

```
{
    "Name": "myapp.yourdomain.com",
    "Type": "CNAME",
    "SetIdentifier": "secondary",
    "Failover": "SECONDARY",
    "TTL": 0,
    "ResourceRecords": [
        {
            "Value": "cell2.yourdomain.com"
        }
    ],
    "HealthCheckId": "yyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy"
}
```

现在，要从主单元格失效转移到辅助单元格，可以按照步骤 4b 中的 CLI 示例将 `RoutingControlCell1` 的状态更新为 `OFF`，将 `RoutingControlCell2` 的状态更新为 `ON`。

# 使用列出并更新路由控制和状态 AWS CLI
<a name="getting-started-cli-routing.control-state"></a>

创建 Amazon 应用程序恢复控制器（ARC）资源（例如，集群、路由控制和控制面板）后，您可以与集群交互，以列出和更新路由控制状态，以便进行失效转移。

对于您创建的每个集群，ARC 都会为您提供一组集群端点，五个 AWS 区域中各一个端点。在调用集群以检索或将路由控制状态设置为或时，必须指定其中一个区域终端节点（ AWS 区域 和终端节点 URL）`Off`。`On`当您使用 AWS CLI、获取或更新路由控制状态时，除了区域终端节点外，还必须指定区域终端节点`--region`的终端节点，如本节中的示例所示。

您可以使用任何区域集群端点。建议您的系统能够通过区域端点路由，准备好重试每个可用的端点。有关说明按顺序尝试集群端点的代码示例，请参阅[应用程序恢复控制器使用的操作 AWS SDKs](service_code_examples_actions.md)。

有关使用的更多信息 AWS CLI，请参阅《 AWS CLI 命令参考》。有关路由控制 API 操作的列表以及指向更多信息的链接，请参阅[路由控制 API 操作](actions.routing-control.md)。

**重要**  
尽管您可以在 Amazon Route 53 控制台上[更新路由控制状态](routing-control.update.api.md)，但我们建议您使用 AWS CLI 或 AWS SDK 更新路由控制状态。ARC 通过 ARC 路由控制数据面板提供极高的可靠性，以重新路由流量和跨单元格失效转移。有关使用 ARC 进行失效转移的更多建议，请参阅 [ARC 中路由控制的最佳实践](route53-arc-best-practices.regional.md)。

创建路由控制时，状态设置为 `Off`。这意味着流量不会路由到该路由控制的目标单元格。您可以通过运行 `get-routing-control-state` 命令验证路由控制的状态。

要确定将要指定的区域和端点，请运行 `describe-clusters` 命令以查看 `ClusterEndpoints`。每个都`ClusterEndpoint`包括一个区域和相应的终端节点，您可以使用它们来获取或更新路由控制状态。 *[DescribeCluster](https://docs.aws.amazon.com/recovery-cluster/latest/api/cluster-clusterarn.html)是一项恢复控制配置 API 操作。建议您将 ARC 区域集群端点的本地副本保存在书签中，或者硬编码到用于重试端点的自动化代码中。*

## 1. 列出路由控制
<a name="getting-started-cli-routing.view-rc"></a>

您可以使用高度可靠的 ARC 数据面板端点查看路由控制和路由控制状态。

1. 列出特定控制面板的路由控制。如果不指定控制面板，`list-routing-controls` 会返回集群中的所有路由控制。

```
aws route53-recovery-cluster list-routing-controls --control-panel-arn \
        arn:aws:route53-recovery-control::111122223333:controlpanel/0123456bbbbbbb0123456bbbbbb0123456 \ 
        --region us-west-2 \
        --endpoint-url https://host-dddddd.us-west-2.example.com/v1
```

```
{
    "RoutingControls": [{
        "ControlPanelArn": "arn:aws:route53-recovery-control::111122223333:controlpanel/0123456bbbbbbb0123456bbbbbb0123456",
        "ControlPanelName": "ExampleControlPanel",
        "RoutingControlArn": "arn:aws:route53-recovery-control::111122223333:controlpanel/0123456bbbbbbb0123456bbbbbb0123456/routingcontrol/abcdefg1234567",
        "RoutingControlName": "RCOne",
        "RoutingControlState": "On"
    },
    {
        "ControlPanelArn": "arn:aws:route53-recovery-control::023759465626:controlpanel/0123456bbbbbbb0123456bbbbbb0123456",
        "ControlPanelName": "ExampleControlPanel",
        "RoutingControlArn": "arn:aws:route53-recovery-control::023759465626:controlpanel/0123456bbbbbbb0123456bbbbbb0123456/routingcontrol/zzzzxxxxyyyy123456",
        "RoutingControlName": "RCTwo",
        "RoutingControlState": "Off"
    }
]
```

## 2. 获取路由控制
<a name="getting-started-cli-routing.get-rc"></a>

2. 获取路由控制状态。

```
aws route53-recovery-cluster get-routing-control-state --routing-control-arn \
        arn:aws:route53-recovery-control::111122223333:controlpanel/0123456bbbbbbb0123456bbbbbb0123456/routingcontrol/abcdefg1234567 \
        --region us-west-2 \
        --endpoint-url https://host-dddddd.us-west-2.example.com/v1
```

```
{"RoutingControlArn": "arn:aws:route53-recovery-control::111122223333:controlpanel/0123456bbbbbbb0123456bbbbbb0123456/routingcontrol/abcdefg1234567",
    "RoutingControlName": "RCOne",
    "RoutingControlState": "On"
}
```

## 2. 更新路由控制
<a name="getting-started-cli-routing.update-rc"></a>

要将流量路由到路由控制所控制的目标端点，请将路由控制状态更新为 `On`。通过运行 `update-routing-control-state` 命令更新路由控制状态。（请求成功时，响应为空。）

2a. 更新路由控制状态。

```
aws route53-recovery-cluster update-routing-control-state \
        --routing-control-arn \
        arn:aws:route53-recovery-control::111122223333:controlpanel/0123456bbbbbbb0123456bbbbbb0123456/routingcontrol/abcdefg1234567 \
        --routing-control-state On \
        --region us-west-2 \
        --endpoint-url https://host-dddddd.us-west-2.example.com/v1
```

```
{}
```

您可以通过一个 API 调用同时更新多个路由控制：`update-routing-control-states`。（请求成功时，响应为空。）

2b. 一次更新多个路由控制状态（批量更新）。

```
aws route53-recovery-cluster update-routing-control-states \
        --update-routing-control-state-entries \
        '[{"RoutingControlArn": "arn:aws:route53-recovery-control::111122223333:controlpanel/0123456bbbbbbb0123456bbbbbb0123456/routingcontrol/abcdefg1234567",
        "RoutingControlState": "Off"}, \
        {"RoutingControlArn": "arn:aws:route53-recovery-control::111122223333:controlpanel/0123456bbbbbbb0123456bbbbbb0123456/routingcontrol/hijklmnop987654321",
        "RoutingControlState": "On"}]' \
        --region us-west-2 \
        --endpoint-url https://host-dddddd.us-west-2.example.com/v1
```

```
{}
```

# 在 ARC 中使用路由控制组件
<a name="routing-control.working-with"></a>

**Topics**
+ [在 ARC 中创建路由控制组件](routing-control.create.md)
+ [在 ARC 中查看和更新路由控制状态](routing-control.update.md)
+ [为路由控制创建安全规则](routing-control.safety-rules.md)
+ [ARC 中对集群的跨账户支持](routing-control.failover-different-accounts.md)

# 在 ARC 中创建路由控制组件
<a name="routing-control.create"></a>

本节介绍如何创建集群、路由控制、运行状况检查和控制面板，以便在 Amazon 应用程序恢复控制器（ARC）中使用路由控制。

首先创建一个集群，以托管您的路由控制和用于给路由控制分组的控制面板。然后创建路由控制和运行状况检查，这样就可以重新路由流量，从一个单元格失效转移到另一个单元格，使流量流向别处，例如您的备份副本。

请注意，您创建的每个集群均按小时收费。通常，您只需要一个集群来托管路由控制和控制面板，以管理应用程序的恢复控制。此外，您可以使用设置资源共享 AWS Resource Access Manager，以便一个集群可以托管路由控制和多个集群拥有的其他 ARC 资源 AWS 账户。要了解 ARC 中的资源共享，请参阅 [ARC 中对集群的跨账户支持](routing-control.failover-different-accounts.md)。有关定价信息，请参阅 [Amazon 应用程序恢复控制器 (ARC) 定价](https://aws.amazon.com/application-recovery-controller/pricing/)。

要使用路由控制对流量进行失效转移，您需要创建路由控制运行状况检查，并将其与应用程序中资源的 Amazon Route 53 DNS 记录相关联。举个例子，假设您有两个单元格，一个配置为应用程序的主单元格，另一个配置为辅助单元格（失效转移的目的地）。

要为失效转移设置运行状况检查，请执行以下操作：

1. 为每个单元格创建路由控制。

1. 为每个路由控制创建运行状况检查。

1. 创建两个 DNS 记录（例如两个 DNS 故障转移记录），并将运行状况检查与每个记录关联起来。

当您创建的安全规则是门控规则时，也可能需要创建路由控制。在这种情况下，不要将运行状况检查和 DNS 记录与路由控制相关联，因为您要把它用作*门控路由控制*。有关更多信息，请参阅 [为路由控制创建安全规则](routing-control.safety-rules.md)。

这些节中包含在 ARC 控制台上创建路由控制组件的步骤。要了解如何在 ARC 中使用恢复控制配置 API 操作，请参阅[路由控制 API 操作](actions.routing-control.md)。

# 在 ARC 中创建集群
<a name="routing-control.create-cluster"></a>

您必须在 ARC 中创建一个集群才能托管路由控制和控制面板。

*集群*是一组冗余的区域端点，您可以在这些端点上执行 API 调用，以更新或获取一个或多个路由控制的状态。一个集群可以托管许多路由控制。

**重要**  
请注意，您创建的每个集群均按小时收费。一个集群可以托管许多路由控制和控制面板，通常足够用来管理应用程序的恢复控制。

# 创建集群


1. 访问 [https://console.aws.amazon.com/route53recovery/home#/dashboard](https://console.aws.amazon.com/route53recovery/home#/dashboard)，打开 ARC 控制台。

1. 选择**集群**。

1. 选择**创建**，然后输入集群的名称。

1. 选择**创建集群**。

# 在 ARC 中创建路由控制
<a name="routing-control.create-control"></a>

为流量路由的每个目标单元格创建路由控制。例如，当您的应用程序的资源孤立以实现可恢复性时，每个应用程序可能都有一个单元，每个区域的每个 AWS 区域可用区都有嵌套单元格。在这种情况下，要为每个单元格和每个嵌套单元格创建一个路由控制。

创建路由控制时，请记住路由控制名称在每个控制面板中必须是唯一的。

创建用于重新路由流量的路由控制后，您可以将每个路由控制与运行状况检查相关联，这样您就可以根据与每个检查关联的 DNS 记录将流量路由到单元格。如果您要设置门控规则作为安全规则并创建门控路由控制，则不要向路由控制中添加运行状况检查。

# 创建路由控制的步骤


1. 访问 [https://console.aws.amazon.com/route53recovery/home#/dashboard](https://console.aws.amazon.com/route53recovery/home#/dashboard)，打开 ARC 控制台。

1. 选择**路由控制**。

1. 在**路由控制**页面上，选择**创建**，然后选择**路由控制**。

1. 输入路由控制的名称，选择要添加控制的目标集群，然后选择把它添加到现有的控制面板，包括使用默认控制面板。或者创建新的控制面板。

1. 如果您选择创建新的控制面板，请选择要在上面创建控制面板的集群，然后输入面板的名称。

1. 选择**创建路由控制**。

1. 按照步骤命名和创建路由控制。

# 在 ARC 中创建路由控制运行状况检查
<a name="routing-control.create-health-check"></a>

请将路由控制运行状况检查与要用于重新路由流量的每个路由控制关联起来。然后，为每个运行状况检查配置 Amazon Route 53 DNS 记录（例如失效转移 DNS 记录）。然后，您只需更新关联的路由控制的状态，将其设置为 `On` 或 `Off`，即可在 Amazon 应用程序恢复控制器（ARC）中重新路由流量。

**注意**  
您无法编辑现有的路由控制运行状况检查，将其与其他路由控制相关联。

# 创建路由控制运行状况检查的步骤


1. 访问 [https://console.aws.amazon.com/route53recovery/home#/dashboard](https://console.aws.amazon.com/route53recovery/home#/dashboard)，打开 ARC 控制台。

1. 选择**路由控制**。

1. 在**路由控制**页面上，选择一个路由控制。

1. 在**路由控制**详细信息页面上，选择**创建运行状况检查**。

1. 输入运行状况检查的名称，然后选择**创建**。

接下来，创建 Route 53 DNS 记录，并将您的路由控制运行状况检查与每个记录相关联。例如，假设您希望使用两个 DNS 失效转移记录来与路由控制运行状况检查相关联。要让 ARC 通过使用路由控制正确地对流量进行失效转移，首先要在 Route 53 中创建两个失效转移记录：主失效转移记录和辅助失效转移记录。有关配置 DNS 故障转移记录的更多信息，请参阅[运行状况检查概念](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/route-53-concepts.html#route-53-concepts-health-checking)。

创建主失效转移记录时，其值应如下所示：

```
			Name: myapp.yourdomain.com
			Type: CNAME
			Set Identifier: Primary
			Failover: Primary
			TTL: 0
			Resource Records:
			Value: cell1.yourdomain.com
			Health Check ID: xxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
```

辅助失效转移记录值应如下所示：

```
			Name: myapp.yourdomain.com
			Type: CNAME
			Set Identifier: Secondary
			Failover: Secondary
			TTL: 0
			Resource Records:
			Value: cell2.yourdomain.com
			Health Check ID: xxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
```

现在，假设您要重新路由流量，因为出现了故障。为此，您需要更新关联的路由控制状态，将主路由控制状态更改为 `OFF`，将辅助路由控制状态更改为 `ON`。执行此操作时，关联的运行状况检查会阻止流量流向主副本，而是将其路由到辅助副本。有关使用路由控制对流量进行失效转移的更多信息，请参阅[使用 ARC API 获取和更新路由控制状态（推荐）](routing-control.update.api.md)。

要查看使用 ARC API 操作创建路由控制和相关运行状况检查的 AWS CLI 命令示例，请参阅[使用 ARC 路由控制 API 操作的示例 AWS CLI](getting-started-cli-routing.md)。

# 在 ARC 中创建控制面板
<a name="routing-control.create-control-panel"></a>

Amazon 应用程序恢复控制器（ARC）中的控制面板可以将相关的路由控制聚合在一起。控制面板可以包含代表应用程序中的微服务、整个应用程序或一组应用程序的路由控制，具体取决于失效转移的范围。将路径控制组合到控制面板中的一个好处是，您可以配合使用安全规则和控制面板，帮助保护流量路由的变化。

创建集群时，ARC 会创建一个默认的控制面板。您可以使用默认控制面板放置路由控制，也可以创建一个或多个控制面板，对路由控制进行分组。请注意，控制面板名称仅支持 ASCII 字符。

本节包含在 ARC 控制台上创建控制面板的步骤。有关在 ARC 中使用恢复控制配置 API 操作的信息，请参阅[路由控制 API 操作](actions.routing-control.md)。

# 创建控制面板的步骤


1. 访问 [https://console.aws.amazon.com/route53recovery/home#/dashboard](https://console.aws.amazon.com/route53recovery/home#/dashboard)，打开 ARC 控制台。

1. 选择**路由控制**。

1. 在**路由控制**页面上，选择**创建**，然后选择**控制面板**。

1. 请选择要在上面创建控制面板的集群，然后输入面板的名称。

1. 选择**创建控制面板**。

# 在 ARC 中查看和更新路由控制状态
<a name="routing-control.update"></a>

本节介绍如何在 Amazon 应用程序恢复控制器（ARC）中查看和更新路由控制状态。路由控制是简单的开关机构，管理流向恢复组中的单元格的流量。单元通常是可用区 AWS 区域，有时是包含您的资源的可用区。当路由控制状态为 `On` 时，流量会流向由受该路由控制所控的单元格。

您可以将路由控制组合到控制面板中，后者是失效转移逻辑分组。例如，当您在控制台上打开控制面板时，您可以同时查看一个分组的所有路由控制，从而看清流量流向何处。

您可以在 ARC 控制台上或使用 ARC API 更新路由控制状态。我们建议您使用 API 更新路由控制状态。首先，ARC 在数据面板中提供极其可靠的 API 来执行这些操作。当您更改路由控制状态时，这一点很重要，因为路由状态的更改会通过重新路由应用程序流量进行跨单元格的失效转移。此外，使用 API 时，如果您尝试连接的集群端点不可用，可以根据需要尝试轮流连接到不同的集群端点。

您可以更新一个路由控制状态，也可以同时更新多个路由控制状态。例如，您可能想要将一个路由控制状态设置为 `Off`，以阻止流量流向一个单元格，比如应用程序延迟增加的可用区。同时，您可能想要将另一个路由控制状态设置为 `On`，以启动流向另一个单元格或可用区的流量。在这种情况下，您可以同时更新两个路由控制状态，以使流量可以持续流动。

**Topics**
+ [使用 ARC API 获取和更新路由控制状态（推荐）](routing-control.update.api.md)
+ [获取和更新中的路由控制状态 AWS 管理控制台](routing-control.update.console.md)

# 使用 ARC API 获取和更新路由控制状态（推荐）
<a name="routing-control.update.api"></a>

我们建议您使用 Amazon Application Recovery Controller (ARC) API 操作来获取或更新路由控制状态，方法是使用 AWS CLI 命令或使用您开发的用于将 ARC API 操作与其中一个操作一起使用的代码 AWS SDKs。建议使用 CLI 或代码中的 API 操作（而不是使用 AWS 管理控制台）来处理路由控制状态。

由于路由控制存储在高度可用的集群中，所以 ARC 通过使用 API 更新路由控制状态，可以极其可靠地进行跨单元格（AWS 区域）失效转移。ARC 确保您始终可以访问五个区域集群端点中的至少三个端点，以进行路由控制状态更改。要使用 API 获取或更改路由控制状态，您需要连接到其中一个区域集群端点。如果该端点不可用，可尝试连接到另一个集群端点。

您可以在 Route 53 控制台中查看集群的区域集群终端节点列表，也可以使用 API 操作查看[DescribeCluster](https://docs.aws.amazon.com/recovery-cluster/latest/api/cluster-clusterarn.html)。在获取和更改路由控制状态的过程中，应根据需要轮流尝试每个端点，因为集群端点会在可用和不可用状态之间循环，以便定期维护和更新。

我们提供了有关使用 ARC API 操作获取和更新路由控制状态以及使用区域集群端点的详细信息和代码示例。有关更多信息，请参阅下列内容：
+ 有关说明如何轮换区域集群端点以获取和设置路由控制状态的代码示例，请参阅[应用程序恢复控制器使用的操作 AWS SDKs](service_code_examples_actions.md)。
+ 有关使用获取和更新路由控制状态的信息，请参阅[使用列出并更新路由控制和状态 AWS CLI](getting-started-cli-routing.control-state.md)。 AWS CLI 

# 获取和更新中的路由控制状态 AWS 管理控制台
<a name="routing-control.update.console"></a>

您可以在 AWS 管理控制台中获取和更新路由控制状态。但请注意，您不能在控制台中选择不同的区域集群端点。也就是说，在控制台中没有选择和轮换集群端点的过程，这一点与使用 Amazon 应用程序恢复控制器（ARC）API 不一样。此外，控制台的可用性不高，而 ARC 数据面板提供了极高的可靠性。出于这些原因，建议您在生产运营中使用 ARC API 获取和更新路由控制状态。

有关使用 ARC 进行失效转移的更多建议，请参阅 [ARC 中路由控制的最佳实践](route53-arc-best-practices.regional.md)。

要在控制台中查看和更新路由控制，请按照以下过程中的步骤操作。

# 获取路由控制状态的步骤


1. 访问 [https://console.aws.amazon.com/route53recovery/home#/dashboard](https://console.aws.amazon.com/route53recovery/home#/dashboard)，打开 ARC 控制台。

1. 选择**路由控制**。

1. 从列表中选择控制面板并查看路由控制。

# 更新一个或多个路由控制状态的步骤


1. 在[https://console.aws.amazon.com/route53/家](https://console.aws.amazon.com/route53/home)中打开亚马逊 Route 53 控制台。

1. 在**应用程序恢复控制器**下，选择**路由控制**。

1. 选择**操作**，然后选择**更改流量路由**。

1. 根据您想让应用程序的流量流向或停止流向何处，将一个或多个路由控制的状态更新为 `Off` 或 `On`。

1. 在文本框中输入 `confirm`。

1. 选择**更新流量路由**。

# 为路由控制创建安全规则
<a name="routing-control.safety-rules"></a>

当您同时使用多个路由控制时，您可能会决定采取保障措施以避免意想不到的后果。例如，您可能希望防止无意中关闭应用程序的所有路由控制，因为这样会导致出现打开失败情况。也许为了防止自动化机制重新路由流量，您也可能想实现一个主开关机构来禁用一组路由控制。要在 ARC 中建立这样的路径控制保障措施，您需要创建*安全规则*。

请组合使用路由控制、规则和您指定的其他选项来为路由控制配置安全规则。每个安全规则都与一个控制面板相关联，但一个控制面板可以有多个安全规则。创建安全规则时，请记住在每个控制面板中安全规则名称必须是唯一的。

**Topics**
+ [安全规则的类型](#routing-control.about-safety-rule)
+ [在控制台上创建安全规则](routing-control.create-safety-rule.md)
+ [在控制台上编辑或删除安全规则](routing-control.edit-delete-safety-rule.md)
+ [覆盖安全规则以重新路由流量](routing-control.override-safety-rule.md)

## 安全规则的类型
<a name="routing-control.about-safety-rule"></a>

安全规则有两种类型，即*断言规则*和*门控规则*，您可以使用它们以不同的方式保护失效转移。

**断言规则**  
使用断言规则时，如果您更改一个或一组路由控制状态，ARC 会强制满足您在配置规则时设置的标准，否则路由控制状态不会更改。  
预防打开失败就是适合使用这种规则的一个例子。在打开失败的情况中，您会阻止流量流向一个单元格，但没有让流量开始流向另一个单元格。为了避免这种情况，断言规则确保在任何给定时间控制面板的一组路由控制中至少有一个路由控制是 `On` 状态。这样可以确保流量流向应用程序的至少一个区域或可用区。  
要查看创建断言规则以强制执行此标准的 AWS CLI 命令示例，请参阅中的*[使用 ARC 路由控制 API 操作的示例 AWS CLI](getting-started-cli-routing.md)创建安全规则*。  
有关断言规则 API 操作属性的详细信息，请参阅 [AssertionRule](https://docs.aws.amazon.com/recovery-cluster/latest/api/safetyrule.html#safetyrule-model-assertionrule)Amazon 应用程序恢复控制器的路由控制 API 参考指南。

**门控规则**  
使用门控规则时，您可以对一组路由控制实施整体的开关，以根据您在规则中指定的一组标准来判断这些路由控制状态是否可以更改。最简单的标准是，指定为开关的单个路由控制设置为 `ON` 还是 `OFF`。  
要实现这一点，您需要创建*门控路由控制*作为整体开关，并创建*目标路由控制*，以控制流量流向不同的区域或可用区。然后，要防止手动或自动更新您为门控规则配置的目标路由控制的状态，您需要将门控路由控制状态设置为 `Off`。要允许更新，请将其设置为 `On`。  
要查看用于创建实现此类整体开关的门控规则的示例 AWS CLI 命令，请参阅中的*创建安全规则*[使用 ARC 路由控制 API 操作的示例 AWS CLI](getting-started-cli-routing.md)。  
有关门控规则 API 操作属性的详细信息，请参阅 [GatingRule](https://docs.aws.amazon.com/recovery-cluster/latest/api/safetyrule.html#safetyrule-model-gatingrule)Amazon 应用程序恢复控制器的路由控制 API 参考指南。

# 在控制台上创建安全规则
<a name="routing-control.create-safety-rule"></a>

本节中的步骤说明了如何在 ARC 控制台中创建安全规则。无论您创建断言规则还是门控规则，步骤都是相似的。差异已在程序中注明。

要了解如何在 Amazon 应用程序恢复控制器（ARC）中使用恢复和路由控制 API 操作，请参阅[路由控制 API 操作](actions.routing-control.md)。

# 创建安全规则的步骤


1. 访问 [https://console.aws.amazon.com/route53recovery/home#/dashboard](https://console.aws.amazon.com/route53recovery/home#/dashboard)，打开 ARC 控制台。

1. 选择**路由控制**。

1. 在**路由控制**页面上，选择一个控制面板。

1. 在控制面板详细信息页面上，选择**操作**，然后选择**添加安全规则**。

1. 选择要添加的规则类型：**断言规则**或**门控规则**。

1. 选择一个名称，然后（可选）更改等待时间。

1. 指定安全规则的配置选项。
   + 对于断言规则，请指定断言的路由控制。
   + 对于门控规则，请指定门控路由控制和目标路由控制。

   对于两种规则，通过选择类型和阈值以及规则是否反转来指定规则配置。
**注意**  
要了解有关指定断言规则的更多信息，请参阅 Amazon 应用程序恢复控制器的路由控制 API 参考指南中提供的[AssertionRule](https://docs.aws.amazon.com/recovery-cluster/latest/api/safetyrule.html#safetyrule-model-assertionrule)操作信息。要了解有关指定门控规则的更多信息，请参阅 Amazon 应用程序恢复控制器的路由控制 API 参考指南中为该[GatingRule](https://docs.aws.amazon.com/recovery-cluster/latest/api/safetyrule.html#safetyrule-model-gatingrule)操作提供的信息。

1. 选择**创建**。

# 在控制台上编辑或删除安全规则
<a name="routing-control.edit-delete-safety-rule"></a>

本节中的步骤说明了如何在 ARC 控制台中编辑或删除安全规则。您只能对安全规则进行有限的编辑，以更改名称或更新等待时间。要进行其他更改，请删除并重新创建安全规则。

要了解如何在 Amazon 应用程序恢复控制器（ARC）中使用 API 操作，请参阅[路由控制 API 操作](actions.routing-control.md)。

# 删除安全规则的步骤


1. 访问 [https://console.aws.amazon.com/route53recovery/home#/dashboard](https://console.aws.amazon.com/route53recovery/home#/dashboard)，打开 ARC 控制台。

1. 选择**路由控制**。

1. 在**路由控制**页面上，选择一个控制面板。

1. 在控制面板详细信息页面上，选择安全规则，然后选择**删除**或**编辑**。

# 覆盖安全规则以重新路由流量
<a name="routing-control.override-safety-rule"></a>

在某些情况下，您可能想绕过通过配置的安全规则强制执行的路由控制保护措施。例如，您可能想要快速失效转移以进行灾难恢复，而一个或多个安全规则可能会意外阻止您更新路由控制状态以重新路由流量。在这种“打碎玻璃”的情况下，您可以覆盖一个或多个安全规则来更改路由控制状态并对应用程序进行失效转移。

使用带`safety-rules-to-override`参数的或`update-routing-control-states` AWS CLI 命令更新路由控制状态（或多个路由控制状态）时，可以绕过安全规则。`update-routing-control-state`使用您要覆盖的安全规则的 Amazon 资源名称 (ARN) 来指定参数，或者指定以逗号分隔的列表 ARNs 来覆盖两个或多个安全规则。

当安全规则阻止路由控制状态更新时，错误消息将包含阻止更新的规则的 ARN。您可以记下 ARN，然后在路由控制状态 CLI 命令的安全规则覆盖参数中指定它。

**注意**  
由于您正在更新的路由控制可能设有多个安全规则，因此您可能在运行 CLI 命令更新路由控制状态时只覆盖一个安全规则，而收到另一个安全规则阻止更新的错误。继续将安全规则 ARNs 添加到更新命令中要覆盖的规则列表中，以逗号分隔，直到更新命令成功完成。

要详细了解如何将该`SafetyRulesToOverride`属性与 API 和一起使用 SDKs，请参阅[UpdateRoutingControlState](https://docs.aws.amazon.com/routing-control/latest/APIReference/API_UpdateRoutingControlState.html)。

以下是覆盖安全规则以更新路由控制状态的两个 CLI 命令示例。

**覆盖一个安全规则**  

```
aws route53-recovery-cluster --region us-west-2 update-routing-control-state \
				--routing-control-arn \
				arn:aws:route53-recovery-control::111122223333:controlpanel/0123456bbbbbbb0123456bbbbbb0123456/routingcontrol/abcdefg1234567 \
				--routing-control-state On \
				--safety-rules-to-override arn:aws:route53-recovery-control::111122223333:controlpanel/0123456bbbbbbb0123456bbbbbb0123456/safetyrule/yyyyyyy8888888 \
				--endpoint-url https://host-dddddd.us-west-2.example.com/v1
```

**覆盖两个安全规则**  

```
aws route53-recovery-cluster --region us-west-2 update-routing-control-state \
				--routing-control-arn \
				arn:aws:route53-recovery-control::111122223333:controlpanel/0123456bbbbbbb0123456bbbbbb0123456/routingcontrol/abcdefg1234567 \
				--routing-control-state On \
				--safety-rules-to-override "arn:aws:route53-recovery-control::111122223333:controlpanel/0123456bbbbbbb0123456bbbbbb0123456/safetyrule/yyyyyyy8888888" \
				"arn:aws:route53-recovery-control::111122223333:controlpanel/0123456bbbbbbb0123456bbbbbb0123456/safetyrule/qqqqqqq7777777"
				--endpoint-url https://host-dddddd.us-west-2.example.com/v1
```

# ARC 中对集群的跨账户支持
<a name="routing-control.failover-different-accounts"></a>

Amazon 应用程序恢复控制器 (ARC) 与集成 AWS Resource Access Manager 以实现资源共享。 AWS RAM 是一项使您能够与他人共享资源 AWS 账户 或通过共享资源的服务 AWS Organizations。对于 ARC 路由控制，您可以共享集群资源。

使用 AWS RAM，您可以通过创建资源共享来*共享您拥有的资源*。资源共享指定要共享的资源以及共享资源的*参与者*。参与者可以包括：
+ 特定于所有者组织 AWS 账户 内部或外部 AWS Organizations
+ 其组织内部的组织单位 AWS Organizations
+ 它的整个组织都在 AWS Organizations

有关的更多信息 AWS RAM，请参阅《*[AWS RAM 用户指南》](https://docs.aws.amazon.com/ram/latest/userguide/)*。

通过使用 AWS Resource Access Manager 在 ARC 中跨账户共享集群资源，您可以使用一个集群来托管由多个不同账户拥有的控制面板和路由控件 AWS 账户。当您选择共享集群时，您指定的其他 AWS 账户 人可以使用该集群来托管自己的控制面板和路由控件，从而可以对不同团队之间的路由功能进行更多的控制和灵活性。

AWS RAM 是一项可帮助 AWS 客户安全地共享资源的服务 AWS 账户。借 AWS RAM助，您可以使用 IAM 角色和用户在 AWS Organizations组织或组织单位 (OUs) 内共享资源。 AWS RAM 是一种集中和受控的群集共享方式。

通过共享集群，可以减少组织所需的集群总数。集群共享后，您可以将运行集群的总成本分摊给不同的团队，从而以更低的成本更大限度地发挥 ARC 的优势。（创建托管在集群中的资源不会给拥有者或参与者增加成本。） 跨账户共享集群还可以简化将多个应用程序加载到 ARC 的过程，尤其是在大量应用程序分布在多个账户和运营团队中的情况下。

要开始在 ARC 中进行跨账户共享，请在 AWS RAM中创建资源共享**。资源共享指定有权共享您的账户所拥有的集群的*参与者*。然后，参与者可以在集群中创建资源，例如控制面板和路由控件，方法是使用 AWS 管理控制台 或运行 ARC API 操作 AWS SDKs。 AWS Command Line Interface 

本主题说明如何共享您拥有的资源以及如何使用共享给您的资源。

**Topics**
+ [共享集群的先决条件](#sharing-prereqs)
+ [共享集群](#sharing-share)
+ [取消共享集群](#sharing-unshare)
+ [识别共享集群](#sharing-identify)
+ [共享集群的责任和权限](#sharing-perms)
+ [成本计费](#sharing-billing)
+ [配额](#sharing-quotas)

## 共享集群的先决条件
<a name="sharing-prereqs"></a>
+ 要共享集群，您必须在自己的集群中拥有该集群 AWS 账户。这意味着资源必须分配或预调配到您的账户。您无法共享已共享给您的集群。
+ 要与您的组织或 AWS Organizations内的组织单位共享集群，您必须允许与 AWS Organizations共享。有关更多信息，请参阅《*AWS RAM 用户指南*》中的[允许与 AWS Organizations共享](https://docs.aws.amazon.com/ram/latest/userguide/getting-started-sharing.html#getting-started-sharing-orgs)。
+ AWS RAM 集群等全球资源的资源共享必须在美国东部（弗吉尼亚北部）区域 (us-east-1) 创建。

## 共享集群
<a name="sharing-share"></a>

当您共享自己拥有的集群时，您指定共享该集群的参与者可以在集群中创建和托管自己的 ARC 资源。

要共享集群，您必须将它添加到资源共享中。资源共享是一项 AWS RAM 资源，可让您跨 AWS 账户共享资源。资源共享将指定要共享的资源以及共享资源的参与者。要共享集群，您可以创建新的资源共享或将资源添加到现有资源共享。要创建新的资源共享，您可以使用[AWS RAM 控制台](https://console.aws.amazon.com/ram)，也可以将 AWS RAM API 操作与 AWS Command Line Interface 或一起使用 AWS SDKs。

如果您是组织中组织的一员， AWS Organizations 并且启用了组织内部共享，则系统会自动授予组织中的参与者访问共享群集的权限。否则，参与者会收到加入资源共享的邀请，并在接受邀请后获得对共享集群的访问权限。

您可以使用 AWS RAM 控制台共享您拥有的集群，也可以通过使用或的 AWS RAM API 操作来共享您拥有的 AWS CLI 集群 SDKs。

**使用 AWS RAM 控制台共享您拥有的集群**  
请参阅《AWS RAM 用户指南**》中的[创建资源共享](https://docs.aws.amazon.com/ram/latest/userguide/working-with-sharing-create.html)。

**要共享您拥有的集群，请使用 AWS CLI**  
使用 [create-resource-share](https://docs.aws.amazon.com/cli/latest/reference/ram/create-resource-share.html) 命令。

**授予共享集群的权限**

跨账户共享集群需要通过共享集群的 IAM 委托人的权限 AWS RAM。

建议使用 `AmazonRoute53RecoveryControlConfigFullAccess` 托管 IAM 策略，确保 IAM 主体拥有共享和使用所共享集群的必需权限。

使用自定义 IAM 策略共享集群需要该集群的 `route53-recovery-control-config:PutResourcePolicy`、`route53-recovery-control-config:GetResourcePolicy`、和 `route53-recovery-control-config:DeleteResourcePolicy` 权限。`PutResourcePolicy` 和 `DeleteResourcePolicy` 是仅限权限的 IAM 操作。在没有这些权限 AWS RAM 的情况下尝试通过共享集群将导致错误。

有关 AWS Resource Access Manager 使用 IAM 的方式的更多信息，请参阅*AWS RAM 用户指南*中的[如何 AWS Resource Access Manager 使用 IAM](https://docs.aws.amazon.com/ram/latest/userguide/security-iam-policies.html)。

## 取消共享集群
<a name="sharing-unshare"></a>

取消共享集群时，以下规则适用于参与者和拥有者：
+ 现有参与者资源将继续留存在已取消共享的集群中。
+ 参与者可以继续在已取消共享的集群中更新路由控制状态，以管理应用程序失效转移的路由。
+ 参与者不能再在已取消共享的集群中创建新资源。
+ 如果参与者在已取消共享的集群中仍有资源，则拥有者无法删除共享集群。

要取消共享您拥有的共享集群，必须从资源共享中将其删除。您可以通过使用 AWS RAM 控制台或将 AWS RAM API 操作与或结合使用 API 操作来实现此 AWS CLI 目的 SDKs。

**使用控制台取消共享您拥有的共享集群 AWS RAM**  
请参阅《AWS RAM 用户指南》中的[更新资源共享](https://docs.aws.amazon.com/ram/latest/userguide/working-with-sharing.html#working-with-sharing-update)。

**要取消共享您拥有的共享集群，请使用 AWS CLI**  
使用 [disassociate-resource-share](https://docs.aws.amazon.com/cli/latest/reference/ram/disassociate-resource-share.html) 命令。

## 识别共享集群
<a name="sharing-identify"></a>

拥有者和参与者可以通过查看 AWS RAM中的信息来识别共享集群。他们还可以通过使用 ARC 控制台和 AWS CLI获取有关共享资源的信息。

一般而言，要详细了解您已共享或已与您共享的资源，请参阅《 AWS Resource Access Manager 用户指南》中的信息：
+ 作为拥有者，您可以使用 AWS RAM查看与他人共享的所有资源。有关更多信息，请参阅[中的查看共享资源 AWS RAM](https://docs.aws.amazon.com/ram/latest/userguide/working-with-sharing-view-sr.html)。
+ 作为参与者，您可以使用查看与您共享的所有资源 AWS RAM。有关更多信息，请参阅[中的查看共享资源 AWS RAM](https://docs.aws.amazon.com/ram/latest/userguide/working-with-shared-view-sr.html)。

作为所有者，您可以通过查看中的信息 AWS 管理控制台 或使用 with ARC API 操作来确定是否共享集群。 AWS Command Line Interface 

**使用控制台确定您拥有的集群是否已共享的步骤**  
在 AWS 管理控制台集群的详细信息页面上，查看**集群共享状态**。

**要确定您拥有的集群是否已共享，请使用 AWS CLI**  
使用 [ get-resource-policy](https://docs.aws.amazon.com/recovery-cluster/latest/api/resourcepolicy-resourcearn.html.html) 命令。如果集群有资源策略，则该命令将返回有关该策略的信息。

作为参与者，当集群共享给您时，您通常必须接受共享。此外，集群的**拥有者**字段包含集群拥有者的帐户。

## 共享集群的责任和权限
<a name="sharing-perms"></a>

### 拥有者的权限
<a name="perms-owner"></a>

当您与其他人共享您拥有的集群时 AWS 账户，允许使用该集群的参与者可以在集群中创建控制面板、路由控件和其他资源。

作为集群的拥有者，您负责创建、管理和删除集群。您不能修改或删除参与者创建的资源，例如路由控制和安全规则。例如，您不能更新参与者创建的路由控制，以更改路由控制状态。

但是，您可以查看参与者在您拥有的集群中创建的路由控制的详细信息。例如，您可以使用 AWS Command Line Interface 或调用 [ARC 路由控制 API 操作](actions.routing-control.md)来查看路由控制状态 AWS SDKs。

如果您需要修改参与者创建的资源，他们可以在 IAM 中设置一个拥有资源访问权限的角色，并将您的账户添加到该角色中。

### 参与者的权限
<a name="perms-consumer"></a>

一般而言，参与者可以创建和使用他们在共享的集群中创建的控制面板、路由控制、安全规则和运行状况检查。只有他们在共享集群中拥有资源，才能查看、修改或删除这些集群资源。例如，参与者可以为自己创建的控制面板创建和删除安全规则。

以下限制适用于参与者：
+ 参与者无法查看、修改或删除由使用共享集群的其他账户创建的控制面板。
+ 参与者无法查看、创建或修改其他账户在共享集群中创建的资源的路由控制，包括路由控制状态。
+ 参与者无法创建、修改或查看其他账户在共享集群中创建的安全规则。
+ 参与者无法在共享集群的默认控制面板中添加资源，因为它属于集群拥有者。

如前所述，参与者无法在共享集群的默认控制面板中创建路由控制，因为集群拥有者拥有默认控制面板。但是，集群拥有者可以创建跨账户 IAM 角色，以提供访问集群默认控制面板的权限。然后，拥有者可以向参与者授予权限以担任该角色，这样参与者就可以访问默认控制面板，按照拥有者通过角色权限指定的方式使用该面板。

## 成本计费
<a name="sharing-billing"></a>

ARC 中集群的拥有者需要支付与该集群相关的费用。对于集群拥有者或参与者来说，创建托管在集群中的资源不会产生任何额外成本。

有关详细定价信息和示例，请参阅 [Amazon 应用程序恢复控制器 (ARC) 定价](https://aws.amazon.com/application-recovery-controller/pricing/)。

## 配额
<a name="sharing-quotas"></a>

在共享集群中创建的所有资源（包括有权访问共享集群的所有参与者创建的资源）都计入该群集和其他资源（例如路由控制）的有效限额。如果共享集群资源的账户的配额高于集群所有者的配额，则集群所有者的配额优先于参与共享的账户的配额。

 为了更好地理解其工作原理，请参阅以下示例。为了说明配额如何与资源共享一起使用，在这些示例中，假设集群所有者是所有者，而与之共享集群的账户是参与者。

**控制面板配额**  
对于所有者每个集群的控制面板总数，系统会强制实施配额。  
例如，假设所有者每个集群的控制面板数量配额为 50，并且集群中已有 13 个控制面板。现在，假设参与者将此配额设置为 150。在这种情况下，参与者只能在共享集群中创建最多 37 个控制面板（即 50-13）。  
此外，如果共享集群的其他账户也创建了控制面板，则这些控制面板也都计入集群总配额（50 个控制面板）。

**路由控制配额**  
路由控制有多个配额：每个控制面板的配额、每个集群的配额以及每个安全规则的配额。对于所有这些配额，优先考虑所有者的配额。  
例如，假设所有者每个集群的路由控制数量配额为 300，并且集群中已有 300 个路由控制。现在，假设参与者已将此配额设置为 500。在这种情况下，参与者无法在共享集群中创建任何新的路由控制。

**安全规则配额**  
对于所有者每个控制面板配额的安全规则数量，系统会强制实施配额。  
例如，假设所有者每个控制面板的安全规则数量配额为 20，参与者将此配额设置为 80。在这种情况下，由于所有者的下限优先，因此参与者只能在共享集群的控制面板中创建最多 20 条安全规则。

有关路由控制配额的列表，请参阅[路由控制的配额](routing-control.quotas.md)。

# Amazon 应用程序恢复控制器（ARC）中路由控制的日志记录和监控
<a name="monitoring-routing"></a>

您可以使用 AWS CloudTrail 监控 Amazon 应用程序恢复控制器 (ARC) 中的路由控制，以分析模式并帮助解决问题。

**Topics**
+ [使用 AWS CloudTrail 记录 ARC API 调用日志](cloudtrail-routing.md)

# 使用 AWS CloudTrail 记录 ARC API 调用日志
<a name="cloudtrail-routing"></a>

Amazon 应用程序恢复控制器（ARC）与 AWS CloudTrail 集成，后者是一项服务，可用于记录 ARC 中由用户、角色或 AWS 服务所采取的操作。CloudTrail 将 ARC 的所有 API 调用作为事件捕获。捕获的调用包含来自 ARC 控制台的调用和对 ARC API 操作的代码调用。

如果您创建跟踪，则可以使 CloudTrail 事件持续传送到 Amazon S3 存储桶（包括 ARC 的事件）。如果您不配置跟踪，则仍可在 CloudTrail 控制台中的**事件历史记录**中查看最新事件。

使用 CloudTrail 收集的信息，您可以确定向 ARC 发出了什么请求、发出请求的 IP 地址、请求方、请求时间以及其他详细信息。

要了解有关 CloudTrail 的更多信息，请参阅《AWS CloudTrail 用户指南》[https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-user-guide.html](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-user-guide.html)。

## CloudTrail 中的 ARC 信息
<a name="service-name-info-in-cloudtrail"></a>

在您创建 AWS 账户时，将在该账户上启用 CloudTrail。当 ARC 中发生活动时，该活动将记录在 CloudTrail 事件中，并与其他 AWS 服务事件一同保存在**事件历史记录**中。您可以在 AWS 账户 中查看、搜索和下载最新事件。有关更多信息，请参阅 [Working with CloudTrail Event history](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/view-cloudtrail-events.html)。

对于 AWS 账户中的事件的持续记录（包括 ARC 的事件），请创建跟踪记录。通过*跟踪记录*，CloudTrail 可将日志文件传送至 Amazon S3 存储桶。预设情况下，在控制台中创建跟踪记录时，此跟踪记录应用于所有AWS 区域。此跟踪记录在 AWS 分区中记录所有区域中的事件，并将日志文件传送至您指定的 Amazon S3 存储桶。此外，您可以配置其他 AWS 服务，进一步分析在 CloudTrail 日志中收集的事件数据并采取行动。有关更多信息，请参阅下列内容：
+ [创建跟踪记录概述](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-create-and-update-a-trail.html)
+ [CloudTrail 支持的服务和集成](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-aws-service-specific-topics.html)
+ [Configuring Amazon SNS notifications for CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/configure-sns-notifications-for-cloudtrail.html)
+ [从多个区域接收 CloudTrail 日志文件](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/receive-cloudtrail-log-files-from-multiple-regions.html)和[从多个账户接收 CloudTrail 日志文件](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-receive-logs-from-multiple-accounts.html)

所有 ARC 操作由 CloudTrail 记录，[Amazon 应用程序恢复控制器的恢复就绪 API 参考指南](https://docs.aws.amazon.com/recovery-readiness/latest/api/)、[Amazon 应用程序恢复控制器的恢复控制配置 API 参考指南](https://docs.aws.amazon.com/recovery-cluster/latest/api/)和 [Amazon 应用程序恢复控制器的路由控制 API 参考指南](https://docs.aws.amazon.com/routing-control/latest/APIReference/)中有详细说明。例如，对 `CreateCluster`、`UpdateRoutingControlState` 和 `CreateRecoveryGroup` 操作的调用会在 CloudTrail 日志文件中生成条目。

每个事件或日志条目都包含有关生成请求的人员信息。身份信息可帮助您确定以下内容：
+ 请求是使用根用户凭证还是 AWS Identity and Access Management（IAM）用户凭证发出的。
+ 请求是使用角色还是联合用户的临时安全凭证发出的。
+ 请求是否由其他 AWS 服务发出。

有关更多信息，请参阅 [CloudTrail userIdentity 元素](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-event-reference-user-identity.html)。

## 在事件历史记录中查看 ARC 事件
<a name="amazon-arc-events-in-cloudtrail-event-history"></a>

CloudTrail 可让您在 **Event history**（事件历史记录）中查看最新事件。要查看 ARC API 请求事件，您必须在控制台顶部的“区域”选择器中选择**美国西部（俄勒冈州）**。有关更多信息，请参见《AWS CloudTrail 用户指南》的 [使用 CloudTrail 事件历史记录](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/view-cloudtrail-events.html)**。

## 了解 ARC 日志文件条目
<a name="understanding-service-name-entries"></a>

跟踪是一种配置，可用于将事件作为日志文件传送到您指定的 Amazon S3 存储桶。CloudTrail 日志文件包含一个或多个日记账条目。一个事件表示来自任何源的一个请求，包括有关所请求的操作、操作的日期和时间、请求参数等方面的信息。CloudTrail 日志文件不是公用 API 调用的有序堆栈跟踪，因此它们不会按任何特定顺序显示。

下面的示例显示了一个 CloudTrail 日志条目，该条目说明了用于配置路由控制的 `CreateCluster` 操作。

```
{
  "eventVersion": "1.08",
   "userIdentity": {
     "type": "IAMUser",
     "principalId": "A1B2C3D4E5F6G7EXAMPLE",
     "arn": "arn:aws:iam::111122223333:user/smithj",
     "accountId": "111122223333",
     "accessKeyId": "AKIAIOSFODNN7EXAMPLE",
     "sessionContext": {
          "sessionIssuer": {
              "type": "Role",
              "principalId": "A1B2C3D4E5F6G7EXAMPLE",
              "arn": "arn:aws:iam::111122223333:role/smithj",
              "accountId": "111122223333",
              "userName": "smithj"
          },
          "webIdFederationData": {},
          "attributes": {
              "mfaAuthenticated": "false",
              "creationDate": "2021-06-30T04:44:41Z"
          }
      }
  },
  "eventTime": "2021-06-30T04:45:46Z",
  "eventSource": "route53-recovery-control-config.amazonaws.com",
  "eventName": "CreateCluster",
  "awsRegion": "us-west-2",
  "sourceIPAddress": "192.0.2.50",
  "userAgent": "aws-cli/2.0.0 Python/3.8.2 Darwin/19.6.0 botocore/2.0.0dev7",
  "requestParameters": {
      "ClientToken": "12345abcdef-1234-5678-abcd-12345abcdef",
      "ClusterName": "XYZCluster"
  },
  "responseElements": {
      "Cluster": {
          "Arn": "arn:aws:route53-recovery-control::012345678901:cluster/abc123456-aa11-bb22-cc33-abc123456",
          "ClusterArn": "arn:aws:route53-recovery-control::012345678901:cluster/abc123456-aa11-bb22-cc33-abc123456",
          "Name": "XYZCluster",
          "Status": "PENDING"
      }
  },
  "requestID": "6090509a-5a97-4be6-8e6a-7d73example",
  "eventID": "9cab44ef-0777-41e6-838f-f249example",
  "readOnly": false,
  "eventType": "AwsApiCall",
  "managementEvent": true,
  "eventCategory": "Management",
  "recipientAccountId": "111122223333"
}
```

下面的示例显示了一个 CloudTrail 日志条目，该条目说明了路由配置的 `UpdateRoutingControlState` 操作。

```
{
  "eventVersion": "1.08",
   "userIdentity": {
     "type": "AssumedRole",
     "principalId": "A1B2C3D4E5F6G7EXAMPLE",
     "arn": "arn:aws:sts::111122223333:assumed-role/admin/smithj",
     "accountId": "111122223333",
     "accessKeyId": "AKIAIOSFODNN7EXAMPLE",
     "sessionContext": {
          "sessionIssuer": {
              "type": "Role",
              "principalId": "A1B2C3D4E5F6G7EXAMPLE",
              "arn": "arn:aws:iam::111122223333:role/admin",
              "accountId": "111122223333",
              "userName": "admin"
          },
          "webIdFederationData": {},
          "attributes": {
              "mfaAuthenticated": "false",
              "creationDate": "2021-06-30T04:44:41Z"
          }
      }
  },
  "eventTime": "2021-06-30T04:45:46Z",
  "eventSource": "route53-recovery-control-config.amazonaws.com",
  "eventName": "UpdateRoutingControl",
  "awsRegion": "us-west-2",
  "sourceIPAddress": "192.0.2.50",
  "userAgent": "aws-cli/2.0.0 Python/3.8.2 Darwin/19.6.0 botocore/2.0.0dev7",
  "requestParameters": {
      "RoutingControlName": "XYZRoutingControl3",
      "RoutingControlArn": "arn:aws:route53-recovery-control::012345678:controlpanel/0123456bbbbbbb0123456bbbbbb0123456/routingcontrol/abcdefg1234567"
  },
  "responseElements": {
      "RoutingControl": {
          "ControlPanelArn": "arn:aws:route53-recovery-control::012345678:controlpanel/0123456bbbbbbb0123456bbbbbb0123456",
          "Name": "XYZRoutingControl3",
          "Status": "DEPLOYED",
          "RoutingControlArn": "arn:aws:route53-recovery-control::012345678:controlpanel/0123456bbbbbbb0123456bbbbbb0123456/routingcontrol/abcdefg1234567"
      }
  },
  "requestID": "6090509a-5a97-4be6-8e6a-7d73example",
  "eventID": "9cab44ef-0777-41e6-838f-f249example",
  "readOnly": false,
  "eventType": "AwsApiCall",
  "managementEvent": true,
  "eventCategory": "Management",
  "recipientAccountId": "111122223333"
}
```

# 路由控制的身份管理和访问控制
<a name="security-iam-routing"></a>

AWS Identity and Access Management (IAM) AWS 服务 可帮助管理员安全地控制对 AWS 资源的访问权限。IAM 管理员控制可以通过“身份验证”**（登录）和“授权”**（具有权限）使用 ARC 资源的人员。您可以使用 IAM AWS 服务 ，无需支付额外费用。

**Topics**
+ [路由控制如何与 IAM 结合使用](security_iam_service-with-iam-routing.md)
+ [基于身份的策略示例](security_iam_id-based-policy-examples-routing.md)
+ [AWS 托管策略](security-iam-awsmanpol-routing.md)

# Amazon 应用程序恢复控制器（ARC）中的路由控制如何与 IAM 结合使用
<a name="security_iam_service-with-iam-routing"></a>

在使用 IAM 管理对 Amazon 应用程序恢复控制器（ARC）中路由控制的访问之前，您应该了解哪些 IAM 功能可用于路由转移。


**可与 Amazon 应用程序恢复控制器（ARC）中的路由控制结合使用的 IAM 功能**  

| IAM 功能 | 路由控制支持 | 
| --- | --- | 
|  [基于身份的策略](#security_iam_service-with-iam-routing-id-based-policies)  |   是  | 
|  [基于资源的策略](#security_iam_service-with-iam-routing-resource-based-policies)  |   否   | 
|  [策略操作](#security_iam_service-with-iam-routing-id-based-policies-actions)  |   是  | 
|  [策略资源](#security_iam_service-with-iam-routing-id-based-policies-resources)  |   是  | 
|  [策略条件键](#security_iam_service-with-iam-routing-id-based-policies-conditionkeys)  |   是  | 
|  [ACLs](#security_iam_service-with-iam-routing-acls)  |   否   | 
|  [ABAC（策略中的标签）](#security_iam_service-with-iam-routing-tags)  |   部分  | 
|  [临时凭证](#security_iam_service-with-iam-routing-roles-tempcreds)  |   是  | 
|  [主体权限](#security_iam_service-with-iam-routing-principal-permissions)  |   是  | 
|  [服务角色](#security_iam_service-with-iam-routing-roles-service)  |   否   | 
|  [服务关联角色](#security_iam_service-with-iam-routing-roles-service-linked)  |   否   | 

要全面了解 AWS 服务如何与大多数 IAM 功能配合使用，请参阅 IAM *用户指南中的与 IAM* [配合使用的AWS 服务](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html)。

## 适用于 ARC 的基于身份的策略
<a name="security_iam_service-with-iam-routing-id-based-policies"></a>

**支持基于身份的策略：**是

基于身份的策略是可附加到身份（如 IAM 用户、用户组或角色）的 JSON 权限策略文档。这些策略控制用户和角色可在何种条件下对哪些资源执行哪些操作。要了解如何创建基于身份的策略，请参阅《IAM 用户指南》**中的[使用客户管理型策略定义自定义 IAM 权限](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html)。

通过使用 IAM 基于身份的策略，您可以指定允许或拒绝的操作和资源以及允许或拒绝操作的条件。要了解可在 JSON 策略中使用的所有元素，请参阅《IAM 用户指南》**中的 [IAM JSON 策略元素引用](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html)。

要查看适用于路由控制的 ARC 基于身份的策略的示例，请参阅 [ARC 中路由控制的基于身份的策略示例](security_iam_id-based-policy-examples-routing.md)。

## 路由控制中基于资源的策略
<a name="security_iam_service-with-iam-routing-resource-based-policies"></a>

**支持基于资源的策略：**否 

基于资源的策略是附加到资源的 JSON 策略文档。基于资源的策略的示例包括 IAM 角色信任策略和 Amazon S3 存储桶策略。在支持基于资源的策略的服务中，服务管理员可以使用它们来控制对特定资源的访问。

## 适用于路由控制的策略操作
<a name="security_iam_service-with-iam-routing-id-based-policies-actions"></a>

**支持策略操作：**是

管理员可以使用 AWS JSON 策略来指定谁有权访问什么。也就是说，哪个**主体**可以对什么**资源**执行**操作**，以及在什么**条件**下执行。

JSON 策略的 `Action` 元素描述可用于在策略中允许或拒绝访问的操作。在策略中包含操作以授予执行关联操作的权限。

要查看路由控制的 ARC 操作列表，请参阅《服务授权参考》**中的 [Amazon Route 53 恢复控制定义的操作](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonroute53recoverycontrols.html#amazonroute53recoverycontrols-actions-as-permissions)和 [Amazon Route 53 恢复集群定义的操作](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonroute53recoverycontrols.html#amazonroute53recoverycluster-actions-as-permissions)。

ARC 中路由控制的策略操作在操作前使用以下前缀，具体取决于所使用的 API：

```
route53-recovery-control-config
route53-recovery-cluster
```

要在单个语句中指定多项操作，请使用逗号将它们隔开。例如，可以：

```
"Action": [
      "route53-recovery-control-config:action1",
      "route53-recovery-control-config:action2"
         ]
```

您也可以使用通配符（\$1）指定多个操作。例如，要指定以单词 `Describe` 开头的所有操作，包括以下操作：

```
"Action": "route53-recovery-control-config:Describe*"
```

要查看适用于路由控制的 ARC 基于身份的策略的示例，请参阅 [ARC 中路由控制的基于身份的策略示例](security_iam_id-based-policy-examples-routing.md)。

## ARC 的策略资源
<a name="security_iam_service-with-iam-routing-id-based-policies-resources"></a>

**支持策略资源：**是

管理员可以使用 AWS JSON 策略来指定谁有权访问什么。也就是说，哪个**主体**可以对什么**资源**执行**操作**，以及在什么**条件**下执行。

`Resource` JSON 策略元素指定要向其应用操作的一个或多个对象。作为最佳实践，请使用其 [Amazon 资源名称（ARN）](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference-arns.html)指定资源。对于不支持资源级权限的操作，请使用通配符 (\$1) 指示语句应用于所有资源。

```
"Resource": "*"
```

在《服务授权参考》**中，您可以看到以下与 ARC 相关的信息：

要查看资源类型及其列表 ARNs，以及您可以使用每种资源的 ARN 指定的操作，请参阅《*服务授权*参考》中的以下主题：
+ [Amazon Route 53 恢复控制定义的操作](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonroute53recoverycontrols.html#amazonroute53recoverycontrols-actions-as-permissions)
+ [Amazon Route 53 恢复集群定义的操作](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonroute53recoverycontrols.html#amazonroute53recoverycluster-actions-as-permissions)

要查看适用于路由控制的 ARC 基于身份的策略的示例，请参阅 [ARC 中路由控制的基于身份的策略示例](security_iam_id-based-policy-examples-routing.md)。

## ARC 的策略条件键
<a name="security_iam_service-with-iam-routing-id-based-policies-conditionkeys"></a>

**支持特定于服务的策略条件键：**是

管理员可以使用 AWS JSON 策略来指定谁有权访问什么。也就是说，哪个**主体**可以对什么**资源**执行**操作**，以及在什么**条件**下执行。

`Condition` 元素根据定义的条件指定语句何时执行。您可以创建使用[条件运算符](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html)（例如，等于或小于）的条件表达式，以使策略中的条件与请求中的值相匹配。要查看所有 AWS 全局条件键，请参阅 *IAM 用户指南*中的[AWS 全局条件上下文密钥](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html)。

要查看 ARC 路由控制条件键的列表，请参阅《服务授权参考》**中的以下主题：
+ [Amazon Route 53 恢复控制的条件键](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonroute53recoverycontrols.html#amazonroute53recoverycontrols-policy-keys)
+ [Amazon Route 53 恢复集群的条件键](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonroute53recoverycontrols.html#amazonroute53recoverycluster-policy-keys)

要查看可与条件键配合使用的操作和资源，请参阅《服务授权参考》**中的以下主题：
+ 要查看资源类型及其列表 ARNs，请参阅 Amazon [Route 53 恢复控制定义的操作和 Amaz](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonroute53recoverycontrols.html#amazonroute53recoverycontrols-actions-as-permissions) [on Route 53 恢复集群定义的操作](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonroute53recoverycontrols.html#amazonroute53recoverycluster-actions-as-permissions)。
+ 要查看您可以使用每个资源的 ARN 指定的操作的列表，请参阅 [Amazon Route 53 恢复控制定义的操作](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonroute53recoverycontrols.html#amazonroute53recoverycontrols-resources-for-iam-policies)和 [Amazon Route 53 恢复集群定义的操作](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonroute53recoverycontrols.html#amazonroute53recoverycluster-resources-for-iam-policies)。

要查看适用于路由控制的 ARC 基于身份的策略的示例，请参阅 [ARC 中路由控制的基于身份的策略示例](security_iam_id-based-policy-examples-routing.md)。

## ARC 中的访问控制列表 (ACLs)
<a name="security_iam_service-with-iam-routing-acls"></a>

**支持 ACLs：**否 

访问控制列表 (ACLs) 控制哪些委托人（账户成员、用户或角色）有权访问资源。 ACLs 与基于资源的策略类似，尽管它们不使用 JSON 策略文档格式。

## 用于 ARC 的基于属性的访问权限控制（ABAC）
<a name="security_iam_service-with-iam-routing-tags"></a>

**支持 ABAC（策略中的标签）：**部分支持

基于属性的访问权限控制（ABAC）是一种授权策略，该策略基于称为标签的属性来定义权限。您可以将标签附加到 IAM 实体和 AWS 资源，然后设计 ABAC 策略以允许在委托人的标签与资源上的标签匹配时进行操作。

要基于标签控制访问，您需要使用 `aws:ResourceTag/key-name``aws:RequestTag/key-name` 或 `aws:TagKeys` 条件键在策略的[条件元素](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html)中提供标签信息。

如果某个服务对于每种资源类型都支持所有这三个条件键，则对于该服务，该值为**是**。如果某个服务仅对于部分资源类型支持所有这三个条件键，则该值为**部分**。

有关 ABAC 的更多信息，请参阅《IAM 用户指南》**中的[使用 ABAC 授权定义权限](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction_attribute-based-access-control.html)。要查看设置 ABAC 步骤的教程，请参阅《IAM 用户指南》**中的[使用基于属性的访问权限控制（ABAC）](https://docs.aws.amazon.com/IAM/latest/UserGuide/tutorial_attribute-based-access-control.html)。

ARC 路由控制包括对 ABAC 的以下支持：
+ 恢复控制配置支持 ABAC。
+ 恢复集群不支持 ABAC。

## 对 ARC 使用临时凭证
<a name="security_iam_service-with-iam-routing-roles-tempcreds"></a>

**支持临时凭证：**是

临时证书提供对 AWS 资源的短期访问权限，并且是在您使用联合身份或切换角色时自动创建的。 AWS 建议您动态生成临时证书，而不是使用长期访问密钥。有关更多信息，请参阅《IAM 用户指南》**中的 [IAM 中的临时安全凭证](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp.html)和[使用 IAM 的。AWS 服务](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html)

## ARC 的跨服务主体权限
<a name="security_iam_service-with-iam-routing-principal-permissions"></a>

**支持转发访问会话（FAS）：**是

当您使用 IAM 实体（用户或角色）在中执行操作时 AWS，您被视为委托人。策略向主体授予权限。使用某些服务时，您可能会执行一个操作，此操作然后在不同服务中触发另一个操作。在这种情况下，您必须具有执行这两个操作的权限。

要查看某个操作是否需要策略中的其他相关操作，请参阅《服务授权参考》**中的以下主题：
+ [Amazon Route 53 恢复集群](https://docs.aws.amazon.com//service-authorization/latest/reference/list_amazonroute53recoverycluster.html)
+ [Amazon Route 53 恢复控制](https://docs.aws.amazon.com//service-authorization/latest/reference/list_amazonroute53recoverycontrols.html)

## ARC 的服务角色
<a name="security_iam_service-with-iam-routing-roles-service"></a>

**支持服务角色：**否 

 服务角色是由一项服务担任、代表您执行操作的 [IAM 角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html)。IAM 管理员可以在 IAM 中创建、修改和删除服务角色。有关更多信息，请参阅《IAM 用户指南》**中的[创建向 AWS 服务委派权限的角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html)。

## ARC 的服务相关角色
<a name="security_iam_service-with-iam-routing-roles-service-linked"></a>

**支持服务相关角色：**

服务相关角色是一种与服务关联的 AWS 服务角色。服务可以代入代表您执行操作的角色。服务相关角色显示在您的 AWS 账户中，并归服务所有。IAM 管理员可以查看但不能编辑服务关联角色的权限。

路由控制不使用服务相关角色。

# ARC 中路由控制的基于身份的策略示例
<a name="security_iam_id-based-policy-examples-routing"></a>

默认情况下，用户和角色没有创建或修改 ARC 资源的权限。要授予用户对所需资源执行操作的权限，IAM 管理员可以创建 IAM 策略。

要了解如何使用这些示例 JSON 策略文档创建基于 IAM 身份的策略，请参阅《IAM 用户指南》**中的[创建 IAM 策略（控制台）](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create-console.html)。

有关 ARC 定义的操作和资源类型（包括每种资源类型的格式）的详细信息，请参阅《 ARNs *服务授权参考*》中的 [Amazon Application Recovery Controller (ARC) 的操作、资源和条件密钥](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonroute53recoverycontrols.html)。

**Topics**
+ [策略最佳实践](#security_iam_service-with-iam-policy-best-practices-zonal)
+ [示例：用于路由控制的 ARC 控制台访问权限](#security_iam_id-based-policy-examples-console-routing)
+ [示例：用于路由控制配置的 ARC API 操作](#security_iam_id-based-policy-examples-api-routing)

## 策略最佳实践
<a name="security_iam_service-with-iam-policy-best-practices-zonal"></a>

基于身份的策略确定某个人是否可以创建、访问或删除您账户中的 ARC 资源。这些操作可能会使 AWS 账户产生成本。创建或编辑基于身份的策略时，请遵循以下指南和建议：
+ **开始使用 AWS 托管策略并转向最低权限权限** — 要开始向用户和工作负载授予权限，请使用为许多常见用例授予权限的*AWS 托管策略*。它们在你的版本中可用 AWS 账户。我们建议您通过定义针对您的用例的 AWS 客户托管策略来进一步减少权限。有关更多信息，请参阅《IAM 用户指南》**中的 [AWS 托管策略](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies)或[工作职能的AWS 托管策略](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_job-functions.html)。
+ **应用最低权限**：在使用 IAM 策略设置权限时，请仅授予执行任务所需的权限。为此，您可以定义在特定条件下可以对特定资源执行的操作，也称为*最低权限许可*。有关使用 IAM 应用权限的更多信息，请参阅《IAM 用户指南》**中的 [IAM 中的策略和权限](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html)。
+ **使用 IAM 策略中的条件进一步限制访问权限**：您可以向策略添加条件来限制对操作和资源的访问。例如，您可以编写策略条件来指定必须使用 SSL 发送所有请求。如果服务操作是通过特定的方式使用的，则也可以使用条件来授予对服务操作的访问权限 AWS 服务，例如 CloudFormation。有关更多信息，请参阅《IAM 用户指南》**中的 [IAM JSON 策略元素：条件](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html)。
+ **使用 IAM Access Analyzer 验证您的 IAM 策略，以确保权限的安全性和功能性**：IAM Access Analyzer 会验证新策略和现有策略，以确保策略符合 IAM 策略语言（JSON）和 IAM 最佳实践。IAM Access Analyzer 提供 100 多项策略检查和可操作的建议，以帮助您制定安全且功能性强的策略。有关更多信息，请参阅《IAM 用户指南》**中的[使用 IAM Access Analyzer 验证策略](https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-policy-validation.html)。
+ **需要多重身份验证 (MFA**)-如果 AWS 账户您的场景需要 IAM 用户或根用户，请启用 MFA 以提高安全性。若要在调用 API 操作时需要 MFA，请将 MFA 条件添加到您的策略中。有关更多信息，请参阅《IAM 用户指南》**中的[使用 MFA 保护 API 访问](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_mfa_configure-api-require.html)。

有关 IAM 中的最佳实操的更多信息，请参阅《IAM 用户指南》**中的 [IAM 中的安全最佳实践](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html)。

## 示例：用于路由控制的 ARC 控制台访问权限
<a name="security_iam_id-based-policy-examples-console-routing"></a>

要访问 Amazon 应用程序恢复控制器（ARC）控制台，您必须具有一组最低的权限。这些权限必须允许您列出和查看有关您的 ARC 资源的详细信息 AWS 账户。如果创建比必需的最低权限更为严格的基于身份的策略，对于附加了该策略的实体（用户或角色），控制台将无法按预期正常运行。

对于仅调用 AWS CLI 或 AWS API 的用户，您无需为其设置最低控制台权限。相反，只允许访问与其尝试执行的 API 操作相匹配的操作。

为确保在您仅允许访问特定 API 操作时用户和角色仍然可以使用 ARC 控制台，还要为实体附加 ARC `ReadOnly` AWS 托管策略。有关更多信息，请参阅 ARC [ARC 托管式策略页面](security-iam-awsmanpol.md)或《IAM 用户指南》**中的[为用户添加权限](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_change-permissions.html#users_change_permissions-add-console)。

要通过控制台为用户提供使用 ARC 功能的完全访问权限，请为用户附加如下策略，以授予用户配置 ARC 资源和操作的完全权限：

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [		
                   "route53-recovery-cluster:GetRoutingControlState",
                   "route53-recovery-cluster:UpdateRoutingControlState",
                   "route53-recovery-cluster:UpdateRoutingControlStates",
                   "route53-recovery-control-config:CreateCluster",
                   "route53-recovery-control-config:CreateControlPanel",
                   "route53-recovery-control-config:CreateRoutingControl",
                   "route53-recovery-control-config:CreateSafetyRule",
                   "route53-recovery-control-config:DeleteCluster",
                   "route53-recovery-control-config:DeleteControlPanel",
                   "route53-recovery-control-config:DeleteRoutingControl",
                   "route53-recovery-control-config:DeleteSafetyRule",
                   "route53-recovery-control-config:DescribeCluster",
                   "route53-recovery-control-config:DescribeControlPanel",
                   "route53-recovery-control-config:DescribeSafetyRule",
                   "route53-recovery-control-config:DescribeRoutingControl",
                   "route53-recovery-control-config:ListAssociatedRoute53HealthChecks",
                   "route53-recovery-control-config:ListClusters",
                   "route53-recovery-control-config:ListControlPanels",
                   "route53-recovery-control-config:ListRoutingControls",
                   "route53-recovery-control-config:ListSafetyRules",
                   "route53-recovery-control-config:UpdateControlPanel",
                   "route53-recovery-control-config:UpdateRoutingControl",
                   "route53-recovery-control-config:UpdateSafetyRule"
             ],
            "Resource": "*"
        },
                {
            "Effect": "Allow",
            "Action": [
                   "route53:GetHealthCheck",
                   "route53:CreateHealthCheck",
                   "route53:DeleteHealthCheck",
                   "route53:ChangeTagsForResource"
            ],
            "Resource": "*"
        }
    ]
}
```

------

## 示例：用于路由控制配置的 ARC API 操作
<a name="security_iam_id-based-policy-examples-api-routing"></a>

为确保用户可以使用 ARC API 操作来进行 ARC 路由控制配置，请附加与用户需要使用的 API 操作相对应的策略，如下所述。

要使用 API 操作进行恢复控制配置，请为用户附加如下策略：

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [		
                   "route53-recovery-control-config:CreateCluster",
                   "route53-recovery-control-config:CreateControlPanel",
                   "route53-recovery-control-config:CreateRoutingControl",
                   "route53-recovery-control-config:CreateSafetyRule",
                   "route53-recovery-control-config:DeleteCluster",
                   "route53-recovery-control-config:DeleteControlPanel",
                   "route53-recovery-control-config:DeleteRoutingControl",
                   "route53-recovery-control-config:DeleteSafetyRule",
                   "route53-recovery-control-config:DescribeCluster",
                   "route53-recovery-control-config:DescribeControlPanel",
                   "route53-recovery-control-config:DescribeSafetyRule",
                   "route53-recovery-control-config:DescribeRoutingControl",
                   "route53-recovery-control-config:GetResourcePolicy",
                   "route53-recovery-control-config:ListAssociatedRoute53HealthChecks",
                   "route53-recovery-control-config:ListClusters",
                   "route53-recovery-control-config:ListControlPanels",
                   "route53-recovery-control-config:ListRoutingControls",
                   "route53-recovery-control-config:ListSafetyRules",
                   "route53-recovery-control-config:ListTagsForResource",
                   "route53-recovery-control-config:UpdateControlPanel",
                   "route53-recovery-control-config:UpdateRoutingControl",
                   "route53-recovery-control-config:UpdateSafetyRule",
                   "route53-recovery-control-config:TagResource",
                   "route53-recovery-control-config:UntagResource"
            ],
            "Resource": "*"
        }
    ]
}
```

------

要在 ARC 路由控制中使用恢复集群数据面板 API 执行任务，例如更新路由控制状态以在灾难事件期间进行失效转移，您可以将如下所示的 ARC IAM 策略附加到 IAM 用户。

`AllowSafetyRuleOverride` 布尔值提供权限来覆盖您为保障路由控制安全而配置的安全规则。在“打碎玻璃”的情况下，可能需要此权限才能在灾难或其他紧急失效转移情况下绕过这些安全措施。例如，操作员可能需要快速失效转移以进行灾难恢复，而一个或多个安全规则可能会意外阻止流量重新路由所需的路由控制状态更新操作。此权限允许操作员在调用 API 更新路由控制状态时指定要覆盖的安全规则。有关更多信息，请参阅 [覆盖安全规则以重新路由流量](routing-control.override-safety-rule.md)。

如果您想允许操作员使用恢复集群数据面板 API，但**阻止覆盖安全规则，则可以附加如下所示的策略，并将 `AllowSafetyRuleOverrides` 布尔值设置为 `false`。要允许操作员覆盖安全规则，请将 `AllowSafetyRuleOverrides` 布尔值设置为 `true`。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "route53-recovery-cluster:GetRoutingControlState",
                "route53-recovery-cluster:ListRoutingControls"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "route53-recovery-cluster:UpdateRoutingControlStates",
                "route53-recovery-cluster:UpdateRoutingControlState"
            ],
            "Resource": "*",
            "Condition": {
                "Bool": {
                    "route53-recovery-cluster:AllowSafetyRulesOverrides": "false"
                }
            }
        }
    ]
}
```

------

# AWS Amazon 应用程序恢复控制器 (ARC) 中用于路由控制的托管策略
<a name="security-iam-awsmanpol-routing"></a>

 AWS 托管策略是由创建和管理的独立策略 AWS。 AWS 托管策略旨在为许多常见用例提供权限，以便您可以开始为用户、组和角色分配权限。

请记住， AWS 托管策略可能不会为您的特定用例授予最低权限权限，因为它们可供所有 AWS 客户使用。我们建议通过定义特定于使用案例的[客户管理型策略](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#customer-managed-policies)来进一步减少权限。

您无法更改 AWS 托管策略中定义的权限。如果 AWS 更新 AWS 托管策略中定义的权限，则更新会影响该策略所关联的所有委托人身份（用户、组和角色）。 AWS 最有可能在启动新的 API 或现有服务可以使用新 AWS 服务 的 API 操作时更新 AWS 托管策略。

有关更多信息，请参阅《IAM 用户指南》**中的 [AWS 托管式策略](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies)。

## AWS 托管策略： AmazonRoute53 RecoveryControlConfigFullAccess
<a name="security-iam-awsmanpol-AmazonRoute53RecoveryControlConfigFullAccess"></a>

您可以将 `AmazonRoute53RecoveryControlConfigFullAccess` 附加到 IAM 实体。此策略授予对 ARC 中恢复控制配置操作的完全访问权限。将此策略附加到需要恢复控制配置操作的完全访问权限的 IAM 用户和其他主体。

您可以自行决定添加对其他 Amazon Route 53 操作的访问权限，以使用户能够为路由控制创建运行状况检查。例如，您可以提供对以下一项或多项操作的访问权限：`route53:GetHealthCheck`、`route53:CreateHealthCheck`、`route53:DeleteHealthCheck` 和 `route53:ChangeTagsForResource`。

要查看此策略的权限，请参阅《*AWS 托管策略参考*》RecoveryControlConfigFullAccess中的 [AmazonRoute53](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonRoute53RecoveryControlConfigFullAccess.html)。

## AWS 托管策略： AmazonRoute53 RecoveryControlConfigReadOnlyAccess
<a name="security-iam-awsmanpol-AmazonRoute53RecoveryControlConfigReadOnlyAccess"></a>

您可以将 `AmazonRoute53RecoveryControlConfigReadOnlyAccess` 附加到 IAM 实体。它适用于需要查看路由控制和安全规则配置的用户。此策略授予对 ARC 中恢复控制配置操作的只读访问权限。这些用户无法创建、更新或删除恢复控制资源。

要查看此策略的权限，请参阅《*AWS 托管策略参考*》RecoveryControlConfigReadOnlyAccess中的 [AmazonRoute53](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonRoute53RecoveryControlConfigReadOnlyAccess.html)。

## AWS 托管策略： AmazonRoute53 RecoveryClusterFullAccess
<a name="security-iam-awsmanpol-AmazonRoute53RecoveryClusterFullAccess"></a>

您可以将 `AmazonRoute53RecoveryClusterFullAccess` 附加到 IAM 实体。此策略授予对 ARC 中集群数据面板操作的完全访问权限。将此策略附加到需要更新和检索路由控制状态的完全访问权限的 IAM 用户和其他主体。

要查看此策略的权限，请参阅《*AWS 托管策略参考*》RecoveryClusterFullAccess中的 [AmazonRoute53](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonRoute53RecoveryClusterFullAccess.html)。

## AWS 托管策略： AmazonRoute53 RecoveryClusterReadOnlyAccess
<a name="security-iam-awsmanpol-AmazonRoute53RecoveryClusterReadOnlyAccess"></a>

您可以将 `AmazonRoute53RecoveryClusterReadOnlyAccess` 附加到 IAM 实体。此策略授予对 ARC 中集群数据面板的只读访问权限。这些用户可以检索路由控制状态，但无法更新这些状态。

要查看此策略的权限，请参阅《*AWS 托管策略参考*》RecoveryClusterReadOnlyAccess中的 [AmazonRoute53](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonRoute53RecoveryClusterReadOnlyAccess.html)。

## AWS 托管策略： AmazonApplicationRecoveryControllerRegionSwitchPlanExecutionPolicy
<a name="security-iam-awsmanpol-AmazonApplicationRecoveryControllerRegionSwitchPlanExecutionPolicy"></a>

您可以将 `AmazonApplicationRecoveryControllerRegionSwitchPlanExecutionPolicy` 附加到 IAM 实体。此策略授予执行和评估 ARC 区域切换计划的权限。将其附加到用于执行区域切换计划的 IAM 角色。

**权限详细信息**

该策略包含以下权限：
+ `arc-region-switch:GetPlan` – 允许主体检索区域切换计划的配置详细信息。
+ `arc-region-switch:GetPlanExecution` – 允许主体检索有关特定区域交换计划执行的信息。
+ `arc-region-switch:ListPlanExecutions` – 允许主体列出所有执行的可用区切换计划。
+ `iam:SimulatePrincipalPolicy` – 允许主体模拟和评估 IAM 角色可以执行的操作。此权限仅限于 IAM 角色，在评估计划期间用于在执行区域切换计划之前验证必要的权限是否就绪。
+ `cloudwatch:DescribeAlarms`— 允许委托人检索有关 Amazon CloudWatch 警报的信息。
+ `cloudwatch:DescribeAlarmHistory`— 允许委托人检索 Amazon CloudWatch 警报的历史状态变化。
+ `cloudwatch:GetMetricStatistics`— 允许委托人检索 Amazon CloudWatch 指标的统计数据。

要查看有关策略（包括 JSON 策略文档的最新版本）的更多信息，请参阅《AWS 托管式策略参考指南》**中的 [AmazonApplicationRecoveryControllerRegionSwitchPlanExecutionPolicy](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonApplicationRecoveryControllerRegionSwitchPlanExecutionPolicy.html)。

## 路由控制 AWS 托管策略的更新
<a name="security-iam-awsmanpol-routing-updates"></a>

有关自该服务开始跟踪这些更改以来，ARC 中路由控制 AWS 托管策略更新的详细信息，请参阅[Amazon 应用程序恢复控制器 (ARC) AWS 托管策略的更新](security-iam-awsmanpol.md#security-iam-awsmanpol-arc-updates)。有关此页面更改的自动提示，请订阅 ARC [文档历史记录页面](doc-history.md)上的 RSS 信息源。

# 路由控制的配额
<a name="routing-control.quotas"></a>

Amazon 应用程序恢复控制器（ARC）中的路由控制受制于以下配额（以前称为限制）。


| 实体 | 配额 | 
| --- | --- | 
|  每个账户的集群数  |  2  | 
|  每个集群的控制面板数  |  50  | 
|  每个控制面板的路由控制数  | 100 | 
|  每个集群的路由控制总数（在所有控制面板中）  | 300 | 
|  每个控制面板的安全规则数  |  20  | 
|  每次工[UpdateRoutingControlStates](https://docs.aws.amazon.com/routing-control/latest/APIReference/API_UpdateRoutingControlStates.html)序调用的路由控制数量  |  10  | 
|  每秒对集群端点的可变 API 调用次数  |  3  | 

# ARC 中的就绪检查
<a name="recovery-readiness"></a>

**注意**  
从 2026 年 4 月 30 日起，Amazon 应用程序恢复控制器 (ARC) 中的准备情况检查功能将不再向新客户开放。现有客户可以继续正常使用该服务。有关更多信息，请参阅 [Amazon 应用程序恢复控制器 (ARC) 准备情况检查可用性变更](https://docs.aws.amazon.com/r53recovery/latest/dg/arc-readiness-availability-change.html)。

借助 Amazon 应用程序恢复控制器（ARC）中的就绪检查，您可以深入了解您的应用程序和资源是否已准备好恢复。在 ARC 中对 AWS 应用程序进行建模并创建就绪检查后，这些检查会持续监控有关您的应用程序的信息，例如 AWS 资源配额、容量和网络路由策略。然后，您可以选择接收通知，了解哪些变更会影响您将应用程序失效转移到副本的能力，以便从事件中恢复。就绪检查有助于持续确保您能够将跨区域应用程序保持在可扩展且配置妥当的状态，以处理失效转移流量。

本章介绍如何通过创建恢复组和描述应用程序的单元格在 ARC 中对应用程序进行建模，以设置可使就绪检查起作用的结构。然后，您可以按照步骤添加就绪检查和就绪范围，以便 ARC 可以审计您的应用程序的就绪情况。

创建就绪检查后，您可以监控资源的就绪状态。就绪检查可帮助您确保备用应用程序副本及其资源持续与生产副本相匹配，可反映生产应用程序的容量、路由策略和其他配置细节。如果副本不匹配，您可以增加容量或更改配置，使应用程序副本再次保持一致。

**重要**  
就绪检查非常有助于持续验证应用程序副本配置和运行时状态是否一致。您不该使用就绪检查来指示生产副本是否正常，也不该依赖就绪检查作为灾难事件期间失效转移的主要触发条件。

# Amazon 应用程序恢复控制器（ARC）中的就绪检查是什么？
<a name="readiness-what-is"></a>

**注意**  
从 2026 年 4 月 30 日起，Amazon 应用程序恢复控制器 (ARC) 中的准备情况检查功能将不再向新客户开放。现有客户可以继续正常使用该服务。有关更多信息，请参阅 [Amazon 应用程序恢复控制器 (ARC) 准备情况检查可用性变更](https://docs.aws.amazon.com/r53recovery/latest/dg/arc-readiness-availability-change.html)。

ARC 中的准备情况检查持续（每隔一分钟），审核检查中包含的资源的 AWS 预配置容量、服务配额、油门限制以及配置和版本差异方面的不匹配情况。就绪检查可以将这些差异通知给您，这样您就可以确保每个副本具有相同的配置设置和相同的运行时状态。尽管就绪检查可确保您在副本之间配置的容量一致，但不应期待就绪检查能代表您决定副本的容量应该是多少。例如，您应该了解应用程序需求，在设定自动扩缩组的大小时在每个副本中留足缓冲容量，以应对另一个单元格不可用的情况。

当 ARC 通过就绪检查检测到配额不匹配时，它可以采取措施调整副本的配额，通过增加较低的配额，使之与较高的配额相匹配。当限额匹配时，就绪检查状态显示 `READY`。（请注意，这个过程不是立即更新的，总时间取决于特定的资源类型和其他因素。） 

第一步是设置就绪检查，以创建代表应用程序的[恢复组](recovery-readiness.recovery-groups.md)。每个恢复组都包括应用程序的每个故障控制单位或*副本*的对应单元格。接下来，为应用程序中的每种资源类型创建[资源集](recovery-readiness.recovery-groups.readiness-scope.md)，并将*就绪检查*与资源集关联起来。最后，将资源与*就绪范围*相关联，这样您就可以获得恢复组（您的应用程序）或单个单元（副本，即区域或可用区（AZs））中资源的就绪状态。

就绪状态（即 `READY` 或 `NOT READY`）基于就绪检查范围内的资源和某一资源类型的规则集。每种资源类型都有[一组就绪规则](recovery-readiness.rules-resources.md#recovery-readiness.list-rules)，ARC 检查使用这些规则来审计资源的就绪情况。资源是否 `READY` 取决于每条就绪规则的定义方式。所有就绪规则都会评估资源，但有些规则会对资源进行比较，有些则会查看有关资源集中每种资源的具体信息。

通过添加就绪检查，您可以通过以下几种方式之一监控就绪状态：使用 EventBridge、在 ARC API 操作中或使用 ARC API 操作。 AWS 管理控制台您还可以在不同的上下文中监控资源的就绪状态，包括单元格的就绪情况和应用程序的就绪情况。使用 ARC 中的[跨账户授权](recovery-readiness.cross-account.md)功能，可以更轻松地设置和监控来自单个 AWS 账户的分布式资源。

## 通过就绪检查监控应用程序副本
<a name="readiness-what-is.readiness-auditing"></a>

ARC 使用*就绪检查*审计应用程序副本，以确保每个副本有相同的配置设置和相同的运行时状态。就绪性检查会持续审核应用程序的 AWS 资源容量、配置、 AWS 配额和路由策略，这些信息可用于帮助确保副本已准备好进行故障转移。就绪检查有助于确保您的恢复环境经过扩展和配置，可在需要时进行失效转移。

以下各部分提供了有关就绪检查工作原理的更多详细信息。

### 就绪检查和应用程序副本
<a name="readiness-what-is.readiness-auditing-details"></a>

为了做好恢复准备，您必须始终保持足够的备用容量，以吸收来自其他可用区或区域的失效转移流量。ARC 会持续（每分钟一次）检查您的应用程序，以确保所有可用区或区域上的预调配容量相匹配。

例如，ARC 检查的容量包括 Amazon EC2 实例数量、Aurora 读取和写入容量单位以及 Amazon EBS 卷大小。如果您在主副本中纵向扩展资源的容量值，但忘记同时增加备用副本中的相应值，ARC 会检测到不匹配情况，以便您可以增加备用副本中的值。

**重要**  
就绪检查非常有助于持续验证应用程序副本配置和运行时状态是否一致。您不该使用就绪检查来指示生产副本是否正常，也不该依赖就绪检查作为灾难事件期间失效转移的主要触发条件。

在主动-备用配置中，您应该根据监控和运行状况检查系统来确定是否从某单元格或向某单元格进行失效转移，并考虑将就绪检查作为这些系统的补充服务。ARC 就绪检查的可用性不高，因此您不应在中断期间依赖检查的可用性。此外，在灾难事件发生期间，所检查的资源也可能不可用。

您可以监控特定单元（AWS 区域或可用区）中应用程序资源的就绪状态，也可以监控整个应用程序的就绪状态。例如，通过在中创建规则，您可以在准备检查状态更改时收到通知 EventBridge。`Not ready`有关更多信息，请参阅 [在 Amazon 上使用 ARC 中的准备情况检查 EventBridge](eventbridge-readiness.md)。您还可以在中查看就绪状态 AWS 管理控制台，或者使用 API 操作（例如）来查看就绪状态`get-recovery-readiness`。有关更多信息，请参阅 [就绪检查 API 操作](actions.readiness.md)。

### 就绪检查的工作原理
<a name="readiness-what-is.readiness-how-it-works"></a>

ARC 使用*就绪检查*审计应用程序副本，以确保每个副本有相同的配置设置和相同的运行时状态。

例如，为了做好恢复准备，您必须始终保持足够的备用容量，以吸收来自其他可用区或区域的失效转移流量。ARC 会持续（每分钟一次）检查您的应用程序，以确保所有可用区或区域上的预调配容量相匹配。例如，ARC 检查的容量包括 Amazon EC2 实例数量、Aurora 读取和写入容量单位以及 Amazon EBS 卷大小。如果您在主副本中纵向扩展资源的容量值，但忘记同时增加备用副本中的相应值，ARC 会检测到不匹配情况，以便您可以增加备用副本中的值。

**重要**  
就绪检查非常有助于持续验证应用程序副本配置和运行时状态是否一致。您不该使用就绪检查来指示生产副本是否正常，也不该依赖就绪检查作为灾难事件期间失效转移的主要触发条件。

在主动-备用配置中，您应该根据监控和运行状况检查系统来确定是否从某单元格或向某单元格进行失效转移，并考虑将就绪检查作为这些系统的补充服务。ARC 就绪检查的可用性不高，因此您不应在中断期间依赖检查的可用性。此外，在灾难事件发生期间，所检查的资源也可能不可用。

您可以监控特定单元（AWS 区域或可用区）中应用程序资源的就绪状态，也可以监控整个应用程序的就绪状态。例如，通过在中创建规则，您可以在准备检查状态更改时收到通知 EventBridge。`Not ready`有关更多信息，请参阅 [在 Amazon 上使用 ARC 中的准备情况检查 EventBridge](eventbridge-readiness.md)。您还可以在中查看就绪状态 AWS 管理控制台，或者使用 API 操作（例如）来查看就绪状态`get-recovery-readiness`。有关更多信息，请参阅 [就绪检查 API 操作](actions.readiness.md)。

# 就绪规则如何确定就绪状态
<a name="recovery-readiness.rules"></a>

**注意**  
从 2026 年 4 月 30 日起，Amazon 应用程序恢复控制器 (ARC) 中的准备情况检查功能将不再向新客户开放。现有客户可以继续正常使用该服务。有关更多信息，请参阅 [Amazon 应用程序恢复控制器 (ARC) 准备情况检查可用性变更](https://docs.aws.amazon.com/r53recovery/latest/dg/arc-readiness-availability-change.html)。

ARC 就绪检查根据每种资源类型的预定义规则以及这些规则的定义方式来确定就绪状态。对于支持的每种资源类型，ARC 都包含一组对应的规则。例如，ARC 有针对 Amazon Aurora 集群、Auto Scaling 群组等的准备规则组。有些就绪规则会对一个资源集里的资源进行比较，有些则会查看有关资源集中每种资源的具体信息。

您无法添加、编辑或删除就绪规则或规则组。但是，您可以创建 Amazon CloudWatch 警报并创建准备情况检查以监控警报的状态。例如，您可以创建自定义 CloudWatch 警报来监控 Amazon EKS 容器服务，并创建就绪检查以审计警报的就绪状态。

您可以在创建资源集 AWS 管理控制台 时查看每种资源类型的所有就绪规则，也可以稍后通过导航到资源集的详细信息页面来查看就绪规则。您还可以在以下部分中查看就绪规则：[ARC 中的就绪规则](recovery-readiness.rules-resources.md#recovery-readiness.list-rules)。

当就绪检查使用一组规则审计一组资源时，每条规则的定义方式将决定所有资源的检查结果都是 `READY` 或 `NOT READY`，还是结果因资源而异。此外，您还可以通过多种方式查看就绪状态。例如，您可以查看资源集中一组资源的就绪状态，也可以查看恢复组或单元（即 AWS 区域或可用区，具体取决于恢复组的设置方式）的就绪状态摘要。

每条规则的描述语言将说明在应用该规则时，它如何评估资源以确定就绪状态。规则定义为检查资源集中的*每个资源*或*所有资源*以确定就绪情况。具体而言，规则的工作原理如下：
+ 规则检查资源集中的*每个资源*，以确保符合条件。
  + 如果所有资源都符合条件，则所有资源都设置为 `READY`。
  + 如果一个资源不符合，则该资源设置为 `NOT READY`，其他单元格仍然是 `READY`。

  例如：**MskClusterState:** 检查每个 Amazon MSK 集群以确保其处于 `ACTIVE` 状态。
+ 该规则检查资源集中的*所有资源*，以确保符合条件。
  + 如果符合条件，则所有资源都设置为 `READY`。
  + 如果有任何资源不符合条件，所有资源都设置为 `NOT READY`。

  例如：**VpcSubnetCount:** 检查所有 VPC 子网，以确保它们的子网数量相同。
+ 非关键条件：该规则检查资源集中的所有资源，以确保符合条件。
  + 如果有任何资源不符合，就绪状态保持不变。有此行为的规则会在描述中包含一个注释。

  例如：**ElbV2CheckAzCount:** 检查每个网络负载均衡器，确保其仅连接到一个可用区。注意：该规则不影响就绪状态。

此外，ARC 在配额方面采取了额外措施。如果就绪检查检测到各单元格之间任何受支持资源的服务配额（资源创建和操作的最大值）存在不匹配之处，ARC 会自动提高低配额资源的配额。这仅适用于限额（限制）。对于容量，您应该根据应用程序需求添加额外的容量。

您还可以为准备情况检查设置 Amazon EventBridge 通知，例如，当任何准备情况检查状态更改为时`NOT READY`。然后，当检测到配置不匹配时， EventBridge 会向您发送通知，您可以采取更正措施来确保您的应用程序副本已对齐并做好恢复准备。有关更多信息，请参阅 [在 Amazon 上使用 ARC 中的准备情况检查 EventBridge](eventbridge-readiness.md)。

# 就绪检查、资源集和就绪范围如何协同工作
<a name="recovery-readiness.recovery-groups.readiness-scope"></a>

**注意**  
从 2026 年 4 月 30 日起，Amazon 应用程序恢复控制器 (ARC) 中的准备情况检查功能将不再向新客户开放。现有客户可以继续正常使用该服务。有关更多信息，请参阅 [Amazon 应用程序恢复控制器 (ARC) 准备情况检查可用性变更](https://docs.aws.amazon.com/r53recovery/latest/dg/arc-readiness-availability-change.html)。

就绪检查始终会审计*资源集*中的资源组。您可以创建资源集（单独或在创建就绪检查时），以对 ARC 恢复组中单元（可用区或 AWS 区域）中的资源进行分组，以便可以定义就绪检查。资源集通常是一组相同类型的资源（如网络负载均衡器），但也可以是 DNS 目标资源（用于架构就绪检查）。

一般为应用程序中的每种资源创建一个资源集和就绪检查。对于架构就绪检查，您可以为其创建顶级 DNS 目标资源和全局（恢复组级别）资源集，然后为单独的资源集创建单元格级 DNS 目标资源。

下图显示了一个包含三个单元格（可用区）的恢复组示例，每个单元格都有一个网络负载均衡器 (NLB) 和自动扩缩组 (ASG)。

![\[ARC 的恢复组示例。它有三个单元格 (AZ)，每个单元格都有一个 NLB 和一个 EC2 自动扩缩组。\]](http://docs.aws.amazon.com/zh_cn/r53recovery/latest/dg/images/Sample3AZRecoveryGroup.png)


在这种情况下，您将为三个网络负载均衡器创建资源集和就绪检查，并为三个自动扩缩组创建资源集和就绪检查。现在，您可以按资源类型对恢复组的每个资源集进行就绪检查了。

通过为资源创建*就绪范围*，您可以为单元格或恢复组添加就绪检查摘要。要为资源指定就绪范围，请将单元格或恢复组的 ARN 与资源集中的每个资源关联起来。您可以在为资源集创建就绪检查时执行此操作。

例如，当您为该恢复组的网络负载均衡器资源集添加就绪检查时，可以同时向每个 NLB 添加就绪范围。在这种情况下，您可以将 AZ 1a 的 ARN 关联到 AZ 1a 中的 NLB，将 `AZ 1b` 的 ARN 关联到 `AZ 1b` 中的 NLB，将 `AZ 1c` 的 ARN 关联到 `AZ 1c` 中的 NLB。为自动扩缩组创建就绪检查时，您也要这样做，在为自动扩缩组资源集创建就绪检查时，为每个组分配就绪范围。

创建就绪检查时，关联就绪范围是可选操作，但是我们强烈建议您设置范围。就绪范围可以让 ARC 在恢复组就绪检查摘要和单元格级就绪检查摘要中显示正确的就绪状态 `READY` 或 `NOT READY`。如果不设置就绪范围，ARC 无法提供这些摘要。

请注意，在添加应用程序级资源或全局资源（例如 DNS 路由策略）时，不能为就绪范围选择恢复组或单元格，而是选择**全局资源(不含单元格)**。

# DNS 目标资源就绪检查：审计弹性就绪
<a name="recovery-readiness.readiness-checks.architectural"></a>

**注意**  
从 2026 年 4 月 30 日起，Amazon 应用程序恢复控制器 (ARC) 中的准备情况检查功能将不再向新客户开放。现有客户可以继续正常使用该服务。有关更多信息，请参阅 [Amazon 应用程序恢复控制器 (ARC) 准备情况检查可用性变更](https://docs.aws.amazon.com/r53recovery/latest/dg/arc-readiness-availability-change.html)。

通过 ARC 中的 DNS 目标资源就绪检查，您可以审计应用程序的架构和弹性就绪情况。这种就绪检查会持续扫描应用程序架构和 Amazon Route 53 路由策略，以审计跨可用区和跨区域的依赖关系。

以恢复为导向的应用程序有多个副本，这些副本孤立在可用区或 AWS 区域中，因此副本可以相互独立地发生故障。如果您的应用程序需要调整以正确隔离起来，ARC 将根据需要提供更改建议，以更新应用程序架构，确保它具有弹性并可以进行失效转移。

ARC 会自动检测应用程序中单元格（代表副本或故障控制单位）的数量和范围，以及这些单元格是否按可用区或区域隔离起来。然后，ARC 会识别单元格中的应用程序资源并向您提供相关信息，以确定它们是否正确地隔离到可用区或区域中。例如，如果单元格范围限定在特定可用区中，则就绪检查可以监控负载均衡器及其后面的目标是否也隔离到这些可用区。

利用这些信息，您可以确定是否需要进行更改，以使单元格中的资源对应到正确的可用区或区域。

首先，您需要为应用程序创建 DNS 目标资源及其资源集和就绪检查。有关更多信息，请参阅 [获取 ARC 中的架构建议](recovery-readiness.evaluate-arch.md)。

# 就绪检查和灾难恢复场景
<a name="recovery-readiness.disaster"></a>

**注意**  
从 2026 年 4 月 30 日起，Amazon 应用程序恢复控制器 (ARC) 中的准备情况检查功能将不再向新客户开放。现有客户可以继续正常使用该服务。有关更多信息，请参阅 [Amazon 应用程序恢复控制器 (ARC) 准备情况检查可用性变更](https://docs.aws.amazon.com/r53recovery/latest/dg/arc-readiness-availability-change.html)。

ARC 就绪检查通过帮助您确保应用程序和资源经过扩展可处理失效转移流量，让您清晰地了解应用程序和资源是否已准备好恢复。不应使用就绪检查状态作为指示生产副本是否正常的信号。但是，您可以使用就绪检查作为应用程序和基础架构监控或运行状况检查系统的补充，以确定是否从某副本或向某副本进行失效转移。

在紧急情况下或发生中断时，结合使用运行状况检查和其他信息来确定备用单元格是否已扩展、运行状况良好，并且准备好进行生产流量的失效转移。例如，除了验证备用单元格的就绪检查状态为 `READY` 之外，还要检查备用单元格上运行的金丝雀是否符合您的成功标准。

请注意，ARC 就绪检查托管在美国西部（俄勒冈州） AWS 区域中，在中断或灾难期间，就绪检查信息可能会过时或无法执行检查。有关更多信息，请参阅 [路由控制的数据面板和控制面板](data-and-control-planes.md)。

# AWS 区域可用性以进行准备情况检查
<a name="introduction-regions-readiness"></a>

**注意**  
从 2026 年 4 月 30 日起，Amazon 应用程序恢复控制器 (ARC) 中的准备情况检查功能将不再向新客户开放。现有客户可以继续正常使用该服务。有关更多信息，请参阅 [Amazon 应用程序恢复控制器 (ARC) 准备情况检查可用性变更](https://docs.aws.amazon.com/r53recovery/latest/dg/arc-readiness-availability-change.html)。

有关 Amazon 应用程序恢复控制器（ARC）的区域支持和服务端点的详细信息，请参阅《Amazon Web Services 一般参考》**中的 [Amazon 应用程序恢复控制器端点和配额](https://docs.aws.amazon.com/general/latest/gr/r53arc.html)。

**注意**  
Amazon 应用程序恢复控制器（ARC）中的就绪检查是一项全球功能。但是，就绪检查资源位于美国西部（俄勒冈）区域，因此在创建资源集和就绪检查等资源时，您必须在区域 ARC AWS CLI 命令中指定美国西部（俄勒冈`--region us-west-2`）区域（指定参数）。

# 就绪检查组件
<a name="introduction-components-readiness"></a>

**注意**  
从 2026 年 4 月 30 日起，Amazon 应用程序恢复控制器 (ARC) 中的准备情况检查功能将不再向新客户开放。现有客户可以继续正常使用该服务。有关更多信息，请参阅 [Amazon 应用程序恢复控制器 (ARC) 准备情况检查可用性变更](https://docs.aws.amazon.com/r53recovery/latest/dg/arc-readiness-availability-change.html)。

下图展示了配置为支持就绪检查功能的恢复组示例。本例中的资源组合到恢复组中的单元格（按 AWS 区域划分）和嵌套单元格（按可用区划分）中。这里有恢复组（应用程序）的总体就绪状态，以及每个单元格（区域）和嵌套单元格（可用区）的个体就绪状态。

![\[ARC 的恢复组示例。它有两个单元格（按区域划分），每个区域内有 2 个嵌套单元格（按可用区划分）。第一个区域单元格的状态全部为就绪，第二个区域单元格的状态为未就绪，因为其中一个可用区单元格尚未就绪。恢复组总体上尚未就绪。\]](http://docs.aws.amazon.com/zh_cn/r53recovery/latest/dg/images/GS_ReacoveryReadinessDiagram.png)


以下是 ARC 中就绪检查功能的组件。

**单元格**  
单元格定义了应用程序的副本或独立的失效转移单位。它将应用程序在副本中独立运行所需的所有 AWS 资源进行分组。例如，您的主单元格中可能有一组资源，备用单元格中可能有另一组资源。您可以确定单元格所含内容的边界，但单元格通常代表可用区或区域。一个单元格中可以有多个单元格（嵌套单元格），例如 AZs 在一个区域内。每个嵌套单元格代表一个孤立的失效转移单位。

**恢复组**  
单元格组合成一个恢复组。恢复组代表您要检查失效转移就绪情况的一个或一组应用程序。它由功能上彼此匹配的两个或多个单元格或副本组成。例如，如果您有一个在 us-east-1a 和 us-east-1b 之间复制的 Web 应用程序（其中 us-east-1b 是失效转移环境），则可以在 ARC 中将该应用程序表示为恢复组，它包含两个单元格：一个在 us-east-1a 中，一个在 us-east-1b 中。恢复组还可以包括全局资源，例如 Route 53 运行状况检查。

**资源和资源标识符**  
在 ARC 中创建就绪检查组件时，您可以使用资源标识符指定资源，例如 Amazon DynamoDB 表、网络负载均衡器或 DNS 目标资源。资源标识符是资源的 Amazon 资源名称（ARN），而对于 DNS 目标资源，则是 ARC 在创建资源时生成的标识符。

**DNS 目标资源**  
DNS 目标资源是应用程序的域名和其他 DNS 信息（例如该域所指向的 AWS 资源）的组合。您可以选择是否包含 AWS 资源，但如果提供该资源，它必须是 Route 53 资源记录或网络负载均衡器。当您提供 AWS 资源时，您可以获得更详细的架构建议，这些建议可以帮助您提高应用程序的恢复弹性。您可以在 ARC 中为 DNS 目标资源创建资源集，然后为资源集创建就绪检查，以便获得应用程序架构建议。就绪检查还会根据 DNS 目标资源的就绪规则监控应用程序的 DNS 路由策略。

**资源集**  
 资源集是一组跨越多个单元的 AWS 资源，包括资源或 DNS 目标资源。例如，您可能有一个负载均衡器在 us-east-1a 中，还有一个在 us-east-1b 中。要监控负载均衡器的恢复就绪情况，您可以创建一个包含两个负载均衡器的资源集，然后为该资源集创建就绪检查。ARC 将持续检查集合中资源的就绪情况。您还可以添加就绪范围，将资源集中的资源与您为应用程序创建的恢复组相关联。

**就绪规则**  
就绪规则是 ARC 对资源集中的一组资源执行的审计规则。在 ARC 中，支持就绪检查的每种资源都有一组就绪规则。每个规则都包含一个 ID 和一个描述，描述中解释了 ARC 检查资源的目的。

**就绪检查**  
就绪检查监控应用程序中的资源集（例如一组 Amazon Aurora 实例），ARC 将审计它的恢复就绪情况。准备情况检查可以包括审计，例如容量配置、 AWS 配额或路由策略。例如，如果您想审核跨两个可用区的 Amazon EC2 Auto Scaling 组的准备情况，则可以为包含两个资源的资源集创建准备情况检查ARNs，每个 Auto Scaling 组对应一个资源。然后，为了确保每个组同等扩展，ARC 会持续监控两个组中的实例类型和数量。

**就绪范围**  
就绪范围标识特定就绪检查所包含的资源分组。就绪检查的范围可以是恢复组（即整个应用程序全局）或单元格（即区域或可用区）。如果资源属于 ARC 全球资源，将就绪范围设置到恢复组或全球资源级别。例如，Route 53 运行状况检查是 ARC 中的一项全球资源，因为它不是特定于某个区域或可用区的。

# 用于就绪检查的数据面板和控制面板
<a name="data-and-control-planes-readiness"></a>

**注意**  
从 2026 年 4 月 30 日起，Amazon 应用程序恢复控制器 (ARC) 中的准备情况检查功能将不再向新客户开放。现有客户可以继续正常使用该服务。有关更多信息，请参阅 [Amazon 应用程序恢复控制器 (ARC) 准备情况检查可用性变更](https://docs.aws.amazon.com/r53recovery/latest/dg/arc-readiness-availability-change.html)。

在规划失效转移和灾难恢复时，请考虑失效转移机制的弹性。建议您确保在失效转移期间所依赖的机制高度可用，这样在灾难场景中有需要时就能使用它们。通常，应尽可能在机制中使用数据面板功能，以获得较高的可靠性和容错能力。考虑到这一点，请务必了解服务的功能如何在控制面板和数据面板之间划分，以及何时可以依赖服务的数据面板可预期的极高可靠性。

与大多数 AWS 服务一样，控制平面和数据平面支持就绪检查功能。虽然两种面板均可靠，但控制面板已针对数据一致性进行优化，而数据面板已针对可用性进行优化。数据面板专为弹性而设计，因此即使在中断事件期间，当控制面板可能不可用时，它也能保持可用性。

一般而言，*控制面板*允许您执行基本的管理功能，例如在服务中创建、更新和删除资源。*数据面板*提供服务的核心功能。

对于就绪检查，控制面板和数据面板都有一个 API，即[恢复就绪 API](https://docs.aws.amazon.com/recovery-readiness/latest/api/what-is-recovery-readiness.html)。就绪检查和就绪资源仅位于美国西部（俄勒冈州）区域 (us-west-2)。*就绪检查控制面板和数据面板是可靠的，但不是高度可用的。*

有关数据平面、控制平面以及如何 AWS 构建服务以满足高可用性目标的更多信息，请参阅 Amazon Builders Library 中的 “[使用可用区的静态稳定性” 论文](https://aws.amazon.com/builders-library/static-stability-using-availability-zones/)。

# Amazon 应用程序恢复控制器（ARC）中的就绪检查的标记
<a name="introduction-tagging-readiness"></a>

**注意**  
从 2026 年 4 月 30 日起，Amazon 应用程序恢复控制器 (ARC) 中的准备情况检查功能将不再向新客户开放。现有客户可以继续正常使用该服务。有关更多信息，请参阅 [Amazon 应用程序恢复控制器 (ARC) 准备情况检查可用性变更](https://docs.aws.amazon.com/r53recovery/latest/dg/arc-readiness-availability-change.html)。

标签是您用来识别和组织 AWS 资源的单词或短语（元数据）。您可以为每个资源添加多个标签，每个标签都包含一个密钥和一个您定义的值。例如，键可能是环境，值可能是生产。您可以根据添加的标签搜索和筛选资源。

在 ARC 中，您可以标记就绪检查中的以下资源：
+ 资源集
+ 就绪检查

ARC 中的标记只能通过 API 使用，例如，通过使用 AWS CLI。

以下是使用 AWS CLI在就绪检查中进行标记的示例。

`aws route53-recovery-readiness --region us-west-2 create-resource-set --resource-set-name dynamodb_resource_set --resource-set-type AWS::DynamoDB::Table --resources ReadinessScopes=arn:aws:aws-recovery-readiness::111122223333:cell/PDXCell,ResourceArn=arn:aws:dynamodb:us-west-2:111122223333:table/PDX_Table ReadinessScopes=arn:aws:aws-recovery-readiness::111122223333:cell/IADCell,ResourceArn=arn:aws:dynamodb:us-east-1:111122223333:table/IAD_Table --tags Stage=Prod`

`aws route53-recovery-readiness --region us-west-2 create-readiness-check --readiness-check-name dynamodb_readiness_check --resource-set-name dynamodb_resource_set --tags Stage=Prod`

有关更多信息，请参阅 [TagResource](https://docs.aws.amazon.com/recovery-readiness/latest/api/tags-resource-arn.html)Amazon 应用程序*恢复控制器 (ARC) 的恢复就绪 API 参考指南*。

# ARC 中就绪检查的定价
<a name="introduction-pricing-readiness"></a>

**注意**  
从 2026 年 4 月 30 日起，Amazon 应用程序恢复控制器 (ARC) 中的准备情况检查功能将不再向新客户开放。现有客户可以继续正常使用该服务。有关更多信息，请参阅 [Amazon 应用程序恢复控制器 (ARC) 准备情况检查可用性变更](https://docs.aws.amazon.com/r53recovery/latest/dg/arc-readiness-availability-change.html)。

您为配置的每项就绪检查支付每小时费用。

有关 ARC 的详细定价信息和定价示例，请参阅 [ARC 定价](https://aws.amazon.com/application-recovery-controller/pricing/)。

## 为您的应用程序设置弹性恢复流程
<a name="getting-started-readiness"></a>

要将 Amazon Application Recovery Controller (ARC) 用于多个 AWS 区域的应用程序，需要遵循一些指导方针来设置应用程序的弹性，以便您可以有效地支持恢复就绪。 AWS 然后，您可以创建应用程序就绪检查，并设置路由控制以重新路由流量，进行失效转移。您还可以查看 ARC 提供的应用程序架构建议，这些建议可以提高恢复能力。

**注意**  
如果您的应用程序被可用区隔开，请考虑使用可用区转移或可用区自动转移进行失效转移恢复。无需进行任何设置即可使用可用区转移或可用区自动转移从受影响的可用区可靠地恢复应用程序。  
要将流量从可用区域移出负载均衡器资源，请在 ARC 控制台或 Elastic Load Balancing 控制台中开始区域切换。或者，您可以将 AWS Command Line Interface 或 AWS SDK 与区域移动 API 操作配合使用。有关更多信息，请参阅 [ARC 中的可用区转移](arc-zonal-shift.md)。

要了解有关弹性失效转移配置入门的更多信息，请参阅[开始使用 Amazon 应用程序恢复控制器（ARC）中的多区域恢复](getting-started.md)。

# ARC 中的就绪检查最佳实践
<a name="route53-arc-best-practices.readiness"></a>

**注意**  
从 2026 年 4 月 30 日起，Amazon 应用程序恢复控制器 (ARC) 中的准备情况检查功能将不再向新客户开放。现有客户可以继续正常使用该服务。有关更多信息，请参阅 [Amazon 应用程序恢复控制器 (ARC) 准备情况检查可用性变更](https://docs.aws.amazon.com/r53recovery/latest/dg/arc-readiness-availability-change.html)。

我们建议在 Amazon 应用程序恢复控制器（ARC）中采用以下最佳实践进行就绪检查。

**添加就绪状态变更通知**

在 Amazon 中设置规则， EventBridge 以便在准备情况检查状态发生变化时发送通知，例如从变`READY`为`NOT READY`。收到通知后，您可以调查并解决问题，以确保您的应用程序和资源按照预期准备好进行失效转移。

您可以设置 EventBridge 规则以发送多项就绪检查状态更改的通知，包括恢复组（针对您的应用程序）、单元（例如 AWS 区域）或资源集的就绪性检查的通知。

有关更多信息，请参阅 [在 Amazon 上使用 ARC 中的准备情况检查 EventBridge](eventbridge-readiness.md)。

# 就绪检查 API 操作
<a name="actions.readiness"></a>

**注意**  
从 2026 年 4 月 30 日起，Amazon 应用程序恢复控制器 (ARC) 中的准备情况检查功能将不再向新客户开放。现有客户可以继续正常使用该服务。有关更多信息，请参阅 [Amazon 应用程序恢复控制器 (ARC) 准备情况检查可用性变更](https://docs.aws.amazon.com/r53recovery/latest/dg/arc-readiness-availability-change.html)。

下表列出了可用于恢复就绪（就绪检查）的 ARC 操作以及相关文档的链接。

有关如何在 AWS Command Line Interface中使用常见恢复就绪 API 操作的示例，请参阅[使用 ARC 就绪检查 API 操作的示例 AWS CLI](getting-started-cli-readiness.md)。


| Action | 使用 ARC 控制台 | 使用 ARC API | 
| --- | --- | --- | 
| 创建单元格 | 请参阅 [在 ARC 中创建、更新和删除恢复组](recovery-readiness.recovery-groups.md)。 | 请参阅 [CreateCell](https://docs.aws.amazon.com/recovery-readiness/latest/api/cells.html) | 
| 获取单元格 | 请参阅 [在 ARC 中创建、更新和删除恢复组](recovery-readiness.recovery-groups.md)。 | 请参阅 [GetCell](https://docs.aws.amazon.com/recovery-readiness/latest/api/cells-cellname.html) | 
| 删除单元格 | 请参阅 [在 ARC 中创建、更新和删除恢复组](recovery-readiness.recovery-groups.md)。 | 请参阅 [DeleteCell](https://docs.aws.amazon.com/recovery-readiness/latest/api/cells-cellname.html) | 
| 更新单元格 | 不适用 | 请参阅 [UpdateCell](https://docs.aws.amazon.com/recovery-readiness/latest/api/cells-cellname.html)。 | 
| 列出账户的单元格 | 请参阅 [在 ARC 中创建、更新和删除恢复组](recovery-readiness.recovery-groups.md)。 | 请参阅 [ListCells](https://docs.aws.amazon.com/recovery-readiness/latest/api/cells.html) | 
| 创建恢复组 | 请参阅 [在 ARC 中创建、更新和删除恢复组](recovery-readiness.recovery-groups.md)。 | 请参阅 [CreateRecoveryGroup](https://docs.aws.amazon.com/recovery-readiness/latest/api/recoverygroups.html) | 
| 获取恢复组 | 请参阅 [在 ARC 中创建、更新和删除恢复组](recovery-readiness.recovery-groups.md)。 | 请参阅 [GetRecoveryGroup](https://docs.aws.amazon.com/recovery-readiness/latest/api/recoverygroups-recoverygroupname.html) | 
| 更新恢复组 | 请参阅 [在 ARC 中创建、更新和删除恢复组](recovery-readiness.recovery-groups.md)。 | 请参阅 [UpdateRecoveryGroup](https://docs.aws.amazon.com/recovery-readiness/latest/api/recoverygroups-recoverygroupname.html) | 
| 删除恢复组 | 请参阅 [在 ARC 中创建、更新和删除恢复组](recovery-readiness.recovery-groups.md)。 | 请参阅 [DeleteRecoveryGroup](https://docs.aws.amazon.com/recovery-readiness/latest/api/recoverygroups-recoverygroupname.html) | 
| 列出恢复组 | 请参阅 [在 ARC 中创建、更新和删除恢复组](recovery-readiness.recovery-groups.md)。 | 请参阅 [ListRecoveryGroups](https://docs.aws.amazon.com/recovery-readiness/latest/api/recoverygroups.html) | 
| 创建资源集 | 请参阅 [在 ARC 中创建和更新就绪检查](recovery-readiness.create-readiness-check-or-set.md)。 | 请参阅 [CreateResourceSet](https://docs.aws.amazon.com/recovery-readiness/latest/api/resourcesets.html) | 
| 获取资源集 | 请参阅 [在 ARC 中创建和更新就绪检查](recovery-readiness.create-readiness-check-or-set.md)。 | 请参阅 [GetResourceSet](https://docs.aws.amazon.com/recovery-readiness/latest/api/resourcesets-resourcesetname.html) | 
| 更新资源集 | 请参阅 [在 ARC 中创建和更新就绪检查](recovery-readiness.create-readiness-check-or-set.md)。 | 请参阅 [UpdateResourceSet](https://docs.aws.amazon.com/recovery-readiness/latest/api/resourcesets-resourcesetname.html) | 
| 删除资源集 | 请参阅 [在 ARC 中创建和更新就绪检查](recovery-readiness.create-readiness-check-or-set.md)。 | 请参阅 [DeleteResourceSet](https://docs.aws.amazon.com/recovery-readiness/latest/api/resourcesets-resourcesetname.html) | 
| 列出资源集 | 请参阅 [在 ARC 中创建和更新就绪检查](recovery-readiness.create-readiness-check-or-set.md)。 | 请参阅 [ListResourceSets](https://docs.aws.amazon.com/recovery-readiness/latest/api/resourcesets.html) | 
| 创建就绪检查 | 请参阅 [在 ARC 中创建和更新就绪检查](recovery-readiness.create-readiness-check-or-set.md)。 | 请参阅 [CreateReadinessCheck](https://docs.aws.amazon.com/recovery-readiness/latest/api/readinesschecks.html) | 
| 获取就绪检查 | 请参阅 [在 ARC 中创建和更新就绪检查](recovery-readiness.create-readiness-check-or-set.md)。 | 请参阅 [GetReadinessCheck](https://docs.aws.amazon.com/recovery-readiness/latest/api/readinesschecks-readinesscheckname.html) | 
| 更新就绪检查 | 请参阅 [在 ARC 中创建和更新就绪检查](recovery-readiness.create-readiness-check-or-set.md)。 | 请参阅 [UpdateReadinessCheck](https://docs.aws.amazon.com/recovery-readiness/latest/api/readinesschecks-readinesscheckname.html) | 
| 删除就绪检查 | 请参阅 [在 ARC 中创建和更新就绪检查](recovery-readiness.create-readiness-check-or-set.md)。 | 请参阅 [DeleteReadinessCheck](https://docs.aws.amazon.com/recovery-readiness/latest/api/readinesschecks-readinesscheckname.html) | 
| 列出就绪检查 | 请参阅 [在 ARC 中创建和更新就绪检查](recovery-readiness.create-readiness-check-or-set.md)。 | 请参阅 [ListReadinessChecks](https://docs.aws.amazon.com/recovery-readiness/latest/api/readinesschecks.html) | 
| 列出就绪规则 | 请参阅 [ARC 中的就绪规则描述](recovery-readiness.rules-resources.md)。 | 请参阅 [ListRules](https://docs.aws.amazon.com/recovery-readiness/latest/api/rules.html) | 
| 检查整个就绪检查的状态 | 请参阅 [监控 ARC 中的就绪状态](recovery-readiness.status.md)。 | 请参阅 [GetReadinessCheckStatus](https://docs.aws.amazon.com/recovery-readiness/latest/api/readinesschecks-readinesscheckname-status.html) | 
| 检查资源的状态 | 请参阅 [监控 ARC 中的就绪状态](recovery-readiness.status.md)。 | 请参阅 [GetReadinessCheckResourceStatus](https://docs.aws.amazon.com/recovery-readiness/latest/api/readinesschecks-readinesscheckname-resource-resourceidentifier-status.html) | 
| 检查单元格的状态 | 请参阅 [监控 ARC 中的就绪状态](recovery-readiness.status.md)。 | 请参阅 [GetCellReadinessSummary](https://docs.aws.amazon.com/recovery-readiness/latest/api/cellreadiness-cellname.html) | 
| 检查恢复组的状态 | 请参阅 [监控 ARC 中的就绪状态](recovery-readiness.status.md)。 | 请参阅 [GetRecoveryGroupReadinessSummary](https://docs.aws.amazon.com/recovery-readiness/latest/api/recoverygroupreadiness-recoverygroupname.html) | 

# 使用 ARC 就绪检查 API 操作的示例 AWS CLI
<a name="getting-started-cli-readiness"></a>

**注意**  
从 2026 年 4 月 30 日起，Amazon 应用程序恢复控制器 (ARC) 中的准备情况检查功能将不再向新客户开放。现有客户可以继续正常使用该服务。有关更多信息，请参阅 [Amazon 应用程序恢复控制器 (ARC) 准备情况检查可用性变更](https://docs.aws.amazon.com/r53recovery/latest/dg/arc-readiness-availability-change.html)。

本节介绍简单的应用程序示例，使用使用 Amazon 应用程序恢复控制器 (ARC) 中的准备情况检查功能，使用 API 操作。 AWS Command Line Interface 这些示例旨在帮助您基本了解如何通过 CLI 使用就绪检查功能。

ARC 中的就绪检查会审计应用程序副本中的资源不匹配问题。要为应用程序设置就绪性检查，您必须在 ARC *单元*中设置或建模您的应用程序资源，使其与您为应用程序创建的副本保持一致。然后，您可以设置就绪检查以审计这些副本，以帮助您确保备用应用程序副本及其资源持续与生产副本相匹配

我们来看一个简单的案例。您有一个名为 Simple-Service 的应用程序目前在美国东部（弗吉尼亚州北部）区域 (us-east-1) 运行。您还在美国西部（俄勒冈州）区域 (us-west-2) 有一个应用程序备用副本。在本例中，我们将配置就绪检查，以比较应用程序的这两个版本。这样，我们就可以确保美国西部（俄勒冈州）区域的备用副本在失效转移场景中能够准备好接收流量。

有关使用的更多信息 AWS CLI，请参阅[AWS CLI 命令参考](https://docs.aws.amazon.com/cli/latest/reference/route53-recovery-readiness/index.html)。有关就绪 API 操作的列表和指向更多信息的链接，请参阅[就绪检查 API 操作](actions.readiness.md)。

ARC 中的*单元格*代表故障边界（如可用区或区域），并集合到*恢复组*中。恢复组代表您要检查失效转移就绪情况的应用程序。有关就绪检查组成部分的更多信息，请参阅[就绪检查组件](introduction-components-readiness.md)。

**注意**  
ARC 是一项支持多个终端节点的全球服务， AWS 区域 但您必须在大多数 ARC CLI 命令中指定美国西部（俄勒冈`--region us-west-2`）区域（即指定参数）。例如，创建恢复组或就绪检查等资源。

在我们的应用程序示例中，首先要为拥有资源的每个区域创建一个单元格。然后，创建一个恢复组，接着完成就绪检查的设置。

## 1. 创建单元格
<a name="getting-started-cli-readiness.cell"></a>

1a. 创建 us-east-1 单元格。

```
aws route53-recovery-readiness --region us-west-2 create-cell \
				--cell-name east-cell
```

```
{
    "CellArn": "arn:aws:route53-recovery-readiness::111122223333:cell/east-cell",
    "CellName": "east-cell",
    "Cells": [],
    "ParentReadinessScopes": [],
    "Tags": {}
}
```

1b. 创建 us-west-1 单元格。

```
aws route53-recovery-readiness --region us-west-2 create-cell \
				--cell-name west-cell
```

```
{
    "CellArn": "arn:aws:route53-recovery-readiness::111122223333:cell/west-cell",
    "CellName": "west-cell",
    "Cells": [],
    "ParentReadinessScopes": [],
    "Tags": {}
}
```

1c. 现在，我们有了两个单元格。您可以通过调用 `list-cells` API 来验证它们是否存在。

```
aws route53-recovery-readiness --region us-west-2 list-cells
```

```
{
    "Cells": [
        {
            "CellArn": "arn:aws:route53-recovery-readiness::111122223333:cell/east-cell",
            "CellName": "east-cell",
            "Cells": [],
            "ParentReadinessScopes": [],
            "Tags": {}
        },
        {
            "CellArn": "arn:aws:route53-recovery-readiness::111122223333:cell/west-cell",
            "CellName": "west-cell"
            "Cells": [],
            "ParentReadinessScopes": [],
            "Tags": {}
        }
    ]
}
```

## 2. 创建恢复组
<a name="getting-started-cli-readiness.recovery"></a>

恢复组是 ARC 中恢复就绪的顶级资源。恢复组代表整个应用程序。在该步骤中，我们将创建一个恢复组，对整个应用程序进行建模，然后添加我们创建的两个单元格。

2a. 创建恢复组。

```
aws route53-recovery-readiness --region us-west-2 create-recovery-group \
				--recovery-group-name simple-service-recovery-group \
			    --cells "arn:aws:route53-recovery-readiness::111122223333:cell/east-cell"\
			    "arn:aws:route53-recovery-readiness::111122223333:cell/west-cell"
```

```
{
    "Cells": [],
    "RecoveryGroupArn": "arn:aws:route53-recovery-readiness::111122223333:recovery-group/simple-service-recovery-group",
    "RecoveryGroupName": "simple-service-recovery-group",
    "Tags": {}
}
```

2b. （可选）您可以通过调用 `list-recovery-groups ` API 来验证恢复组是否已正确创建。

```
aws route53-recovery-readiness --region us-west-2 list-recovery-groups
```

```
{
    "RecoveryGroups": [
        {
            "Cells": [
                "arn:aws:route53-recovery-readiness::111122223333:cell/east-cell",
                "arn:aws:route53-recovery-readiness::111122223333:cell/west-cell"
            ],
            "RecoveryGroupArn": "arn:aws:route53-recovery-readiness::111122223333:recovery-group/simple-service-recovery-group",
            "RecoveryGroupName": "simple-service-recovery-group",
            "Tags": {}
        }
    ]
}
```

现在我们已经有了应用程序模型，接着添加要监控的资源。在 ARC 中，您要监控的一组资源称为资源集。资源集包含全部属于相同类型的资源。我们对资源集中的资源进行相互比较，以帮助确定单元格是否准备好进行失效转移。

## 3. 创建资源集
<a name="getting-started-cli-readiness.resource"></a>

假设我们的 Simple-Service 应用程序非常简单，只使用 DynamoDB 表。它在 us-east-1 中有一张 DynamoDB 表，在 us-west-2 中也有一张。资源集还包含就绪范围，用于标识每个资源包含在哪个单元格中。

3a. 创建反映 Simple-Service 应用程序资源的资源集。

```
aws route53-recovery-readiness --region us-west-2 create-resource-set \
				--resource-set-name ImportantInformationTables \
				--resource-set-type AWS::DynamoDB::Table \
				--resources
				ResourceArn="arn:aws:dynamodb:us-west-2:111122223333:table/TableInUsWest2",ReadinessScopes="arn:aws:route53-recovery-readiness::111122223333:cell/west-cell" 
				ResourceArn="arn:aws:dynamodb:us-west-2:111122223333:table/TableInUsEast1",ReadinessScopes="arn:aws:route53-recovery-readiness::111122223333:cell/east-cell"
```

```
{
    "ResourceSetArn": "arn:aws:route53-recovery-readiness::111122223333:resource-set/sample-resource-set",
    "ResourceSetName": "ImportantInformationTables",
    "Resources": [
        {
            "ReadinessScopes": [
                "arn:aws:route53-recovery-readiness::111122223333:cell/west-cell"
            ],
            "ResourceArn": "arn:aws:dynamodb:us-west-2:111122223333:table/TableInUsWest2"
        },
        {
            "ReadinessScopes": [
                "arn:aws:route53-recovery-readiness::111122223333:cell/east-cell"
            ],
            "ResourceArn": "arn:aws:dynamodb:us-west-2:111122223333:table/TableInUsEast1"
        }
    ],
    "Tags": {}
}
```

3b. （可选）您可以通过调用 `list-resource-sets` API 来验证资源集中包含的资源。这列出了 AWS 账户的所有资源集。在这里，您可以看到我们只有上面创建的一个资源集。

```
aws route53-recovery-readiness --region us-west-2 list-resource-sets
```

```
{
    "ResourceSets": [
        {
            "ResourceSetArn": "arn:aws:route53-recovery-readiness::111122223333:resource-set/ImportantInformationTables",
            "ResourceSetName": "ImportantInformationTables",
            "Resources": [
                {
                    "ReadinessScopes": [
                        "arn:aws:route53-recovery-readiness::111122223333:cell/west-cell"
                    ],
                    "ResourceArn": "arn:aws:dynamodb:us-west-2:111122223333:table/TableInUsWest2"
                },
                {
                    "ReadinessScopes": [
                        "arn:aws:route53-recovery-readiness::111122223333:cell/east-cell"
                    ],
                    "ResourceArn": "arn:aws:dynamodb:us-west-2:111122223333:table/TableInUsEast1"
                }
            ],
            "Tags": {}
        }
    ]
}{
    "ResourceSets": [
        {
            "ResourceSetArn": "arn:aws:route53-recovery-readiness::111122223333:resource-set/ImportantInformationTables",
            "ResourceSetName": "ImportantInformationTables",
            "Resources": [
                {
                    "ReadinessScopes": [
                        "arn:aws:route53-recovery-readiness::111122223333:cell/west-cell"
                    ],
                    "ResourceArn": "arn:aws:dynamodb:us-west-2:111122223333:table/TableInUsWest2"
                },
                {
                    "ReadinessScopes": [
                        "arn:aws:route53-recovery-readiness::&ExampleAWSAccountNo1;:cell/east-cell"
                    ],
                    "ResourceArn": "arn:aws:dynamodb:us-west-2:111122223333:table/TableInUsEast1"
                }
            ],
            "Tags": {}
        }
    ]
}
```

现在，我们已经创建了单元格、恢复组和资源集，以便在 ARC 中对 Simple-Service 应用程序进行建模。接下来，我们将设置就绪检查，以监控资源是否准备好进行失效转移。

## 4. 创建就绪检查
<a name="getting-started-cli-readiness.check"></a>

就绪检查将一组规则应用于附加到检查的资源集中的每个资源。规则特定于每种资源类型。也就是说，`AWS::DynamoDB::Table`、`AWS::EC2::Instance` 等有不同的规则。规则会从各个维度检查资源，包括配置、容量（如果可用而且适用）、限制（如果可用而且适用）和路由配置。

**注意**  
要查看就绪检查中应用于资源的规则，可以使用 `get-readiness-check-resource-status` API，如步骤 5 中所述。要查看 ARC 中所有就绪规则的列表，请使用 `list-rules` 或参阅[ARC 中的就绪规则描述](recovery-readiness.rules-resources.md)。ARC 有一组针对每种资源类型运行的特定规则；这些规则目前不能自定义。

4a. 为资源集 ImportantInformationTables 创建就绪检查。

```
aws route53-recovery-readiness --region us-west-2 create-readiness-check \
				--readiness-check-name ImportantInformationTableCheck --resource-set-name ImportantInformationTables
```

```
{
    "ReadinessCheckArn": "arn:aws:route53-recovery-readiness::111122223333:readiness-check/ImportantInformationTableCheck",
    "ReadinessCheckName": "ImportantInformationTableCheck",
    "ResourceSet": "ImportantInformationTables",
    "Tags": {}
}
```

4b. （可选）要验证是否已成功创建就绪检查，请运行 `list-readiness-checks` API。该 API 显示账户中的所有就绪检查。

```
aws route53-recovery-readiness --region us-west-2 list-readiness-checks
```

```
{
    "ReadinessChecks": [
        {
            "ReadinessCheckArn": "arn:aws:route53-recovery-readiness::111122223333:readiness-check/ImportantInformationTableCheck",
            "ReadinessCheckName": "ImportantInformationTableCheck",
            "ResourceSet": "ImportantInformationTables",
            "Tags": {}
        }
    ]
}
```

## 5. 监控就绪检查
<a name="getting-started-cli-readiness.monitor"></a>

现在，我们已经对应用程序进行了建模并添加了就绪检查，接下来可以监控资源了。您可以在四个级别上对应用程序的就绪情况进行建模：就绪检查级别（一组资源）、单个资源级别、单元格级别（可用区或区域中的所有资源）和恢复组级别（整个应用程序）。下面提供了获取上述每种类型的就绪状态的命令。

5a. 查看就绪检查的状态。

```
aws route53-recovery-readiness --region us-west-2 get-readiness-check-status\
				--readiness-check-name ImportantInformationTableCheck
```

```
{
    "Readiness": "READY",
    "Resources": [
        {
            "LastCheckedTimestamp": "2021-01-07T00:53:39Z",
            "Readiness": "READY",
            "ResourceArn": "arn:aws:dynamodb:us-west-2:111122223333:table/TableInUsWest2"
        },
        {
            "LastCheckedTimestamp": "2021-01-07T00:53:39Z",
            "Readiness": "READY",
            "ResourceArn": "arn:aws:dynamodb:us-west-2:111122223333:table/TableInUsEast2"
    ]
}
```

5b. 查看就绪检查中单个资源的详细就绪状态，包括检查的每条规则的状态。

```
aws route53-recovery-readiness --region us-west-2 get-readiness-check-resource-status \
				--readiness-check-name ImportantInformationTableCheck \ 
				--resource-identifier "arn:aws:dynamodb:us-west-2:111122223333:table/TableInUsWest2"
```

```
{"Readiness": "READY",
    "Rules": [
        {
            "LastCheckedTimestamp": "2021-01-07T00:55:41Z",
            "Messages": [],
            "Readiness": "READY",
            "RuleId": "DynamoTableStatus"
        },
        {
            "LastCheckedTimestamp": "2021-01-07T00:55:41Z",
            "Messages": [],
            "Readiness": "READY",
            "RuleId": "DynamoCapacity"
        },
        {
            "LastCheckedTimestamp": "2021-01-07T00:55:41Z",
            "Messages": [],
            "Readiness": "READY",
            "RuleId": "DynamoPeakRcuWcu"
        },
        {
            "LastCheckedTimestamp": "2021-01-07T00:55:41Z",
            "Messages": [],
            "Readiness": "READY",
            "RuleId": "DynamoGSIsPeakRcuWcu"
        },
        {
            "LastCheckedTimestamp": "2021-01-07T00:55:41Z",
            "Messages": [],
            "Readiness": "READY",
            "RuleId": "DynamoGSIsConfig"
        },
        {
            "LastCheckedTimestamp": "2021-01-07T00:55:41Z",
            "Messages": [],
            "Readiness": "READY",
            "RuleId": "DynamoGSIsStatus"
        },
        {
            "LastCheckedTimestamp": "2021-01-07T00:55:41Z",
            "Messages": [],
            "Readiness": "READY",
            "RuleId": "DynamoGSIsCapacity"
        },
        {
            "LastCheckedTimestamp": "2021-01-07T00:55:41Z",
            "Messages": [],
            "Readiness": "READY",
            "RuleId": "DynamoReplicationLatency"
        },
        {
            "LastCheckedTimestamp": "2021-01-07T00:55:41Z",
            "Messages": [],
            "Readiness": "READY",
            "RuleId": "DynamoAutoScalingConfiguration"
        },
        {
            "LastCheckedTimestamp": "2021-01-07T00:55:41Z",
            "Messages": [],
            "Readiness": "READY",
            "RuleId": "DynamoLimits"
        }
    ]
}
```

5c. 查看单元格的总体就绪情况。

```
aws route53-recovery-readiness --region us-west-2 get-cell-readiness-summary \
				--cell-name west-cell
```

```
{
    "Readiness": "READY",
    "ReadinessChecks": [
        {
            "Readiness": "READY",
            "ReadinessCheckName": "ImportantTableCheck"
        }
    ]
}
```

5d. 最后，查看恢复组级别上应用程序的顶级就绪情况。

```
aws route53-recovery-readiness --region us-west-2 get-recovery-group-readiness-summary \
				--recovery-group-name simple-service-recovery-group
```

```
{
    "Readiness": "READY",
    "ReadinessChecks": [
        {
            "Readiness": "READY",
            "ReadinessCheckName": "ImportantTableCheck"
        }
    ]
}
```

# 使用恢复组和就绪检查
<a name="recovery-readiness.recovery-groups-and-readiness-checks"></a>

**注意**  
从 2026 年 4 月 30 日起，Amazon 应用程序恢复控制器 (ARC) 中的准备情况检查功能将不再向新客户开放。现有客户可以继续正常使用该服务。有关更多信息，请参阅 [Amazon 应用程序恢复控制器 (ARC) 准备情况检查可用性变更](https://docs.aws.amazon.com/r53recovery/latest/dg/arc-readiness-availability-change.html)。

本节描述并提供了恢复组和就绪检查的操作流程，包括创建、更新和删除这些资源。

# 在 ARC 中创建、更新和删除恢复组
<a name="recovery-readiness.recovery-groups"></a>

**注意**  
从 2026 年 4 月 30 日起，Amazon 应用程序恢复控制器 (ARC) 中的准备情况检查功能将不再向新客户开放。现有客户可以继续正常使用该服务。有关更多信息，请参阅 [Amazon 应用程序恢复控制器 (ARC) 准备情况检查可用性变更](https://docs.aws.amazon.com/r53recovery/latest/dg/arc-readiness-availability-change.html)。

恢复组在 Amazon 应用程序恢复控制器（ARC）中代表您的应用程序。它通常由两个或多个*单元格*组成，这些单元格在资源和功能上是彼此的副本，因此您可以从一个单元格向另一个单元格进行失效转移。每个单元格都包含一个 AWS 区域或可用区域的活跃资源的 Amazon 资源名称 (ARNs)。资源可能是 Elastic Load Balancing 负载均衡器、自动扩缩组或其他资源。代表另一个可用区或区域的相应单元格包含与活动单元格类型相同的备用资源（负载均衡器、自动扩缩组等）。

单元格代表应用程序的副本。ARC 中的就绪检查可帮助您确定应用程序是否已准备好从一个副本失效转移到另一个副本。但是，您应该根据监控和运行状况检查系统来确定是否从某副本或向某副本进行失效转移，并考虑将就绪检查作为这些系统的补充服务。

就绪检查会审计资源，根据该类型资源的一组预定义规则来确定其就绪情况。创建包含副本的恢复组后，为应用程序中的资源添加 ARC 就绪检查，因此 ARC 可以帮助确保副本长期拥有相同的设置和配置。

**Topics**
+ [创建恢复组](#recovery-readiness.recovery-groups.create)
+ [更新和删除恢复组和单元](#recovery-readiness.recovery-groups.edit-delete)

## 创建恢复组
<a name="recovery-readiness.recovery-groups.create"></a>

本节中的步骤说明了如何在 ARC 控制台中创建恢复组。要了解如何在 Amazon 应用程序恢复控制器（ARC）中使用恢复就绪 API 操作，请参阅[就绪检查 API 操作](actions.readiness.md)。

## 创建恢复组的步骤


1. 访问 [https://console.aws.amazon.com/route53recovery/home#/dashboard](https://console.aws.amazon.com/route53recovery/home#/dashboard)，打开 ARC 控制台。

1. 选择**就绪检查**。

1. 在**恢复就绪**页面上，选择**创建**，然后选择**恢复组**。

1. 输入恢复组的名称，然后选择**下一步**。

1. 选择**创建单元格**，然后选择**添加单元格**。

1. 输入单元格名称。例如，如果您在美国西部（北加利福尼亚）中有一个应用程序副本，则可以添加一个名为 `MyApp-us-west-1` 的单元格。

1. 选择**添加单元格**，然后为第二个单元格添加名称。例如，如果您在美国东部（俄亥俄州）中有一个副本，则可以添加一个名为 ` MyApp-us-east-2` 的单元格。

1. 如果要添加嵌套单元格（区域内可用区中的副本），请选择**操作**，再选择**添加嵌套单元格**，然后输入名称。

1. 为应用程序副本添加了所有单元格和嵌套单元格后，请选择**下一步**。

1. 查看您的恢复组，然后选择**创建恢复组**。

## 更新和删除恢复组和单元
<a name="recovery-readiness.recovery-groups.edit-delete"></a>

本节中的步骤说明了如何在 ARC 控制台中更新和删除恢复组并删除单元格。要了解如何在 Amazon 应用程序恢复控制器（ARC）中使用恢复就绪 API 操作，请参阅[就绪检查 API 操作](actions.readiness.md)。

## 更新或删除恢复组或删除单元格的步骤


1. 访问 [https://console.aws.amazon.com/route53recovery/home#/dashboard](https://console.aws.amazon.com/route53recovery/home#/dashboard)，打开 ARC 控制台。

1. 选择**就绪检查**。

1. 在**恢复就绪**页面上，选择一个恢复组。

1. 要操作恢复组，请选择**操作**，然后选择**编辑恢复组**或**删除恢复组**。

1. 编辑恢复组时，可以添加或删除单元格或嵌套单元格。
   + 要添加单元格，请选择**添加单元格**。
   + 要删除单元格，请在单元格旁边的**操作**标签下，选择**删除单元格**。

# 在 ARC 中创建和更新就绪检查
<a name="recovery-readiness.create-readiness-check-or-set"></a>

**注意**  
从 2026 年 4 月 30 日起，Amazon 应用程序恢复控制器 (ARC) 中的准备情况检查功能将不再向新客户开放。现有客户可以继续正常使用该服务。有关更多信息，请参阅 [Amazon 应用程序恢复控制器 (ARC) 准备情况检查可用性变更](https://docs.aws.amazon.com/r53recovery/latest/dg/arc-readiness-availability-change.html)。

本节提供了就绪检查和资源集的操作流程，包括创建、更新和删除这些资源。

## 创建和更新就绪检查
<a name="recovery-readiness.readiness-checks.create"></a>

本节中的步骤说明了如何在 ARC 控制台中创建就绪检查。要了解如何在 Amazon 应用程序恢复控制器（ARC）中使用恢复就绪 API 操作，请参阅[就绪检查 API 操作](actions.readiness.md)。

要更新就绪检查，您可以编辑就绪检查的资源集，以添加或删除资源或者更改资源的就绪范围。

## 创建就绪检查的步骤


1. 访问 [https://console.aws.amazon.com/route53recovery/home#/dashboard](https://console.aws.amazon.com/route53recovery/home#/dashboard)，打开 ARC 控制台。

1. 选择**就绪检查**。

1. 在**就绪**页面上，选择**创建**，然后选择**就绪检查**。

1. 输入就绪检查的名称，选择要检查的资源类型，然后选择**下一步**。

1. 为就绪检查添加资源集。资源集是不同副本中相同类型的一组资源。选择下列选项之一：
   + 使用已创建资源集中的资源创建就绪检查。
   + 创建新的资源集。

   如果您选择创建新的资源集，请输入资源集的名称并选择**添加**。

1. 为要包含在集合中的每种资源逐一复制并粘贴 Amazon 资源名称 (ARNs)，然后选择 “**下一步**”。
**提示**  
有关 ARC 对每种资源类型所要求的 ARN 格式的示例和更多信息，请参阅[ARC 中的资源类型和 ARN 格式](recovery-readiness.resource-types-arns.md)。

1. 如果您愿意，请查看 ARC 检查该就绪检查中所包含的资源类型时将会使用的就绪规则。然后选择**下一步**。

1. （可选）在**恢复组名称**下，选择要与就绪检查关联的恢复组，然后从资源所在的下拉菜单中为每个资源 ARN 选择一个单元格（区域或可用区）。如果它是应用程序级资源，比如 DNS 路由策略，请选择**全局资源(不含单元格)**。

   *这一步为就绪检查中的资源指定了就绪范围。*
**重要**  
尽管该步骤是可选的，但必须添加就绪范围才能获取恢复组和单元格的就绪摘要信息。如果跳过该步骤，没有通过在此处选择就绪范围将就绪检查与恢复组的资源相关联，那么 ARC 将无法返回恢复组或单元格的就绪摘要信息。

1. 选择**下一步**。

1. 检查确认页面上的信息，然后选择**创建就绪检查**。

## 删除就绪检查的步骤


1. 访问 [https://console.aws.amazon.com/route53recovery/home#/dashboard](https://console.aws.amazon.com/route53recovery/home#/dashboard)，打开 ARC 控制台。

1. 选择**就绪检查**。

1. 选择就绪检查，然后在**操作**下选择**删除**。

## 创建和编辑资源集
<a name="recovery-readiness.resource-set.create"></a>

通常情况下，在创建就绪检查的过程中创建资源集，但也可以单独创建资源集。您也可以编辑资源集，以添加或删除资源。本节中的步骤说明了如何在 ARC 控制台中创建或编辑资源集。要了解如何在 Amazon 应用程序恢复控制器（ARC）中使用恢复就绪 API 操作，请参阅[就绪检查 API 操作](actions.readiness.md)。

## 创建资源集的步骤


1. 在[https://console.aws.amazon.com/route53/家](https://console.aws.amazon.com/route53/home)中打开 Route 53 控制台。

1. 在**应用程序恢复控制器**下，选择**资源集**。

1. 选择**创建**。

1. 输入资源集的名称，然后选择要包含在资源集中的资源类型。

1. 选择**添加**，然后输入要添加到资源集的资源的 Amazon 资源名称 (ARN)。

1. 添加完资源后，选择**创建资源集**。

## 编辑资源集的步骤


1. 访问 [https://console.aws.amazon.com/route53recovery/home#/dashboard](https://console.aws.amazon.com/route53recovery/home#/dashboard)，打开 ARC 控制台。

1. 选择**就绪检查**。

1. 在**资源集**下，选择**操作**，然后选择**编辑**。

1. 请执行以下操作之一：
   + 要从资源集中删除资源，请选择**删除**。
   + 要向资源集中添加资源，请选择**添加**，然后输入该资源的 Amazon 资源名称 (ARN)。

1. 您还可以编辑资源的就绪范围，以便将资源与其他单元格关联起来，进行就绪检查。

1. 选择**保存**。

# 监控 ARC 中的就绪状态
<a name="recovery-readiness.status"></a>

**注意**  
从 2026 年 4 月 30 日起，Amazon 应用程序恢复控制器 (ARC) 中的准备情况检查功能将不再向新客户开放。现有客户可以继续正常使用该服务。有关更多信息，请参阅 [Amazon 应用程序恢复控制器 (ARC) 准备情况检查可用性变更](https://docs.aws.amazon.com/r53recovery/latest/dg/arc-readiness-availability-change.html)。

在 Amazon 应用程序恢复控制器（ARC）中，您可以按以下级别查看应用程序就绪情况：
+ 资源集中资源的就绪检查级别
+ 单个资源级别
+ 可用区或 AWS 区域中所有资源的单元（应用程序副本）级别
+ 整个应用程序的恢复组级别

您可以收到有关就绪状态变化的通知，也可以在 Route 53 控制台中或使用 ARC CLI 命令监控就绪状态的变化。

## 就绪状态通知
<a name="recovery-readiness.status-alert"></a>

您可以使用 Amazon EventBridge 设置事件驱动的规则，以监控 ARC 资源并通知您有关就绪状态的变化。有关更多信息，请参阅 [在 Amazon 上使用 ARC 中的准备情况检查 EventBridge](eventbridge-readiness.md)。

## 在 ARC 控制台中监控就绪状态
<a name="recovery-readiness.status-console"></a>

以下过程将介绍如何在 AWS 管理控制台中监控恢复就绪。

1. 访问 [https://console.aws.amazon.com/route53recovery/home#/dashboard](https://console.aws.amazon.com/route53recovery/home#/dashboard)，打开 ARC 控制台。

1. 选择**就绪检查**。

1. 在**就绪**页面的**恢复组**下，查看每个恢复组（应用程序）的**恢复组就绪状态**。

   您还可以查看特定单元格或单个资源的就绪情况。

## 使用 CLI 命令监控就绪状态
<a name="recovery-readiness.status-cli"></a>

本节提供了用于查看不同级别应用程序和资源的就绪状态的 AWS CLI 命令示例。

**资源集的就绪情况**  
您为资源集（一组资源）创建的就绪检查的状态。  
`aws route53-recovery-readiness --region us-west-2 get-readiness-check-status --readiness-check-name ReadinessCheckName `

**单个资源的就绪情况**  
要在就绪检查中获取单个资源的状态，包括检查的每条就绪规则的状态，请指定就绪检查名称和资源 ARN。例如：  
`aws route53-recovery-readiness --region us-west-2 get-readiness-check-status --readiness-check-name ReadinessCheckName --resource-arn "arn:aws:dynamodb:us-west-2:111122223333:table/TableName"`

**单元格的就绪情况**  
一个单元格（即区域或可用区）的状态。  
`aws route53-recovery-readiness --region us-west-2 get-cell-readiness-summary --cell-name CellName `

**应用程序的就绪情况**  
整个应用程序（恢复组级别）的状态。  
`aws route53-recovery-readiness --region us-west-2 get-recovery-group-readiness-summary --recovery-group-name RecoveryGroupName `

# 获取 ARC 中的架构建议
<a name="recovery-readiness.evaluate-arch"></a>

**注意**  
从 2026 年 4 月 30 日起，Amazon 应用程序恢复控制器 (ARC) 中的准备情况检查功能将不再向新客户开放。现有客户可以继续正常使用该服务。有关更多信息，请参阅 [Amazon 应用程序恢复控制器 (ARC) 准备情况检查可用性变更](https://docs.aws.amazon.com/r53recovery/latest/dg/arc-readiness-availability-change.html)。

如果您有现成的应用程序，Amazon 应用程序恢复控制器（ARC）可以评估应用程序架构和路由策略，提供修改设计的建议，以提高应用程序的恢复弹性。在 ARC 中创建代表应用程序的恢复组后，请按照本节中的步骤获取有关应用程序架构的建议。

如果您尚未为恢复组 DNS 目标资源指定目标资源，我们建议您指定一个，以便我们提供更详细的建议。当您提供更多信息时，ARC 可以为您提供更好的建议。例如，如果您输入 Amazon Route 53 资源记录或网络负载均衡器作为目标资源，ARC 可以提供有关您是否为恢复组创建了最佳数量的单元格的信息。

对于 DNS 目标资源，请注意以下几点：
+ 仅为目标资源指定 Route 53 资源记录或网络负载均衡器。
+ 仅为每个恢复组创建一个 DNS 目标资源。
+ 建议：为每个单元格创建一个 DNS 目标资源。
+ 在就绪检查中，将 DNS 目标资源组成一个资源集。

以下步骤说明了如何创建 DNS 目标资源以及如何获取适用于应用程序的架构建议。

# 获取架构更新建议的步骤


1. 访问 [https://console.aws.amazon.com/route53recovery/home#/dashboard](https://console.aws.amazon.com/route53recovery/home#/dashboard)，打开 ARC 控制台。

1. 选择**就绪检查**。

1. 在**恢复组名称**下，选择代表应用程序的恢复组。

1. 在**恢复组的详细信息**页面的**操作**菜单上，选择**获取该恢复组的架构建议**。

1. 如果您尚未创建 DNS 目标资源就绪检查，请创建一个，以便 ARC 提供架构建议。选择**创建 DNS 目标资源**。

   有关 DNS 目标资源的更多信息，请参阅[就绪检查组件](introduction-components-readiness.md)。

1. 要为 DNS 目标资源创建资源集，请创建就绪检查。输入就绪检查的名称，然后对于就绪检查类型，选择 **DNS 目标资源**。

1. 输入资源集的名称。

1. 输入应用程序的属性，包括 DNS 名称、托管区 ARN 和记录集 ID。
**提示**  
要查看托管区 ARN 的格式，请参阅[ARC 中的资源类型和 ARN 格式](recovery-readiness.resource-types-arns.md)中**托管区的 ARN 格式**。

   可选但强烈推荐的步骤是，选择**添加可选属性**，然后提供网络负载均衡器 ARN 或域的 Route 53 资源记录。

1. （可选）在**恢复组配置**中，为您的 DNS 目标资源选择一个单元格，以设置就绪范围。

1. 选择**创建资源集**。

1. 在**恢复组**的详细信息页面上，选择**获取架构建议**。ARC 在页面上显示了一组建议。

查看建议列表。然后，您可以决定是否以及如何进行更改，以提高应用程序的恢复弹性。

# 在 ARC 中创建跨账户授权
<a name="recovery-readiness.cross-account"></a>

**注意**  
从 2026 年 4 月 30 日起，Amazon 应用程序恢复控制器 (ARC) 中的准备情况检查功能将不再向新客户开放。现有客户可以继续正常使用该服务。有关更多信息，请参阅 [Amazon 应用程序恢复控制器 (ARC) 准备情况检查可用性变更](https://docs.aws.amazon.com/r53recovery/latest/dg/arc-readiness-availability-change.html)。

您的资源可能分布在多个 AWS 账户中，这使得全面了解应用程序的运行状况变得困难。这也可能导致难以获取做出快速决策所需的信息。为了在 Amazon 应用程序恢复控制器（ARC）中简化就绪检查，您可以使用*跨账户授权*。

ARC 中的跨账户授权会与就绪检查功能结合使用。通过跨账户授权，您可以使用一个中央 AWS 账户来监控位于多个 AWS 账户中的资源。在包含要监控的资源的每个账户中，您可以授权中央账户访问这些资源。然后，该中央账户可以为所有账户中的资源创建就绪检查，并且您可以从该中央账户监控失效转移就绪情况。

**注意**  
在控制台中不能设置跨账户授权。请使用 ARC API 操作来设置和使用跨账户授权。为了帮助您入门，本节提供了 AWS CLI 命令示例。

假设某个应用程序有一个账户在美国西部（俄勒冈州）区域 (us-west-2) 拥有资源，还有一个账户在美国东部（弗吉尼亚州北部）区域 (us-east-1) 拥有您想要监控的资源。借助跨账户授权，您可以通过 ARC 从一个账户 us-west-2 访问这两组资源。

例如，假设您有以下 AWS 账户：
+ 美国西部账户：999999999999
+ 美国东部账户：111111111111

在 us-east-1 账户 (111111111111) 中，我们可以启用跨账户授权，并为 us-west-2 IAM 账户中的（根）用户指定 Amazon 资源名称 (ARN)：`arn:aws:iam::999999999999:root`，从而允许 us-west-2 账户 (999999999999) 访问。创建授权后，us-west-2 账户便可将 us-east-1 拥有的资源添加到资源集中，并创建要对该资源集运行的就绪检查。

以下示例说明了如何为一个账户设置跨账户授权。您必须在每个拥有要在 ARC 中添加和监控的 AWS 资源的额外账户中启用跨账户授权。

**注意**  
ARC 是一项全球服务，支持多个 AWS 区域的终端节点，但您必须在大多数 ARC CLI 命令中指定美国西部（俄勒冈`--region us-west-2`）区域（即指定参数）。

以下 AWS CLI 命令显示如何为此示例设置跨账户授权：

```
aws route53-recovery-readiness --region us-west-2 --profile profile-in-us-east-1-account \
				create-cross-account-authorization --cross-account-authorization arn:aws:iam::999999999999:root
```

要禁用该授权，请执行以下操作：

```
aws route53-recovery-readiness --region us-west-2 --profile profile-in-us-east-1-account \
				delete-cross-account-authorization --cross-account-authorization arn:aws:iam::999999999999:root
```

要在一个特定账户中查看所有您已提供跨账户授权的账户，请使用 `list-cross-account-authorizations` 命令。请注意，目前无法反向检查。也就是说，您无法在某账户资料中使用 API 操作来列出它已获得跨账户授权（以添加和监控资源）的所有账户。

```
aws route53-recovery-readiness --region us-west-2 --profile profile-in-us-east-1-account \
				list-cross-account-authorizations
```

```
{
    "CrossAccountAuthorizations": [
        "arn:aws:iam::999999999999:root"
    ]
}
```

# 就绪规则、资源类型和 ARNS
<a name="recovery-readiness.rules-and-resource-types"></a>

**注意**  
从 2026 年 4 月 30 日起，Amazon 应用程序恢复控制器 (ARC) 中的准备情况检查功能将不再向新客户开放。现有客户可以继续正常使用该服务。有关更多信息，请参阅 [Amazon 应用程序恢复控制器 (ARC) 准备情况检查可用性变更](https://docs.aws.amazon.com/r53recovery/latest/dg/arc-readiness-availability-change.html)。

本节包含有关准备规则描述、支持的资源类型以及您用于资源集的 Amazon 资源名称 (ARNs) 格式的参考信息。

# ARC 中的就绪规则描述
<a name="recovery-readiness.rules-resources"></a>

**注意**  
从 2026 年 4 月 30 日起，Amazon 应用程序恢复控制器 (ARC) 中的准备情况检查功能将不再向新客户开放。现有客户可以继续正常使用该服务。有关更多信息，请参阅 [Amazon 应用程序恢复控制器 (ARC) 准备情况检查可用性变更](https://docs.aws.amazon.com/r53recovery/latest/dg/arc-readiness-availability-change.html)。

本节列出了 Amazon 应用程序恢复控制器（ARC）支持的所有资源类型的就绪规则描述。要查看 ARC 支持的资源类型列表，请参阅[ARC 中的资源类型和 ARN 格式](recovery-readiness.resource-types-arns.md)。

您还可以通过执行以下操作，在 ARC 控制台上或使用 API 操作查看就绪规则描述：
+ 要在控制台中查看就绪规则，请按照以下过程中的步骤操作：[在控制台上查看就绪规则](#recovery-readiness.list-rules-console)。
+ 要使用 API 查看就绪规则，请参阅[ListRules](https://docs.aws.amazon.com/recovery-readiness/latest/api/rules.html)操作。

**Topics**
+ [ARC 中的就绪规则](#recovery-readiness.list-rules)
+ [在控制台上查看就绪规则](#recovery-readiness.list-rules-console)

## ARC 中的就绪规则
<a name="recovery-readiness.list-rules"></a>

本节列出了 ARC 支持的每种资源类型的一组就绪规则。

在浏览规则描述时，您可以看到大部分都包含词语**检查所有**或**检查每个**。要了解这些词语如何说明在就绪检查背景下规则的工作原理，以及有关 ARC 如何设置就绪状态的其他详细信息，请参阅[就绪规则如何确定就绪状态](recovery-readiness.rules.md)。

### 就绪规则
<a name="recovery-readiness.list-rules-all"></a>

ARC 使用以下就绪规则审计资源。

**Amazon API Gateway 版本 1 阶段**  
+ **ApiGwV1ApiKeyCount**：检查所有 API Gateway 阶段，确保它们关联的 API 密钥数量相同。
+ **ApiGwV1ApiKeySource**：检查所有 API Gateway 阶段，确保它们的 `API Key Source` 值相同。
+ **ApiGwV1BasePath**：检查所有 API Gateway 阶段，确保它们链接到相同的基本路径。
+ **ApiGwV1BinaryMediaTypes**：检查所有 API Gateway 阶段，确保它们支持相同的二进制媒体类型。
+ **ApiGwV1CacheClusterEnabled**：检查所有 API Gateway 阶段，确保全部启用或都没启用 `Cache Cluster`。
+ **ApiGwV1CacheClusterSize**：检查所有 API Gateway 阶段，确保它们的 `Cache Cluster Size` 相同。如果有一个的值比较大，则其他标记为 NOT READY。
+ **ApiGwV1CacheClusterStatus**：检查所有 API Gateway 阶段，确保 `Cache Cluster` 处于 AVAILABLE 状态。
+ **ApiGwV1DisableExecuteApiEndpoint**：检查所有 API Gateway 阶段，确保全部禁用或都没禁用 `Execute API Endpoint`。
+ **ApiGwV1DomainName**：检查所有 API Gateway 阶段，确保它们链接到相同的域名。
+ **ApiGwV1EndpointConfiguration**：检查所有 API Gateway 阶段，确保它们链接到具有相同端点配置的域。
+ **ApiGwV1EndpointDomainNameStatus**：检查所有 API Gateway 阶段，确保它们关联的域名处于 AVAILABLE 状态。
+ **ApiGwV1MethodSettings**：检查所有 API Gateway 阶段，确保它们的 `Method Settings` 值相同。
+ **ApiGwV1MutualTlsAuthentication**：检查所有 API Gateway 阶段，确保它们的 `Mutual TLS Authentication` 值相同。
+ **ApiGwV1Policy**：检查所有 API Gateway 阶段，确保全部使用或都不使用 API 级别策略。
+ **ApiGwV1RegionalDomainName**：检查所有 API Gateway 阶段，确保它们链接到相同的区域域名。注意：该规则不影响就绪状态。
+ **ApiGwV1ResourceMethodConfigs**：检查所有 API Gateway 阶段，确保它们具有相似的资源层次结构，包括相关配置。
+ **ApiGwV1SecurityPolicy**：检查所有 API Gateway 阶段，确保它们的 `Security Policy` 值相同。
+ **ApiGwV1Quotas**：检查所有 API Gateway 组，确保它们符合由 Service Quotas 管理的限额（限制）。
+ **ApiGwV1UsagePlans**：检查所有 API Gateway 阶段，确保它们链接到具有相同配置的 `Usage Plans`。

**Amazon API Gateway 版本 2 阶段**  
+ **ApiGwV2ApiKeySelectionExpression**：检查所有 API Gateway 阶段，确保它们的 `API Key Selection Expression` 值相同。
+ **ApiGwV2ApiMappingSelectionExpression**：检查所有 API Gateway 阶段，确保它们的 `API Mapping Selection Expression` 值相同。
+ **ApiGwV2CorsConfiguration**：检查所有 API Gateway 阶段，确保它们具有相同的 CORS 相关配置。
+ **ApiGwV2DomainName**：检查所有 API Gateway 阶段，确保它们链接到相同的域名。
+ **ApiGwV2DomainNameStatus**：检查所有 API Gateway 阶段，确保域名处于 AVAILABLE 状态。
+ **ApiGwV2EndpointType**：检查所有 API Gateway 阶段，确保它们的 `Endpoint Type` 值相同。
+ **ApiGwV2Quotas**：检查所有 API Gateway 组，确保它们符合由 Service Quotas 管理的限额（限制）。
+ **ApiGwV2MutualTlsAuthentication**：检查所有 API Gateway 阶段，确保它们的 `Mutual TLS Authentication` 值相同。
+ **ApiGwV2ProtocolType**：检查所有 API Gateway 阶段，确保它们的 `Protocol Type` 值相同。
+ **ApiGwV2RouteConfigs**：检查所有 API Gateway 阶段，确保它们具有相同的路由层次结构和相同的配置。
+ **ApiGwV2RouteSelectionExpression**：检查所有 API Gateway 阶段，确保它们的 `Route Selection Expression` 值相同。
+ **ApiGwV2RouteSettings**：检查所有 API Gateway 阶段，确保它们的 `Default Route Settings` 值相同。
+ **ApiGwV2SecurityPolicy**：检查所有 API Gateway 阶段，确保它们的 `Security Policy` 值相同。
+ **ApiGwV2StageVariables**: 检查所有 API Gateway 阶段，确保它们的 `Stage Variables` 都与其他阶段相同。
+ **ApiGwV2ThrottlingBurstLimit**：检查所有 API Gateway 阶段，确保它们的 `Throttling Burst Limit` 值相同。
+ **ApiGwV2ThrottlingRateLimit**：检查所有 API Gateway 阶段，确保它们的 `Throttling Rate Limit` 值相同。

**Amazon Aurora 集群**  
+ **RdsClusterStatus**：检查每个 Aurora 集群，以确保其状态为 `AVAILABLE` 或 `BACKING-UP`。
+ **RdsEngineMode**：检查所有 Aurora 集群，确保它们的 `Engine Mode` 值相同。
+ **RdsEngineVersion**：检查所有 Aurora 集群，确保它们的 `Major Version` 值相同。
+ **RdsGlobalReplicaLag**：检查每个 Aurora 集群，确保其 `Global Replica Lag` 小于 30 秒。
+ **RdsNormalizedCapacity**：检查所有 Aurora 集群，确保其标准化容量占资源集中最大容量的 15% 以内。
+ **RdsInstanceType**：检查所有 Aurora 集群，确保它们有相同的实例类型。
+ **RdsQuotas**：检查所有 Aurora 集群，确保它们符合由 Service Quotas 管理的限额（限制）。

**自动扩缩组**  
+ **AsgMinSizeAndMaxSize**：检查所有自动扩缩组，确保它们的组大小下限和上限相同。
+ **AsgAZCount**：检查所有自动扩缩组，确保其可用区数量相同。
+ **AsgInstanceTypes**：检查所有自动扩缩组，确保它们有相同的实例类型。注意：该规则不影响就绪状态。
+ **AsgInstanceSizes**：检查所有自动扩缩组，确保它们的实例大小相同。
+ **AsgNormalizedCapacity**：检查所有自动扩缩组，确保其标准化容量占资源集中最大容量的 15% 以内。
+ **AsgQuotas**：检查所有自动扩缩组，确保它们符合由 Service Quotas 管理的限额（限制）。

**CloudWatch 警报**  
+ **CloudWatchAlarmState**：检查 CloudWatch 警报以确保每个警报都未处于`ALARM`或`INSUFFICIENT_DATA`状态。

**客户网关**  
+ **CustomerGatewayIpAddress**：检查所有客户网关，确保它们的 IP 地址相同。
+ **CustomerGatewayState**: 检查客户网关，确保每个网关都处于 `AVAILABLE` 状态。
+ **CustomerGatewayVPNType**：检查所有客户网关，确保它们的 VPN 类型相同。

**DNS target resources**  
+ **DnsTargetResourceHostedZoneConfigurationRule**：检查所有 DNS 目标资源，确保它们具有相同的 Amazon Route 53 托管区 ID，并且每个托管区都不是私有的。注意：该规则不影响就绪状态。
+ **DnsTargetResourceRecordSetConfigurationRule**：检查所有 DNS 目标资源，确保它们的资源记录缓存存活时间 (TTL) 相同， TTLs 并且小于或等于 300。
+ **DnsTargetResourceRoutingRule**：检查每个与别名资源记录集关联的 DNS 目标资源，确保其将流量路由到目标资源上配置的 DNS 名称。注意：该规则不影响就绪状态。
+ **DnsTargetResourceHealthCheckRule**：检查所有 DNS 目标资源，确保运行状况检查在适当时与其资源记录集相关联，而非相反情况。注意：该规则不影响就绪状态。

**Amazon DynamoDB 表**  
+ **DynamoConfiguration**：检查所有 DynamoDB 表，确保它们具有相同的密钥、属性、服务器端加密和流配置。
+ **DynamoTableStatus**：检查每个 DynamoDB 表，确保其状态为 ACTIVE。
+ **DynamoCapacity**：检查所有 DynamoDB 表，确保其预配置的读取容量和写入容量占资源集中最大容量的 20% 以内。
+ **DynamoPeakRcuWcu**：检查每个 DynamoDB 表，确保其峰值流量与其他表类似，以保证预配置的容量。
+ **DynamoGsiPeakRcuWcu**：检查每个 DynamoDB 表，确保其最大读取和写入容量与其他表类似，以保证预配置的容量。
+ **DynamoGsiConfig**：检查所有具有全局二级索引的 DynamoDB 表，确保这些表使用相同的索引、键架构和投影。
+ **DynamoGsiStatus**：检查所有具有全局二级索引的 DynamoDB 表，确保全局二级索引处于 ACTIVE 状态。
+ **DynamoGsiCapacity**：检查所有具有全局二级索引的 DynamoDB 表，确保这些表的预配置 GSI 读取容量和 GSI 写入容量占资源集中最大容量的 20% 以内。
+ **DynamoReplicationLatency**：检查所有作为全局表的 DynamoDB 表，确保它们的复制延迟相同。
+ **DynamoAutoScalingConfiguration**：检查所有启用了自动扩缩的 DynamoDB 表，确保它们具有相同的最小容量、最大容量及目标读取和写入容量。
+ **DynamoQuotas**：检查所有 DynamoDB 表，确保它们符合由 Service Quotas 管理的限额（限制）。

**Elastic Load Balancing（经典负载均衡器）**  
+ **ElbV1CheckAzCount**：检查每个经典负载均衡器，确保其仅连接到一个可用区。注意：该规则不影响就绪状态。
+ **ElbV1AnyInstances**: 检查所有经典负载均衡器，确保它们至少有一个 EC2 实例。
+ **ElbV1AnyInstancesHealthy**: 检查所有经典负载均衡器，确保它们至少有一个运行正常的 EC2 实例。
+ **ElbV1Scheme**：检查所有经典负载均衡器，确保它们采用相同的负载均衡器方案。
+ **ElbV1HealthCheckThreshold**：检查所有经典负载均衡器，确保它们的运行状况检查阈值相同。
+ **ElbV1HealthCheckInterval**：检查所有经典负载均衡器，确保它们的运行状况检查间隔值相同。
+ **ElbV1CrossZoneRoutingEnabled**：检查所有经典负载均衡器，确保它们具有相同的跨区域负载均衡值（ENABLED 或 DISABLED）。
+ **ElbV1AccessLogsEnabledAttribute**：检查所有经典负载均衡器，确保它们的访问日志值相同（ENABLED 或 DISABLED）。
+ **ElbV1ConnectionDrainingEnabledAttribute**：检查所有经典负载均衡器，确保它们的连接耗尽值相同（ENABLED 或 DISABLED）。
+ **ElbV1ConnectionDrainingTimeoutAttribute**：检查所有经典负载均衡器，确保它们的连接耗尽超时值相同。
+ **ElbV1IdleTimeoutAttribute**：检查所有经典负载均衡器，确保它们的空闲超时值相同。
+ **ElbV1ProvisionedCapacityLcuCount**：检查所有预配置的 LCU 大于 10 的经典负载均衡器，确保它们占资源集中最高预配置 LCU 的 20% 以内。
+ **ElbV1ProvisionedCapacityStatus**：检查每个经典负载均衡器的预配置容量状态，确保其值不是 DISABLED 或 PENDING。

**Amazon EBS 卷**  
+ **EbsVolumeEncryption**：检查所有 EBS 卷，确保它们的加密值相同（ENABLED 或 DISABLED）。
+ **EbsVolumeEncryptionDefault**：检查所有 EBS 卷，确保它们的默认加密值相同（ENABLED 或 DISABLED）。
+ **EbsVolumeIops**：检查所有EBS卷以确保它们的每秒 input/output 操作数 (IOPS) 相同。
+ **EbsVolumeKmsKeyId**：检查所有EBS卷以确保它们的默认 AWS KMS 密钥 ID 相同。
+ **EbsVolumeMultiAttach**：检查所有 EBS 卷，确保它们的多重挂载值相同（ENABLED 或 DISABLED）。
+ **EbsVolumeQuotas**：检查所有 EBS 卷，确保它们符合 Service Quotas 设置的限额（限制）。
+ **EbsVolumeSize**：检查所有 EBS 卷，确保它们的可读大小相同。
+ **EbsVolumeState**：检查所有 EBS 卷，确保它们的卷状态相同。
+ **EbsVolumeType**：检查所有 EBS 卷，确保它们的卷类型相同。

**AWS Lambda 函数**  
+ **LambdaMemorySize**：检查所有 Lambda 函数，确保它们的内存大小相同。如果有一个内存比较多，则其他标记为 `NOT READY`。
+ **LambdaFunctionTimeout**：检查所有 Lambda 函数，确保它们的超时值相同。如果有一个的值比较大，则其他标记为 `NOT READY`。
+ **LambdaFunctionRuntime**：检查所有 Lambda 函数，确保它们都具有相同的运行时间。
+ **LambdaFunctionReservedConcurrentExecutions**：检查所有 Lambda 函数，确保它们都具有相同的 `Reserved Concurrent Executions` 值。如果有一个的值比较大，则其他标记为 `NOT READY`。
+ **LambdaFunctionDeadLetterConfig**：检查所有 Lambda 函数，确保它们全都定义或都没定义 `Dead Letter Config`。
+ **LambdaFunctionProvisionedConcurrencyConfig**：检查所有 Lambda 函数，确保它们的 `Provisioned Concurrency` 值相同。
+ **LambdaFunctionSecurityGroupCount**：检查所有 Lambda 函数，确保它们的 `Security Groups` 值相同。
+ **LambdaFunctionSubnetIdCount**：检查所有 Lambda 函数，确保它们的 `Subnet Ids` 值相同。
+ **LambdaFunctionEventSourceMappingMatch**：检查所有 Lambda 函数，确保它们之间所有选定的 `Event Source Mapping ` 属性都匹配。
+ **LambdaFunctionLimitsRule**：检查所有 Lambda 函数，确保它们符合由 Service Quotas 管理的限额（限制）。

**网络负载均衡器和应用程序负载均衡器**  
+ **ElbV2CheckAzCount**：检查每个网络负载均衡器，确保其仅连接到一个可用区。注意：该规则不影响就绪状态。
+ **ElbV2TargetGroupsCanServeTraffic**：检查每个网络负载均衡器和应用程序负载均衡器，确保其至少有一个运行正常的 Amazon EC2 实例。
+ **ElbV2State**：检查每个网络负载均衡器和应用程序负载均衡器，确保其处于 `ACTIVE` 状态。
+ **ElbV2IpAddressType**：检查所有网络负载均衡器和应用程序负载均衡器，确保它们的 IP 地址类型相同。
+ **ElbV2Scheme**：检查所有网络负载均衡器和应用程序负载均衡器，确保它们的方案相同。
+ **ElbV2Type**：检查所有网络负载均衡器和应用程序负载均衡器，确保它们的类型相同。
+ **ElbV2S3LogsEnabled**：检查所有网络负载均衡器和应用程序负载均衡器，确保它们的 Amazon S3 服务器访问日志值相同（ENABLED 或 DISABLED）。
+ **ElbV2DeletionProtection**：检查所有网络负载均衡器和应用程序负载均衡器，确保它们的删除保护值相同（ENABLED 或 DISABLED）。
+ **ElbV2IdleTimeoutSeconds**：检查所有网络负载均衡器和应用程序负载均衡器，确保它们的空闲时间秒数值相同。
+ **ElbV2HttpDropInvalidHeaders**：检查所有网络负载均衡器和应用程序负载均衡器，确保它们的 HTTP 丢弃无效标题值相同。
+ **ElbV2Http2Enabled**：检查所有网络负载均衡器和应用程序负载均衡器，确保它们的值相同 HTTP2 （启用或禁用）。
+ **ElbV2CrossZoneEnabled**：检查所有网络负载均衡器和应用程序负载均衡器，确保它们具有相同的跨区域负载均衡值（ENABLED 或 DISABLED）。
+ **ElbV2ProvisionedCapacityLcuCount**：检查所有预配置的 LCU 大于 10 的网络负载均衡器和应用程序负载均衡器，确保它们占资源集中最高预配置 LCU 的 20% 以内。
+ **ElbV2ProvisionedCapacityEnabled**：检查所有网络负载均衡器和应用程序负载均衡器的预配置容量状态，确保其值不是 DISABLED 或 PENDING。

**Amazon MSK 集群**  
+ **MskClusterClientSubnet**：检查每个 MSK 集群，确保它只有两个或只有三个客户端子网。
+ **MskClusterInstanceType**：检查所有 MSK 集群，确保它们具有相同的 Amazon EC2 实例类型。
+ **MskClusterSecurityGroups**：检查所有 MSK 集群，确保它们具有相同的安全组。
+ **MskClusterStorageInfo**：检查所有 MSK 集群，确保它们的 EBS 存储卷大小相同。如果有一个的值比较大，则其他标记为 NOT READY。
+ **MskClusterACMCertificate**：检查所有 MSK 集群，确保它们具有相同的客户端授权证书列表。 ARNs
+ **MskClusterServerProperties**：检查所有 MSK 集群，确保它们的 `Current Broker Software Info` 值相同。
+ **MskClusterKafkaVersion**：检查所有 MSK 集群，确保它们的 Kafka 版本相同。
+ **MskClusterEncryptionInTransitInCluster**：检查所有 MSK 集群，确保它们的 `Encryption In Transit In Cluster` 值相同。
+ **MskClusterEncryptionInClientBroker**：检查所有 MSK 集群，确保它们的 `Encryption In Transit Client Broker` 值相同。
+ **MskClusterEnhancedMonitoring**：检查所有 MSK 集群，确保它们的 `Enhanced Monitoring` 值相同。
+ **MskClusterOpenMonitoringInJmx**：检查所有 MSK 集群，确保它们的 `Open Monitoring JMX Exporter` 值相同。
+ **MskClusterOpenMonitoringInNode**: 检查所有 MSK 集群，确保它们的 `Open Monitoring Not Exporter.` 值相同。
+ **MskClusterLoggingInS3**：检查所有 MSK 集群，确保它们的 `Is Logging in S3` 值相同。
+ **MskClusterLoggingInFirehose**：检查所有 MSK 集群，确保它们的 `Is Logging In Firehose` 值相同。
+ **MskClusterLoggingInCloudWatch**：检查所有 MSK 集群，确保它们的 `Is Logging Available In CloudWatch Logs` 值相同。
+ **MskClusterNumberOfBrokerNodes**：检查所有 MSK 集群，确保它们的 `Number of Broker Nodes` 值相同。如果有一个的值比较大，则其他标记为 NOT READY。
+ **MskClusterState**：检查每个 MSK 集群，确保其处于 ACTIVE 状态。
+ **MskClusterLimitsRule**：检查所有 Lambda 函数，确保它们符合由 Service Quotas 管理的限额（限制）。

**Amazon Route 53 运行状况检查**  
+ **R53HealthCheckType**：检查每个 Route 53 运行状况检查，确保其类型不是 CALCULATED，并且所有检查的类型都相同。
+ **R53HealthCheckDisabled**：检查每个 Route 53 运行状况检查，确保其不处于 DISABLED 状态。
+ **R53HealthCheckStatus**：检查每个 Route 53 运行状况检查，确保其处于 SUCCESS 状态。
+ **R53HealthCheckRequestInterval**：检查所有 Route 53 运行状况检查，确保它们都具有相同的 `Request Interval` 值。
+ **R53HealthCheckFailureThreshold**：检查所有 Route 53 运行状况检查，确保它们都具有相同的 `Failure Threshold.` 值。
+ **R53HealthCheckEnableSNI**：检查所有 Route 53 运行状况检查，确保它们都具有相同的 `Enable SNI.` 值。
+ **R53HealthCheckSearchString**：检查所有 Route 53 运行状况检查，确保它们都具有相同的 `Search String.` 值。
+ **R53HealthCheckRegions**：检查所有 Route 53 运行状况检查，确保它们都有相同的 AWS 区域列表。
+ **R53HealthCheckMeasureLatency**：检查所有 Route 53 运行状况检查，确保它们都具有相同的 `Measure Latency` 值。
+ **R53HealthCheckInsufficientDataHealthStatus**：检查所有 Route 53 运行状况检查，确保它们都具有相同的 `Insufficient Data Health Status` 值。
+ **R53HealthCheckInverted**：检查所有 Route 53 运行状况检查，确保它们全都倒置或全未倒置。
+ **R53HealthCheckResourcePath**：检查所有 Route 53 运行状况检查，确保它们都具有相同的 `Resource Path` 值。
+ **R53HealthCheckCloudWatchAlarm**：检查所有 Route 53 运行状况检查，确保与之关联的 CloudWatch 警报具有相同的设置和配置。

**Amazon SNS 订阅**  
+ **SnsSubscriptionProtocol**：检查所有 SNS 订阅，确保它们的协议相同。
+ **SnsSubscriptionSqsLambdaEndpoint**：检查所有包含 Lambda 或 SQS 端点的 SNS 订阅，确保它们包含不同的端点。
+ **SnsSubscriptionNonAwsEndpoint**：检查所有具有非AWS 服务端点类型（例如电子邮件）的 SNS 订阅，以确保订阅具有相同的终端节点。
+ **SnsSubscriptionPendingConfirmation**：检查所有 SNS 订阅，确保它们的“待确认”值相同。
+ **SnsSubscriptionDeliveryPolicy**：检查所有使用的 SNS 订阅， HTTP/S 以确保它们的 “有效交付期” 值相同。
+ **SnsSubscriptionRawMessageDelivery**：检查所有 SNS 订阅，确保它们的“原始消息传输”值相同。
+ **SnsSubscriptionFilter**：检查所有 SNS 订阅，确保它们的“筛选策略”值相同。
+ **SnsSubscriptionRedrivePolicy**：检查所有 SNS 订阅，确保它们的“重新驱动政策”值相同。
+ **SnsSubscriptionEndpointEnabled**：检查所有 SNS 订阅，确保它们的“端点已启用”的值相同。
+ **SnsSubscriptionLambdaEndpointValid**：检查所有包含 Lambda 端点的 SNS 订阅，确保它们包含有效的 Lambda 端点。
+ **SnsSubscriptionSqsEndpointValidRule**：检查所有使用 SQS 端点的 SNS 订阅，确保它们包含有效的 SQS 端点。
+ **SnsSubscriptionQuotas**：检查所有 SNS 订阅，确保它们符合由 Service Quotas 管理的限额（限制）。

**Amazon SNS 主题**  
+ **SnsTopicDisplayName**：检查所有 SNS 主题，确保它们的 `Display Name` 值相同。
+ **SnsTopicDeliveryPolicy**：检查所有拥有 HTTPS 订阅用户的 SNS 主题，确保它们的 `EffectiveDeliveryPolicy` 相同。
+ **SnsTopicSubscription**：检查所有 SNS 主题，确保每个协议的订阅用户数相同。
+ **SnsTopicAwsKmsKey**：检查所有 SNS 主题，确保所有主题都有或都没有 AWS KMS 密钥。
+ **SnsTopicQuotas**：检查所有 SNS 主题，确保它们符合由 Service Quotas 管理的限额（限制）。

**Amazon SQS 队列**  
+ **SqsQueueType**：检查所有 SQS 队列，确保它们都具有相同的 `Type` 值。
+ **SqsQueueDelaySeconds**：检查所有 SQS 队列，确保它们都具有相同的 `Delay Seconds` 值。
+ **SqsQueueMaximumMessageSize**：检查所有 SQS 队列，确保它们都具有相同的 `Maximum Message Size` 值。
+ **SqsQueueMessageRetentionPeriod**：检查所有 SQS 队列，确保它们都具有相同的 `Message Retention Period` 值。
+ **SqsQueueReceiveMessageWaitTimeSeconds**：检查所有 SQS 队列，确保它们都具有相同的 `Receive Message Wait Time Seconds` 值。
+ **SqsQueueRedrivePolicyMaxReceiveCount**：检查所有 SQS 队列，确保它们都具有相同的 `Redrive Policy Max Receive Count` 值。
+ **SqsQueueVisibilityTimeout**：检查所有 SQS 队列，确保它们都具有相同的 `Visibility Timeout` 值。
+ **SqsQueueContentBasedDeduplication**：检查所有 SQS 队列，确保它们都具有相同的 `Content-Based Deduplication` 值。
+ **SqsQueueQuotas**：检查所有 SQS 队列，确保它们符合由 Service Quotas 管理的限额（限制）。

**Amazon VPCs**  
+ **VpcCidrBlock**：检查所有内容 VPCs ，确保它们的 CIDR 块网络大小值相同。
+ **VpcCidrBlocksSameProtocolVersion**：检查所有 VPCs 具有相同 CIDR 块的内容，确保它们的 Internet 流协议版本号值相同。
+ **VpcCidrBlocksStateInAssociationSets**：检查所有的 CIDR 区块关联集， VPCs 确保它们都有处于状态的 CIDR 块。`ASSOCIATED`
+ **VpcIpv6CidrBlocksStateInAssociationSets**：检查所有地址的所有 CIDR 块关联集， VPCs 确保它们的 CIDR 块都具有相同数量的地址。
+ **VpcCidrBlocksInAssociationSets**：检查所有的 CIDR 区块关联集 VPCs ，确保它们的大小相同。
+ **VpcIpv6CidrBlocksInAssociationSets**：检查所有的 IPv6 CIDR 区块关联集， VPCs 确保它们的大小相同。
+ **VpcState**：检查每个 VPC，确保其处于 `AVAILABLE` 状态。
+ **VpcInstanceTenancy**: 检查所有 VPCs 内容以确保它们都具有相同的值。`Instance Tenancy`
+ **VpcIsDefault**: 检查所有 VPCs 内容以确保它们具有相同的值 `Is Default.`
+ **VpcSubnetState**：检查每个 VPC 子网，确保其处于 AVAILABLE 状态。
+ **VpcSubnetAvailableIpAddressCount**：检查每个 VPC 子网，确保其可用的 IP 地址数大于零。
+ **VpcSubnetCount**：检查所有 VPC 子网，确保它们的子网数量相同。
+ **VpcQuotas**：检查所有 VPC 子网，确保它们符合由 Service Quotas 管理的限额（限制）。

**Site-to-Site VPN 连接**  
+ **VpnConnectionsRouteCount**：检查所有 VPN 连接，确保它们至少有一条路由，而且路由数量相同。
+ **VpnConnectionsEnableAcceleration**：检查所有 VPN 连接，确保它们的 `Enable Accelerations` 值相同。
+ **VpnConnectionsStaticRoutesOnly**：检查所有 VPN 连接，确保它们的 `Static Routes Only.` 值相同。
+ **VpnConnectionsCategory**：检查所有 VPN 连接，确保它们的类别为 `VPN`。
+ **VpnConnectionsCustomerConfiguration**：检查所有 VPN 连接，确保它们的 `Customer Gateway Configuration` 值相同。
+ **VpnConnectionsCustomerGatewayId**：检查每个 VPN 连接，确保它连接了客户网关。
+ **VpnConnectionsRoutesState**：检查所有 VPN 连接，确保它们处于 `AVAILABLE` 状态。
+ **VpnConnectionsVgwTelemetryStatus**：检查每个 VPN 连接，确保其 VGW 状态为 `UP`。
+ **VpnConnectionsVgwTelemetryIpAddress**：检查每个 VPN 连接，确保其每个 VGW 遥测都有不同的外部 IP 地址。
+ **VpnConnectionsTunnelOptions**：检查所有 VPN 连接，确保它们的隧道选项相同。
+ **VpnConnectionsRoutesCidr**：检查所有 VPN 连接，确保它们的目标 CIDR 块相同。
+ **VpnConnectionsInstanceType**：检查所有 VPN 连接，确保它们的 `Instance Type` 相同。

**Site-to-Site VPN 网关**  
+ **VpnGatewayState**：检查所有 VPN 网关，确保它们处于 AVAILABLE 状态。
+ **VpnGatewayAsn**：检查所有 VPN 网关，确保它们的 ASN 相同。
+ **VpnGatewayType**：检查所有 VPN 网关，确保它们的类型相同。
+ **VpnGatewayAttachment**：检查所有 VPN 网关，确保它们的连接配置相同。

## 在控制台上查看就绪规则
<a name="recovery-readiness.list-rules-console"></a>

您可以在上查看按每种资源类型列出的就绪规则。 AWS 管理控制台

## 在控制台上查看就绪规则的步骤


1. 访问 [https://console.aws.amazon.com/route53recovery/home#/dashboard](https://console.aws.amazon.com/route53recovery/home#/dashboard)，打开 ARC 控制台。

1. 选择**就绪检查**。

1. 在**资源类型**下，选择需要的资源类型以查看其规则。

# ARC 中的资源类型和 ARN 格式
<a name="recovery-readiness.resource-types-arns"></a>

**注意**  
从 2026 年 4 月 30 日起，Amazon 应用程序恢复控制器 (ARC) 中的准备情况检查功能将不再向新客户开放。现有客户可以继续正常使用该服务。有关更多信息，请参阅 [Amazon 应用程序恢复控制器 (ARC) 准备情况检查可用性变更](https://docs.aws.amazon.com/r53recovery/latest/dg/arc-readiness-availability-change.html)。

在 Amazon 应用程序恢复控制器 (ARC) 中创建资源集时，您可以指定要包含在集合中的资源类型以及要包含的每个资源的亚马逊资源名称 (ARNs)。ARC 要求每种资源类型采用特定的 ARN 格式。本节列出了 ARC 支持的资源类型以及每种资源类型的关联 ARN 格式。

具体格式取决于资源。当您提供 ARN 时，请用您的资源特定信息替换*italicized*文本。

**注意**  
请注意，ARC 要求的资源 ARN 格式可能不同于服务本身所要求的资源 ARN 格式。例如，《服务[授权参考》中每项服务的**资源类型**部分中描述的 ARN 格式可能不包括 ARC 支持 ARC 服务](https://docs.aws.amazon.com/service-authorization/latest/reference/reference.html)中的功能所需的 AWS 账户 ID 或其他信息。

**AWS::ApiGateway::Stage**  
Amazon API Gateway 版本 1 阶段。  
+ **ARN 格式：**`arn:partition:apigateway:region:account:/restapis/api-id/stages/stage-name`

  示例：`arn:aws:apigateway:us-east-1:111122223333:/restapis/123456789/stages/ExampleStage`

  有关更多信息，请参阅 [API Gateway Amazon 资源名称 (ARN) 参考](https://docs.aws.amazon.com/apigateway/latest/developerguide/arn-format-reference.html)。

**AWS::ApiGatewayV2::Stage**  
Amazon API Gateway 版本 2 阶段。  
+ **ARN 格式：**`arn:partition:apigateway:region:account:/apis/api-id/stages/stage-name`

  示例：`arn:aws:apigateway:us-east-1:111122223333:/apis/123456789/stages/ExampleStage`

  有关更多信息，请参阅 [API Gateway Amazon 资源名称 (ARN) 参考](https://docs.aws.amazon.com/apigateway/latest/developerguide/arn-format-reference.html)。

**AWS::CloudWatch::Alarm**  
亚马逊 CloudWatch 警报。  
+ **ARN 格式：**`arn:partition:cloudwatch:region:account:alarm:alarm-name`

  示例：`arn:aws:cloudwatch:us-west-2:111122223333:alarm:test-alarm-1`

  有关更多信息，请参阅 [Amazon 定义的资源类型 CloudWatch](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazoncloudwatch.html#amazoncloudwatch-resources-for-iam-policies)。

**AWS::DynamoDB::Table**  
Amazon DynamoDB 表。  
+ **ARN 格式：**`arn:partition:dynamodb:region:account:table/table-name`

  示例：`arn:aws:dynamodb:us-west-2:111122223333:table/BigTable`

  有关更多信息，请参阅 [DynamoDB 资源和操作](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/access-control-overview.html#access-control-resources)。

**AWS::EC2::CustomerGateway**  
客户网关设备。  
+ **ARN 格式：**`arn:partition:ec2:region:account:customer-gateway/CustomerGatewayId`

  示例：`arn:aws:ec2:us-west-2:111122223333:customer-gateway/vcg-123456789`

  有关更多信息，请参阅 [Amazon EC2 定义的资源类型](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonec2.html#amazonec2-resources-for-iam-policies)。

**AWS::EC2::Volume**  
Amazon EBS 卷。  
+ **ARN 格式：**`arn:partition:ec2:region:account:volume/VolumeId`

  示例：`arn:aws:ec2:us-west-2:111122223333:volume/volume-of-cylinder-is-pi`

  有关更多信息，请参阅 [API Gateway Amazon 资源名称 (ARN) 参考](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonec2.html#amazonec2-resources-for-iam-policies)。

**AWS::ElasticLoadBalancing::LoadBalancer**  
经典负载均衡器。  
+ **ARN 格式：**`arn:partition:elasticloadbalancing:region:account:loadbalancer/LoadBalancerName`

  示例：`arn:aws:elasticloadbalancing:us-west-2:111122223333:loadbalancer/123456789abcbdeCLB`

  有关更多信息，请参阅 [Elastic Load Balancing 资源](https://docs.aws.amazon.com/elasticloadbalancing/latest/userguide/load-balancer-authentication-access-control.html#elb-resources)。

**AWS::ElasticLoadBalancingV2::LoadBalancer**  
网络负载均衡器或应用程序负载均衡器。  
+ **网络负载均衡器的 ARN 格式：**`arn:partition:elasticloadbalancing:region:account:loadbalancer/net/LoadBalancerName`

  网络负载均衡器示例：`arn:aws:elasticloadbalancing:us-west-2:111122223333:loadbalancer/net/sandbox-net/123456789acbdeNLB`
+ **应用程序负载均衡器的 ARN 格式：**`arn:partition:elasticloadbalancing:region:account:loadbalancer/app/LoadBalancerName`

  应用程序负载均衡器示例：`arn:aws:elasticloadbalancing:us-west-2:111122223333:loadbalancer/app/sandbox-alb/123456789acbdeALB`

  有关更多信息，请参阅 [Elastic Load Balancing 资源](https://docs.aws.amazon.com/elasticloadbalancing/latest/userguide/load-balancer-authentication-access-control.html#elb-resources)。

**AWS::Lambda::Function**  
一个 AWS Lambda 函数。  
+ **ARN 格式：**`arn:partition:lambda:region:account:function:FunctionName`

  示例：`arn:aws:lambda:us-west-2:111122223333:function:my-function`

  有关更多信息，请参阅 [Lambda 操作的资源和条件](https://docs.aws.amazon.com/lambda/latest/dg/lambda-api-permissions-ref.html)。

**AWS::MSK::Cluster**  
Amazon MSK 集群。  
+ **ARN 格式：**`arn:partition:kafka:region:account:cluster/ClusterName/UUID`

  示例：`arn:aws:kafka:us-east-1:111122223333:cluster/demo-cluster-1/123456-1111-2222-3333`

  有关更多信息，请参阅 [Amazon Managed Streaming for Apache Kafka 定义的资源类型](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonmanagedstreamingforapachekafka.html#amazonmanagedstreamingforapachekafka-resources-for-iam-policies)。

**AWS::RDS::DBCluster**  
Aurora 数据库集群。  
+ **ARN 格式：**`arn:partition:rds:region:account:cluster:DbClusterInstanceName`

  示例：`arn:aws:rds:us-west-2:111122223333:cluster:database-1`

  有关更多信息，请参阅在 Amazon [RDS 中使用亚马逊资源名称 (ARNs)](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.ARN.html)。

**AWS::Route53::HealthCheck**  
Amazon Route 53 运行状况检查。  
+ **ARN 格式：**`arn:partition:route53:::healthcheck/Id`

  示例：`arn:aws:route53:::healthcheck/123456-1111-2222-3333`

**AWS::SQS::Queue**  
Amazon SQS 队列。  
+ **ARN 格式：**`arn:partition:sqs:region:account:QueueName`

  示例：`arn:aws:sqs:us-west-2:111122223333:StandardQueue`

  有关更多信息，请参阅 [Amazon Simple Queue Service 资源和操作](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-overview-of-managing-access.html#sqs-resource-and-operations)。

**AWS::SNS::Topic**  
Amazon SNS 主题。  
+ **ARN 格式：**`arn:partition:sns:region:account:TopicName`

  示例：`arn:aws:sns:us-west-2:111122223333:TopicName`

  有关更多信息，请参阅 [Amazon SNS 资源 ARN 格式](https://docs.aws.amazon.com/sns/latest/dg/sns-using-identity-based-policies.html#sns-arn-format)。

**AWS::SNS::Subscription**  
Amazon SNS 订阅。  
+ **ARN 格式：**`arn:partition:sns:region:account:TopicName:SubscriptionId`

  示例：`arn:aws:sns:us-west-2:111122223333:TopicName:123456789012345567890`

**AWS::EC2::VPC**  
虚拟私有云 (VPC)。  
+ **ARN 格式：**`arn:partition:ec2:region:account:vpc/VpcId`

  示例：`arn:aws:ec2:us-west-2:111122223333:vpc/vpc-123456789`

  有关更多信息，请参阅 [VPC 资源](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonec2.html#amazonec2-resources-for-iam-policies)。

**AWS::EC2::VPNConnection**  
虚拟专用网络 (VPN) 连接。  
+ **ARN 格式：**`arn:partition:ec2:region:account:vpn-connection/VpnConnectionId`

  示例：`arn:aws:ec2:us-west-2:111122223333:vpn-connection/vpn-123456789`

  有关更多信息，请参阅 [Amazon EC2 定义的资源类型](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonec2.html#amazonec2-resources-for-iam-policies)。

**AWS::EC2::VPNGateway**  
虚拟专用网络 (VPN) 网关。  
+ **ARN 格式：**`arn:partition:ec2:region:account:vpn-gateway/VpnGatewayId`

  示例：`arn:aws:ec2:us-west-2:111122223333:vpn-gateway/vgw-123456789acbdefgh`

  有关更多信息，请参阅 [Amazon EC2 定义的资源类型](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonec2.html#amazonec2-resources-for-iam-policies)。

**AWS::Route53RecoveryReadiness::DNSTargetResource**  
用于就绪检查的 DNS 目标资源包括 DNS 记录类型、域名、Route 53 托管区 ARN 以及网络负载均衡器 ARN 或 Route 53 记录集 ID。  
+ **托管区的 ARN 格式：**`arn:partition:route53::account:hostedzone/Id`

  托管区示例：`arn:aws:route53::111122223333:hostedzone/abcHostedZone`

  注意：您必须按照此处指定的方式在托管区域 ARNs中包含账户 ID。必须提供账户 ID，这样 ARC 才能轮询资源。该格式故意不同于 Amazon Route 53 要求的 ARN 格式（在《服务授权参考》**的 Route 53 服务[资源类型](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonroute53.html#amazonroute53-resources-for-iam-policies)中有描述）。
+ **网络负载均衡器的 ARN 格式：**`arn:partition:elasticloadbalancing:region:account:loadbalancer/net/LoadBalancerName`

  网络负载均衡器示例：`arn:aws:elasticloadbalancing:us-west-2:111122223333:loadbalancer/net/sandbox-net/123456789acbdefgh`

  有关更多信息，请参阅 [Elastic Load Balancing 资源](https://docs.aws.amazon.com/elasticloadbalancing/latest/userguide/load-balancer-authentication-access-control.html#elb-resources)。

# Amazon 应用程序恢复控制器（ARC）中的就绪检查的日志记录和监控
<a name="monitoring-readiness"></a>

**注意**  
从 2026 年 4 月 30 日起，Amazon 应用程序恢复控制器 (ARC) 中的准备情况检查功能将不再向新客户开放。现有客户可以继续正常使用该服务。有关更多信息，请参阅 [Amazon 应用程序恢复控制器 (ARC) 准备情况检查可用性变更](https://docs.aws.amazon.com/r53recovery/latest/dg/arc-readiness-availability-change.html)。

您可以使用 Amazon CloudWatch 和 Amazon EventBridge 在 Amazon 应用程序恢复控制器 (ARC) 中监控准备情况检查，以分析模式并帮助解决问题。 AWS CloudTrail

**注意**  
您必须在控制台和使用时查看美国西部（俄勒冈）地区的 ARC CloudWatch 指标和日志 AWS CLI。使用时 AWS CLI，请通过包括以下参数为您的命令指定美国西部（俄勒冈）区域：`--region us-west-2`。

**Topics**
+ [在 ARC 中 CloudWatch 使用亚马逊进行准备情况检查](cloudwatch-readiness.md)
+ [使用记录准备情况检查 API 调用 AWS CloudTrail](cloudtrail-readiness.md)
+ [在 Amazon 上使用 ARC 中的准备情况检查 EventBridge](eventbridge-readiness.md)

# 在 ARC 中 CloudWatch 使用亚马逊进行准备情况检查
<a name="cloudwatch-readiness"></a>

**注意**  
从 2026 年 4 月 30 日起，Amazon 应用程序恢复控制器 (ARC) 中的准备情况检查功能将不再向新客户开放。现有客户可以继续正常使用该服务。有关更多信息，请参阅 [Amazon 应用程序恢复控制器 (ARC) 准备情况检查可用性变更](https://docs.aws.amazon.com/r53recovery/latest/dg/arc-readiness-availability-change.html)。

Amazon 应用程序恢复控制器 (ARC) 将数据点发布到亚马逊 CloudWatch ，供您检查准备情况。 CloudWatch 允许您以一组有序的时间序列数据（称为*指标*）的形式检索有关这些数据点的统计信息。可将指标视为要监控的变量，而将数据点视为该变量随时间变化的值。例如，您可以监控指定时间段内通过某个 AWS 区域的流量。每个数据点都有相关联的时间戳和可选测量单位。

您可使用指标来验证系统是否正常运行。例如，您可以创建 CloudWatch 警报来监控指定的指标，并在该指标超出您认为可接受的范围时启动操作（例如向电子邮件地址发送通知）。

有关更多信息，请参阅 [Amazon CloudWatch 用户指南](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/)。

**Topics**
+ [ARC 指标](#cloudwatch-metrics-recovery-readiness)
+ [ARC 指标的统计数据](#cloudwatch-metric-statistics)
+ [在 ARC 中查看 CloudWatch 指标](#view-metric-data)

## ARC 指标
<a name="cloudwatch-metrics-recovery-readiness"></a>

`AWS/Route53RecoveryReadiness` 命名空间包括以下指标。


| 指标 | 说明 | 
| --- | --- | 
| ReadinessChecks | 表示 ARC 处理的就绪检查的数量。该指标可以按状态确定维度，如下所示。 **单位**：`Count`。 **报告标准**：有非零值。 **统计数据**：唯一有用的统计数据是 `Sum`。 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/r53recovery/latest/dg/cloudwatch-readiness.html)  | 
| Resources |  表示 ARC 处理的资源数量，可以根据 API 定义的资源标识符来确定维度。 **单位**：`Count`。 **报告标准**：有非零值。 **统计数据**：唯一有用的统计数据是 `Sum`。 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/r53recovery/latest/dg/cloudwatch-readiness.html)  | 

## ARC 指标的统计数据
<a name="cloudwatch-metric-statistics"></a>

CloudWatch 根据 ARC 发布的指标数据点提供统计信息。统计数据是在指定的时间段内汇总的指标数据。当请求统计数据时，返回的数据流按指标名称和维度进行识别。维度是唯一标识指标的 name/value 配对。

以下是您可能会觉得有用的 metric/dimension 组合示例：
+ 查看 ARC 为评估就绪情况而进行的就绪检查数量。
+ 查看 ARC 评估的给定资源集类型的资源总数。

## 在 ARC 中查看 CloudWatch 指标
<a name="view-metric-data"></a>

您可以使用 CloudWatch 控制台或查看 ARC 的 CloudWatch 指标 AWS CLI。在控制台中，这些指标显示为监控图表。

无论是在控制台中还是在使用时，您都必须查看美国西部（俄勒冈）地区的 ARC CloudWatch 指标 AWS CLI。使用时 AWS CLI，请通过包括以下参数为您的命令指定美国西部（俄勒冈）区域：`--region us-west-2`。

**使用 CloudWatch 控制台查看指标**

1. 打开 CloudWatch 控制台，网址为[https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/)。

1. 在导航窗格中，选择**指标**。

1. 选择 **Route53 命RecoveryReadiness**名空间。

1. (可选) 要跨所有维度查看某个指标，请在搜索字段中键入其名称。

**要查看指标，请使用 AWS CLI**  
使用以下 [list-metrics](https://docs.aws.amazon.com/cli/latest/reference/cloudwatch/list-metrics.html) 命令列出可用指标：

```
aws cloudwatch list-metrics --namespace AWS/Route53RecoveryReadiness --region us-west-2
```

**要获取指标的统计数据，请使用 AWS CLI**  
使用以下[get-metric-statistics](https://docs.aws.amazon.com/cli/latest/reference/cloudwatch/get-metric-statistics.html)命令获取指定指标和维度的统计信息。请注意， CloudWatch 将每个唯一的维度组合视为一个单独的指标。您无法使用未专门发布的维度组合检索统计数据。您必须指定创建指标时使用的同一维度。

以下示例列出了 ARC 中某账户每分钟评估的就绪检查总数。

```
aws cloudwatch get-metric-statistics --namespace AWS/Route53RecoveryReadiness \
--metric-name ReadinessChecks \
--region us-west-2 \
--statistics Sum --period 60 \
--dimensions Name=State,Value=READY \
--start-time 2021-07-03T01:00:00Z --end-time 2021-07-03T01:20:00Z
```

下面是该命令的示例输出：

```
{
    "Label": "ReadinessChecks",
    "Datapoints": [
        {
            "Timestamp": "2021-07-08T18:00:00Z",
            "Sum": 1.0,
            "Unit": "Count"
        },
        {
            "Timestamp": "2021-07-08T18:04:00Z",
            "Sum": 1.0,
            "Unit": "Count"
        },
        {
            "Timestamp": "2021-07-08T18:01:00Z",
            "Sum": 1.0,
            "Unit": "Count"
        },
        {
            "Timestamp": "2021-07-08T18:02:00Z",
            "Sum": 1.0,
            "Unit": "Count"
        },
        {
            "Timestamp": "2021-07-08T18:03:00Z",
            "Sum": 1.0,
            "Unit": "Count"
        }
    ]
}
```

# 使用记录准备情况检查 API 调用 AWS CloudTrail
<a name="cloudtrail-readiness"></a>

**注意**  
从 2026 年 4 月 30 日起，Amazon 应用程序恢复控制器 (ARC) 中的准备情况检查功能将不再向新客户开放。现有客户可以继续正常使用该服务。有关更多信息，请参阅 [Amazon 应用程序恢复控制器 (ARC) 准备情况检查可用性变更](https://docs.aws.amazon.com/r53recovery/latest/dg/arc-readiness-availability-change.html)。

 与 AWS CloudTrail一项服务集成，该服务提供用户、角色或 AWS 服务在 ARC 中执行的操作的记录。 CloudTrail 将 ARC 的所有 API 调用捕获为事件。捕获的调用包含来自 ARC 控制台的调用和对 ARC API 操作的代码调用。

如果您创建跟踪，则可以允许将 CloudTrail 事件持续传输到 Amazon S3 存储桶，包括 ARC 的事件。如果您未配置跟踪，您仍然可以在 CloudTrail 控制台的 “事件**历史记录” 中查看最新的事件**。

使用收集的信息 CloudTrail，您可以确定向 ARC 发出的请求、发出请求的 IP 地址、谁发出了请求、何时发出请求以及其他详细信息。

要了解更多信息 CloudTrail，请参阅《[AWS CloudTrail 用户指南》](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-user-guide.html)。

## ARC 信息在 CloudTrail
<a name="service-name-info-in-cloudtrail"></a>

CloudTrail 在您创建账户 AWS 账户 时已在您的账户上启用。当活动在 ARC 中发生时，该活动会与其他 AWS 服务 CloudTrail 事件一起记录在**事件历史**记录中。您可以在中查看、搜索和下载最近发生的事件 AWS 账户。有关更多信息，请参阅[使用 CloudTrail 事件历史记录](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/view-cloudtrail-events.html)。

要持续记录您的 AWS 账户事件（包括 ARC 的事件），请创建跟踪。*跟踪*允许 CloudTrail 将日志文件传输到 Amazon S3 存储桶。默认情况下，在控制台中创建跟踪记录时，此跟踪记录应用于所有 AWS 区域。跟踪记录 AWS 分区中所有区域的事件，并将日志文件传送到您指定的 Amazon S3 存储桶。此外，您可以配置其他 AWS 服务，以进一步分析和处理 CloudTrail 日志中收集的事件数据。有关更多信息，请参阅下列内容：
+ [创建跟踪记录概述](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-create-and-update-a-trail.html)
+ [CloudTrail 支持的服务和集成](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-aws-service-specific-topics.html)
+ [配置 Amazon SNS 通知 CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/configure-sns-notifications-for-cloudtrail.html)
+ [接收来自多个地区的 CloudTrail 日志文件](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/receive-cloudtrail-log-files-from-multiple-regions.html)和[接收来自多个账户的 CloudTrail 日志文件](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-receive-logs-from-multiple-accounts.html)

所有 ARC 操作均由 CloudTrail 《亚马逊应用程序恢复控制器[恢复准备 API 参考指南》、《亚马逊应用程序恢复控制器恢复控制器恢复控制](https://docs.aws.amazon.com/recovery-readiness/latest/api/)[配置 API 参考指南》和《亚马逊应用程序恢复控制器](https://docs.aws.amazon.com/recovery-cluster/latest/api/)[路由控制 API 参考指南》记录并记录在《亚马逊应用程序恢复控制器 API 参考指南》](https://docs.aws.amazon.com/routing-control/latest/APIReference/)中。例如，调用`UpdateRoutingControlState`和`CreateRecoveryGroup`操作会在 CloudTrail 日志文件中生成条目。`CreateCluster`

每个事件或日志条目都包含有关生成请求的人员信息。身份信息有助于您确定以下内容：
+ 请求是使用根证书还是 AWS Identity and Access Management (IAM) 用户凭证发出。
+ 请求是使用角色还是联合用户的临时安全凭证发出的。
+ 请求是否由其他 AWS 服务发出。

有关更多信息，请参阅 [CloudTrail userIdentity 元素](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-event-reference-user-identity.html)。

## 在事件历史记录中查看 ARC 事件
<a name="amazon-arc-events-in-cloudtrail-event-history"></a>

CloudTrail 允许您在事件**历史记录中查看最近的事件**。要查看 ARC API 请求事件，您必须在控制台顶部的“区域”选择器中选择**美国西部（俄勒冈州）**。有关更多信息，请参阅《*AWS CloudTrail 用户指南》*中的 “[使用 CloudTrail 事件历史记录](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/view-cloudtrail-events.html)”。

## 了解 ARC 日志文件条目
<a name="understanding-service-name-entries"></a>

跟踪是一种配置，允许将事件作为日志文件传输到您指定的 Amazon S3 存储桶。 CloudTrail 日志文件包含一个或多个日志条目。事件代表来自任何来源的单个请求，包括有关请求的操作、操作的日期和时间、请求参数等的信息。 CloudTrail 日志文件不是公共 API 调用的有序堆栈跟踪，因此它们不会按任何特定的顺序出现。

以下示例显示了一个 CloudTrail 日志条目，该条目演示了准备情况检查的`CreateRecoveryGroup`操作。

```
{
    "eventVersion": "1.08",
    "userIdentity": {
        "type": "AssumedRole",
        "principalId": "A1B2C3D4E5F6G7EXAMPLE",
        "arn": "arn:aws:iam::111122223333:role/admin",
        "accountId": "111122223333",
        "accessKeyId": "AKIAIOSFODNN7EXAMPLE",
        "sessionContext": {
            "sessionIssuer": {
                "type": "Role",
                "principalId": "AROA33L3W36EXAMPLE",
                "arn": "arn:aws:iam::111122223333:role/admin",
                "accountId": "111122223333",
                "userName": "EXAMPLENAME"
            },
            "webIdFederationData": {},
            "attributes": {
                "mfaAuthenticated": "false",
                "creationDate": "2021-07-06T17:38:05Z"
            }
        }
    },
    "eventTime": "2021-07-06T18:08:03Z",
    "eventSource": "route53-recovery-readiness.amazonaws.com",
    "eventName": "CreateRecoveryGroup",
    "awsRegion": "us-west-2",
    "sourceIPAddress": "192.0.2.50",
    "userAgent": "Boto3/1.17.101 Python/3.8.10 Linux/4.14.231-180.360.amzn2.x86_64 exec-env/AWS_Lambda_python3.8 Botocore/1.20.102",
    "requestParameters": {
        "recoveryGroupName": "MyRecoveryGroup"
    },
    "responseElements": {
        "Access-Control-Expose-Headers": "x-amzn-errortype,x-amzn-requestid,x-amzn-errormessage,x-amzn-trace-id,x-amzn-requestid,x-amz-apigw-id,date",
        "cells": [],
        "recoveryGroupName": "MyRecoveryGroup",
        "recoveryGroupArn": "arn:aws:route53-recovery-readiness::111122223333:recovery-group/MyRecoveryGroup",
        "tags": "***"
    },
    "requestID": "fd42dcf7-6446-41e9-b408-d096example",
    "eventID": "4b5c42df-1174-46c8-be99-d67aexample",
    "readOnly": false,
    "eventType": "AwsApiCall",
    "managementEvent": true,
    "eventCategory": "Management",
    "recipientAccountId": "111122223333"
}
```

# 在 Amazon 上使用 ARC 中的准备情况检查 EventBridge
<a name="eventbridge-readiness"></a>

**注意**  
从 2026 年 4 月 30 日起，Amazon 应用程序恢复控制器 (ARC) 中的准备情况检查功能将不再向新客户开放。现有客户可以继续正常使用该服务。有关更多信息，请参阅 [Amazon 应用程序恢复控制器 (ARC) 准备情况检查可用性变更](https://docs.aws.amazon.com/r53recovery/latest/dg/arc-readiness-availability-change.html)。

使用 Amazon EventBridge，您可以设置事件驱动的规则，监控您在亚马逊应用程序恢复控制器 (ARC) 中的准备情况检查资源，然后启动使用其他 AWS 服务的目标操作。例如，您可以设置一个规则，当就绪检查状态从**就绪**变为**未就绪**时，通过向 Amazon SNS 主题发信号来发送电子邮件通知。

**注意**  
ARC 仅在美国西部（俄勒冈）(us-west- AWS 2) 地区发布准备情况检查 EventBridge 活动。要接收 EventBridge 事件以进行准备情况检查，请在美国西部（俄勒冈）区域创建 EventBridge 规则。

您可以在 Amazon 中创建规则 EventBridge ，以便对以下 ARC 准备情况检查事件采取行动：
+ *就绪检查就绪。*该事件指定就绪检查状态是否发生变化，例如，从 **READY** 变为 **NOT READY**。

要捕获您感兴趣的特定 ARC 事件，请定义 EventBridge 可用于检测事件的特定事件模式。事件规律与它们匹配的事件具有相同的结构。模式引用了您要匹配的字段，并提供您所查找的值。

尽最大努力发出事件。在正常运行情况下，它们几乎实时 EventBridge 地从ARC交付。但是，可能会出现延迟或阻止事件交付的情况。

有关 EventBridge 规则如何处理事件模式的信息，请参阅[中的事件和事件模式 EventBridge](https://docs.aws.amazon.com//eventbridge/latest/userguide/eventbridge-and-event-patterns.html)。

## 使用监控准备情况检查资源 EventBridge
<a name="arc-eventbridge-tasks-readiness"></a>

借 EventBridge助，您可以创建规则，以定义 ARC 为准备情况检查资源发出事件时要采取的操作。

要在 EventBridge 控制台中键入或复制并粘贴事件模式，请在控制台中选择 “**Enter my ow** n” 选项。为帮助确定对您有用的事件规律，本主题包括[就绪事件规律示例](#arc-eventbridge-examples-readiness)。

**要为资源事件创建规则**

1. 打开 Amazon EventBridge 控制台，网址为[https://console.aws.amazon.com/events/](https://console.aws.amazon.com/events/)。

1.  AWS 区域 要在中创建规则，请选择美国西部（俄勒冈）。这是就绪事件要求的区域。

1. 选择 **Create rule (创建规则)**。

1. 输入规则的 **Name (名称)** 和“Description (描述)”（可选）。

1. 对于**事件总线**，保留默认值，即**默认**。

1. 选择**下一步**。

1. 对于**构建事件规律**步骤，对于**事件源**，保留默认值，即 **AWS 事件**。

1. 在**示例事件**下，选择**输入我自己的**。

1. 对于**示例事件**，键入或复制并粘贴事件规律。有关示例，请参阅下一节。

## 就绪事件规律示例
<a name="arc-eventbridge-examples-readiness"></a>

事件规律与它们匹配的事件具有相同的结构。模式引用了您要匹配的字段，并提供您所查找的值。

您可以将本节中的事件模式复制并粘贴 EventBridge 到中，以创建可用于监控 ARC 操作和资源的规则。

以下事件模式提供了一些示例，您可以在 ARC EventBridge 的准备情况检查功能中使用这些示例。
+ *选择来自 ARC 就绪检查的所有事件*。

  ```
  {
      "source": [
          "aws.route53-recovery-readiness"
      ]
  }
  ```
+ *仅选择与单元相关的事件*。

  ```
  {
      "source": [
          "aws.route53-recovery-readiness"
      ],
      "detail-type": [
          "Route 53 Application Recovery Controller cell readiness status change"
      ]
  }
  ```
+ *仅选择与名为 `MyExampleCell` 的特定单元相关的事件*。

  ```
  {
      "source": [
          "aws.route53-recovery-readiness"
      ],
      "detail-type": [
          "Route 53 Application Recovery Controller cell readiness status change"
      ],
      "resources": [
          "arn:aws:route53-recovery-readiness::111122223333:cell/MyExampleCell"
      ]
  }
  ```
+ *仅选择任何恢复组、单元或就绪检查状态变为 `NOT READY` 时的事件*。

  ```
  {
     "source":[
        "aws.route53-recovery-readiness"
     ],
     "detail-type":{
        "new-state":{
           "readiness-status":[
              "NOT_READY"
           ]
        }
     }
  }
  ```
+ *仅选择任何恢复组、单元或就绪检查变为 `READY` 以外状态时的事件*。

  ```
  {
     "source":[
        "aws.route53-recovery-readiness"
     ],
     "detail":{
        "new-state":{
           "readiness-status":[
              {
                 "anything-but":"READY"
              }
           ]
        }
     }
  }
  ```

以下是 ARC *恢复组就绪状态更改*事件的示例：

```
{
    "version": "0",
    "account":"111122223333",
    "detail-type":"Route 53 Application Recovery Controller recovery group readiness status change",
    "source":"route53-recovery-readiness.amazonaws.com",
    "time":"2020-11-03T00:31:54Z",
    "id": "1234a678-1b23-c123-12fd3f456e78",
    "region": "us-west-2",
    "resources":[
        "arn:aws:route53-recovery-readiness::111122223333:recovery-group/BillingApp"
    ],
    "detail": {
        "recovery-group-name": "BillingApp",
        "previous-state": {
            "readiness-status": "READY|NOT_READY|UNKNOWN|NOT_AUTHORIZED"
        },
        "new-state": {
            "readiness-status": "READY|NOT_READY|UNKNOWN|NOT_AUTHORIZED"
        }
    }
}
```

以下是 ARC *单元就绪状态更改*事件的示例：

```
{
    "version": "0",
    "account":"111122223333",
    "detail-type":"Route 53 Application Recovery Controller cell readiness status change",
    "source":"route53-recovery-readiness.amazonaws.com",
    "time":"2020-11-03T00:31:54Z",
    "id": "1234a678-1b23-c123-12fd3f456e78",
    "region": "us-west-2",
    "resources":[
        "arn:aws:route53-recovery-readiness::111122223333:cell/PDXCell"
    ],
    "detail": {
        "cell-name": "PDXCell",
        "previous-state": {
            "readiness-status": "READY|NOT_READY|UNKNOWN|NOT_AUTHORIZED"
        },
        "new-state": {
            "readiness-status": "READY|NOT_READY|UNKNOWN|NOT_AUTHORIZED"
        }
    }
}
```

以下是 ARC *就绪检查状态更改*事件的示例：

```
{
    "version": "0",
    "account":"111122223333",
    "detail-type":"Route 53 Application Recovery Controller readiness check status change",
    "source":"route53-recovery-readiness.amazonaws.com",
    "time":"2020-11-03T00:31:54Z",
    "id": "1234a678-1b23-c123-12fd3f456e78",
    "region": "us-west-2",
    "resources":[
        "arn:aws:route53-recovery-readiness::111122223333:readiness-check/UserTableReadinessCheck"
    ],
    "detail": {
    "readiness-check-name": "UserTableReadinessCheck",
        "previous-state": {
            "readiness-status": "READY|NOT_READY|UNKNOWN|NOT_AUTHORIZED"
        },
        "new-state": {
            "readiness-status": "READY|NOT_READY|UNKNOWN|NOT_AUTHORIZED"
        }
    }
}
```

## 指定要用作目标的 CloudWatch 日志组
<a name="arc-eventbridge-cw-loggroup"></a>

创建 EventBridge 规则时，必须指定将与该规则匹配的事件发送到哪个目标。有关可用目标的列表 EventBridge，请参阅[ EventBridge 控制台中的可用目标](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-targets.html#eb-console-targets)。您可以添加到 EventBridge 规则的目标之一是 Amazon CloudWatch 日志组。本节介绍将 CloudWatch 日志组添加为目标的要求，并提供了在创建规则时添加日志组的过程。

要将 CloudWatch 日志组添加为目标，可以执行以下操作之一：
+ 创建新日志组 
+ 选择现有日志组

如果您在创建规则时使用控制台指定了新的日志组，则 EventBridge 会自动为您创建该日志组。确保用作 EventBridge 规则目标的日志组以开头`/aws/events`。如果要选择现有的日志组，请注意，只有以 `/aws/events` 开头的日志组才会作为选项出现在下拉菜单中。有关更多信息，请参阅 *Amazon CloudWatch 用户指南*中的[创建新日志组](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/Working-with-log-groups-and-streams.html#Create-Log-Group)。

如果您使用控制台之外的 CloudWatch 操作创建或使用 CloudWatch 日志组作为目标，请确保正确设置权限。如果您使用控制台向 EventBridge 规则添加日志组，则该日志组的基于资源的策略会自动更新。但是，如果您使用 AWS Command Line Interface 或 S AWS DK 来指定日志组，则必须更新该日志组的基于资源的策略。以下示例策略说明了您必须在日志组的基于资源的策略中定义的权限：

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 

    "Statement": [
        {
            "Action": [
                "logs:CreateLogStream",
                "logs:PutLogEvents"
            ],
            "Effect": "Allow",
            "Principal": {
                "Service": [
                    "events.amazonaws.com",
                    "delivery.logs.amazonaws.com"
                ]
            },
            "Resource": "arn:aws:logs:us-east-1:222222222222:log-group:/aws/events/*:*",
            "Sid": "TrustEventsToStoreLogEvent"
        }
    ]
}
```

------

您无法使用控制台为日志组配置基于资源的策略。要向基于资源的策略添加所需的权限，请使用 CloudWatch [PutResourcePolicy](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_PutResourcePolicy.html)API 操作。然后，您可以使用 [describe-resource-policies](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/logs/describe-resource-policies.html)CLI 命令来检查您的策略是否已正确应用。

**为资源事件创建规则并指定 CloudWatch 日志组目标**

1. 打开 Amazon EventBridge 控制台，网址为[https://console.aws.amazon.com/events/](https://console.aws.amazon.com/events/)。

1. 选择 AWS 区域 要在其中创建规则的。

1. 选择**创建规则**，然后输入有关该规则的所有信息，例如事件规律或计划详细信息。

   有关创建就绪性 EventBridge 规则的更多信息，请参阅[使用监控准备情况检查资源 EventBridge](#RCEventBridgeCreateRule)。

1. 在 **“选择目标”** 页面上，选择**CloudWatch**作为您的目标。

1. 从下拉菜单中选择一个 CloudWatch 日志组。

# 用于 ARC 就绪检查的 Identity and Access Management
<a name="security-iam-readiness"></a>

**注意**  
从 2026 年 4 月 30 日起，Amazon 应用程序恢复控制器 (ARC) 中的准备情况检查功能将不再向新客户开放。现有客户可以继续正常使用该服务。有关更多信息，请参阅 [Amazon 应用程序恢复控制器 (ARC) 准备情况检查可用性变更](https://docs.aws.amazon.com/r53recovery/latest/dg/arc-readiness-availability-change.html)。

AWS Identity and Access Management (IAM) AWS 服务 可帮助管理员安全地控制对 AWS 资源的访问权限。IAM 管理员控制可以通过“身份验证”**（登录）和“授权”**（具有权限）使用 ARC 资源的人员。您可以使用 IAM AWS 服务 ，无需支付额外费用。

**Topics**
+ [就绪检查如何与 IAM 协同工作](security_iam_service-with-iam-readiness.md)
+ [基于身份的策略示例](security_iam_id-based-policy-examples-readiness.md)
+ [服务相关角色](using-service-linked-roles-readiness.md)
+ [AWS 托管策略](security-iam-awsmanpol-readiness.md)

# Amazon 应用程序恢复控制器（ARC）中的就绪检查如何与 IAM 协同工作
<a name="security_iam_service-with-iam-readiness"></a>

在使用 IAM 管理对 ARC 的访问之前，您应该了解哪些 IAM 功能可用于 ARC。

在使用 IAM 管理针对 Amazon 应用程序恢复控制器（ARC）中的就绪检查的访问权限之前，您应该了解哪些 IAM 功能可用于就绪检查。


**可用于 Amazon 应用程序恢复控制器（ARC）中的就绪检查的 IAM 功能**  

| IAM 功能 | 就绪检查支持 | 
| --- | --- | 
|  [基于身份的策略](#security_iam_service-with-iam-readiness-id-based-policies)  |   是  | 
|  [基于资源的策略](#security_iam_service-with-iam-readiness-resource-based-policies)  |   否   | 
|  [策略操作](#security_iam_service-with-iam-readiness-id-based-policies-actions)  |   是  | 
|  [策略资源](#security_iam_service-with-iam-readiness-id-based-policies-resources)  |   是  | 
|  [策略条件键](#security_iam_service-with-iam-readiness-id-based-policies-conditionkeys)  |   是  | 
|  [ACLs](#security_iam_service-with-iam-readiness-acls)  |   否   | 
|  [ABAC（策略中的标签）](#security_iam_service-with-iam-readiness-tags)  |   是  | 
|  [临时凭证](#security_iam_service-with-iam-readiness-roles-tempcreds)  |   是  | 
|  [主体权限](#security_iam_service-with-iam-readiness-principal-permissions)  |   是  | 
|  [服务角色](#security_iam_service-with-iam-readiness-roles-service)  |   否   | 
|  [服务关联角色](#security_iam_service-with-iam-readiness-roles-service-linked)  |   是  | 

要全面了解 AWS 服务如何与大多数 IAM 功能配合使用，请参阅 IAM *用户指南中的与 IAM* [配合使用的AWS 服务](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html)。

## 适用于就绪检查的基于身份的策略
<a name="security_iam_service-with-iam-readiness-id-based-policies"></a>

**支持基于身份的策略：**是

基于身份的策略是可附加到身份（如 IAM 用户、用户组或角色）的 JSON 权限策略文档。这些策略控制用户和角色可在何种条件下对哪些资源执行哪些操作。要了解如何创建基于身份的策略，请参阅《IAM 用户指南》**中的[使用客户管理型策略定义自定义 IAM 权限](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html)。

通过使用 IAM 基于身份的策略，您可以指定允许或拒绝的操作和资源以及允许或拒绝操作的条件。要了解可在 JSON 策略中使用的所有元素，请参阅《IAM 用户指南》**中的 [IAM JSON 策略元素引用](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html)。

要查看 ARC 基于身份的策略示例，请参阅[Amazon 应用程序恢复控制器（ARC）基于身份的策略示例](security_iam_id-based-policy-examples.md)。

## 就绪检查中的基于资源的策略
<a name="security_iam_service-with-iam-readiness-resource-based-policies"></a>

**支持基于资源的策略：**否 

基于资源的策略是附加到资源的 JSON 策略文档。基于资源的策略的示例包括 IAM 角色信任策略和 Amazon S3 存储桶策略。在支持基于资源的策略的服务中，服务管理员可以使用它们来控制对特定资源的访问。

## 就绪检查的策略操作
<a name="security_iam_service-with-iam-readiness-id-based-policies-actions"></a>

**支持策略操作：**是

管理员可以使用 AWS JSON 策略来指定谁有权访问什么。也就是说，哪个**主体**可以对什么**资源**执行**操作**，以及在什么**条件**下执行。

JSON 策略的 `Action` 元素描述可用于在策略中允许或拒绝访问的操作。在策略中包含操作以授予执行关联操作的权限。

要查看就绪检查的 ARC 操作的列表，请参阅《服务授权参考**》中的 [Amazon Route 53 恢复就绪定义的操作](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonroute53recoverycontrols.html#amazonroute53recoveryreadiness-actions-as-permissions)。

ARC 中用于就绪检查的策略操作在操作前使用以下前缀：

```
route53-recovery-readiness
```

要在单个语句中指定多项操作，请使用逗号将它们隔开。如下所示：

```
"Action": [
      "route53-recovery-readiness:action1",
      "route53-recovery-readiness:action2"
         ]
```

您也可以使用通配符（\$1）指定多个操作。例如，要指定以单词 `Describe` 开头的所有操作，包括以下操作：

```
"Action": "route53-recovery-readiness:Describe*"
```

要查看 ARC 用于就绪检查的基于身份的策略的示例，请参阅[用于 ARC 中就绪检查的基于身份的策略示例](security_iam_id-based-policy-examples-readiness.md)。

## 就绪检查的策略资源
<a name="security_iam_service-with-iam-readiness-id-based-policies-resources"></a>

**支持策略资源：**是

管理员可以使用 AWS JSON 策略来指定谁有权访问什么。也就是说，哪个**主体**可以对什么**资源**执行**操作**，以及在什么**条件**下执行。

`Resource` JSON 策略元素指定要向其应用操作的一个或多个对象。作为最佳实践，请使用其 [Amazon 资源名称（ARN）](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference-arns.html)指定资源。对于不支持资源级权限的操作，请使用通配符 (\$1) 指示语句应用于所有资源。

```
"Resource": "*"
```

要查看用于可用区转移的 ARC 操作列表，请参阅 [Amazon Route 53 恢复就绪定义的操作](https://docs.aws.amazon.com//service-authorization/latest/reference/list_amazonroute53recoveryreadiness.html#amazonroute53recoveryreadiness-actions-as-permissions)。

要查看 ARC 用于就绪检查的基于身份的策略的示例，请参阅[用于 ARC 中就绪检查的基于身份的策略示例](security_iam_id-based-policy-examples-readiness.md)。

## 就绪检查的策略条件键
<a name="security_iam_service-with-iam-readiness-id-based-policies-conditionkeys"></a>

**支持特定于服务的策略条件键：**是

管理员可以使用 AWS JSON 策略来指定谁有权访问什么。也就是说，哪个**主体**可以对什么**资源**执行**操作**，以及在什么**条件**下执行。

`Condition` 元素根据定义的条件指定语句何时执行。您可以创建使用[条件运算符](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html)（例如，等于或小于）的条件表达式，以使策略中的条件与请求中的值相匹配。要查看所有 AWS 全局条件键，请参阅 *IAM 用户指南*中的[AWS 全局条件上下文密钥](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html)。

要查看就绪检查的 ARC 操作列表，请参阅 [Amazon Route 53 恢复就绪的条件密钥](https://docs.aws.amazon.com//service-authorization/latest/reference/list_amazonroute53recoveryreadiness.html#amazonroute53recoveryreadiness-policy-keys)

要查看您可以与就绪检查的条件键一起使用的操作和资源，请参阅 [Amazon Route 53 恢复就绪定义的操作](https://docs.aws.amazon.com//service-authorization/latest/reference/list_amazonroute53recoveryreadiness.html#amazonroute53recoveryreadiness-actions-as-permissions)

要查看 ARC 用于就绪检查的基于身份的策略的示例，请参阅[用于 ARC 中就绪检查的基于身份的策略示例](security_iam_id-based-policy-examples-readiness.md)。

## 准备情况检查中的访问控制列表 (ACLs)
<a name="security_iam_service-with-iam-readiness-acls"></a>

**支持 ACLs：**否 

访问控制列表 (ACLs) 控制哪些委托人（账户成员、用户或角色）有权访问资源。 ACLs 与基于资源的策略类似，尽管它们不使用 JSON 策略文档格式。

## 用于就绪检查的基于属性的访问权限控制（ABAC）
<a name="security_iam_service-with-iam-readiness-tags"></a>

**支持 ABAC（策略中的标签）：**部分支持

基于属性的访问权限控制（ABAC）是一种授权策略，该策略基于称为标签的属性来定义权限。您可以将标签附加到 IAM 实体和 AWS 资源，然后设计 ABAC 策略以允许在委托人的标签与资源上的标签匹配时进行操作。

要基于标签控制访问，您需要使用 `aws:ResourceTag/key-name``aws:RequestTag/key-name` 或 `aws:TagKeys` 条件键在策略的[条件元素](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html)中提供标签信息。

如果某个服务对于每种资源类型都支持所有这三个条件键，则对于该服务，该值为**是**。如果某个服务仅对于部分资源类型支持所有这三个条件键，则该值为**部分**。

有关 ABAC 的更多信息，请参阅《IAM 用户指南》**中的[使用 ABAC 授权定义权限](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction_attribute-based-access-control.html)。要查看设置 ABAC 步骤的教程，请参阅《IAM 用户指南》**中的[使用基于属性的访问权限控制（ABAC）](https://docs.aws.amazon.com/IAM/latest/UserGuide/tutorial_attribute-based-access-control.html)。

恢复就绪（就绪检查）支持 ABAC。

## 在就绪检查中使用临时凭证
<a name="security_iam_service-with-iam-readiness-roles-tempcreds"></a>

**支持临时凭证：**是

临时证书提供对 AWS 资源的短期访问权限，并且是在您使用联合身份或切换角色时自动创建的。 AWS 建议您动态生成临时证书，而不是使用长期访问密钥。有关更多信息，请参阅《IAM 用户指南》**中的 [IAM 中的临时安全凭证](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp.html)和[使用 IAM 的。AWS 服务](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html)

## 用于就绪检查的跨服务主体权限
<a name="security_iam_service-with-iam-readiness-principal-permissions"></a>

**支持转发访问会话（FAS）：**是

当您使用 IAM 实体（用户或角色）在中执行操作时 AWS，您被视为委托人。策略向主体授予权限。使用某些服务时，您可能会执行一个操作，此操作然后在不同服务中触发另一个操作。在这种情况下，您必须具有执行这两个操作的权限。

要查看就绪检查中的某个操作是否需要策略中的其他相关操作，请参阅 [Amazon Route 53 恢复就绪](https://docs.aws.amazon.com//service-authorization/latest/reference/list_amazonroute53recoveryreadiness.html)

## 用于就绪检查的服务角色
<a name="security_iam_service-with-iam-readiness-roles-service"></a>

**支持服务角色：**否 

 服务角色是由一项服务担任、代表您执行操作的 [IAM 角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html)。IAM 管理员可以在 IAM 中创建、修改和删除服务角色。有关更多信息，请参阅《IAM 用户指南》**中的[创建向 AWS 服务委派权限的角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html)。

## 用于就绪检查的服务相关角色
<a name="security_iam_service-with-iam-readiness-roles-service-linked"></a>

**支持服务关联角色：**是

 服务相关角色是一种与服务相关联的 AWS 服务服务角色。服务可以代入代表您执行操作的角色。服务相关角色出现在您的中 AWS 账户 ，并且归服务所有。IAM 管理员可以查看但不能编辑服务关联角色的权限。

有关创建或管理 ARC 服务相关角色的详细信息，请参阅[在 ARC 中使用服务关联角色进行准备情况检查](using-service-linked-roles-readiness.md)。

有关创建或管理服务相关角色的详细信息，请参阅[能够与 IAM 搭配使用的AWS 服务](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html)。在表中查找**服务相关角色**列中包含 `Yes` 的表。选择**是**链接以查看该服务的服务相关角色文档。

# 用于 ARC 中就绪检查的基于身份的策略示例
<a name="security_iam_id-based-policy-examples-readiness"></a>

默认情况下，用户和角色没有创建或修改 ARC 资源的权限。要授予用户对所需资源执行操作的权限，IAM 管理员可以创建 IAM 策略。

要了解如何使用这些示例 JSON 策略文档创建基于 IAM 身份的策略，请参阅《IAM 用户指南》**中的[创建 IAM 策略（控制台）](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create-console.html)。

有关 ARC 定义的操作和资源类型（包括每种资源类型的格式）的详细信息，请参阅《 ARNs *服务授权参考*》中的 [Amazon Application Recovery Controller (ARC) 的操作、资源和条件密钥](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonroute53recoverycontrols.html)。

**Topics**
+ [策略最佳实践](#security_iam_service-with-iam-policy-best-practices-zonal)
+ [示例：就绪检查控制台访问](#security_iam_id-based-policy-examples-console-readiness)
+ [示例：用于就绪检查的就绪检查 API 操作](#security_iam_id-based-policy-examples-api-readiness)

## 策略最佳实践
<a name="security_iam_service-with-iam-policy-best-practices-zonal"></a>

基于身份的策略确定某个人是否可以创建、访问或删除您账户中的 ARC 资源。这些操作可能会使 AWS 账户产生成本。创建或编辑基于身份的策略时，请遵循以下指南和建议：
+ **开始使用 AWS 托管策略并转向最低权限权限** — 要开始向用户和工作负载授予权限，请使用为许多常见用例授予权限的*AWS 托管策略*。它们在你的版本中可用 AWS 账户。我们建议您通过定义针对您的用例的 AWS 客户托管策略来进一步减少权限。有关更多信息，请参阅《IAM 用户指南》**中的 [AWS 托管策略](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies)或[工作职能的AWS 托管策略](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_job-functions.html)。
+ **应用最低权限**：在使用 IAM 策略设置权限时，请仅授予执行任务所需的权限。为此，您可以定义在特定条件下可以对特定资源执行的操作，也称为*最低权限许可*。有关使用 IAM 应用权限的更多信息，请参阅《IAM 用户指南》**中的 [IAM 中的策略和权限](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html)。
+ **使用 IAM 策略中的条件进一步限制访问权限**：您可以向策略添加条件来限制对操作和资源的访问。例如，您可以编写策略条件来指定必须使用 SSL 发送所有请求。如果服务操作是通过特定的方式使用的，则也可以使用条件来授予对服务操作的访问权限 AWS 服务，例如 CloudFormation。有关更多信息，请参阅《IAM 用户指南》**中的 [IAM JSON 策略元素：条件](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html)。
+ **使用 IAM Access Analyzer 验证您的 IAM 策略，以确保权限的安全性和功能性**：IAM Access Analyzer 会验证新策略和现有策略，以确保策略符合 IAM 策略语言（JSON）和 IAM 最佳实践。IAM Access Analyzer 提供 100 多项策略检查和可操作的建议，以帮助您制定安全且功能性强的策略。有关更多信息，请参阅《IAM 用户指南》**中的[使用 IAM Access Analyzer 验证策略](https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-policy-validation.html)。
+ **需要多重身份验证 (MFA**)-如果 AWS 账户您的场景需要 IAM 用户或根用户，请启用 MFA 以提高安全性。若要在调用 API 操作时需要 MFA，请将 MFA 条件添加到您的策略中。有关更多信息，请参阅《IAM 用户指南》**中的[使用 MFA 保护 API 访问](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_mfa_configure-api-require.html)。

有关 IAM 中的最佳实操的更多信息，请参阅《IAM 用户指南》**中的 [IAM 中的安全最佳实践](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html)。

## 示例：就绪检查控制台访问
<a name="security_iam_id-based-policy-examples-console-readiness"></a>

要访问 Amazon 应用程序恢复控制器（ARC）控制台，您必须具有一组最低的权限。这些权限必须允许您列出和查看有关您的 ARC 资源的详细信息 AWS 账户。如果创建比必需的最低权限更为严格的基于身份的策略，对于附加了该策略的实体（用户或角色），控制台将无法按预期正常运行。

对于仅调用 AWS CLI 或 AWS API 的用户，您无需为其设置最低控制台权限。相反，只允许访问与其尝试执行的 API 操作相匹配的操作。

为确保在您仅允许访问特定 API 操作时用户和角色仍然可以使用就绪检查控制台，还要向实体附加准备情况检查的`ReadOnly` AWS 托管策略。有关更多信息，请参阅[就绪检查托管式策略页面](security-iam-awsmanpol-readiness.md)或《IAM 用户指南》**中的[向用户添加权限](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_change-permissions.html#users_change_permissions-add-console)。

要执行某些任务，用户必须有权创建与 ARC 中的就绪检查关联的服务相关角色。要了解更多信息，请参阅[在 ARC 中使用服务关联角色进行准备情况检查](using-service-linked-roles-readiness.md)。

要通过控制台为用户提供就绪检查功能的完全访问权限，请为用户附加如下策略：

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [		
                   "route53-recovery-readiness:CreateCell",
                   "route53-recovery-readiness:CreateCrossAccountAuthorization",
                   "route53-recovery-readiness:CreateReadinessCheck",
                   "route53-recovery-readiness:CreateRecoveryGroup",
                   "route53-recovery-readiness:CreateResourceSet",
                   "route53-recovery-readiness:DeleteCell",
                   "route53-recovery-readiness:DeleteCrossAccountAuthorization",
                   "route53-recovery-readiness:DeleteReadinessCheck",
                   "route53-recovery-readiness:DeleteRecoveryGroup",
                   "route53-recovery-readiness:DeleteResourceSet",
                   "route53-recovery-readiness:GetArchitectureRecommendations",
                   "route53-recovery-readiness:GetCell",
                   "route53-recovery-readiness:GetCellReadinessSummary",
                   "route53-recovery-readiness:GetReadinessCheck",
                   "route53-recovery-readiness:GetReadinessCheckResourceStatus",
                   "route53-recovery-readiness:GetReadinessCheckStatus", 
                   "route53-recovery-readiness:GetRecoveryGroup",
                   "route53-recovery-readiness:GetRecoveryGroupReadinessSummary",
                   "route53-recovery-readiness:GetResourceSet",
                   "route53-recovery-readiness:ListCells",
                   "route53-recovery-readiness:ListCrossAccountAuthorizations",
                   "route53-recovery-readiness:ListReadinessChecks",
                   "route53-recovery-readiness:ListRecoveryGroups",
                   "route53-recovery-readiness:ListResourceSets",
                   "route53-recovery-readiness:ListRules",
                   "route53-recovery-readiness:UpdateCell",
                   "route53-recovery-readiness:UpdateReadinessCheck",
                   "route53-recovery-readiness:UpdateRecoveryGroup",
                   "route53-recovery-readiness:UpdateResourceSet"
             ],
            "Resource": "*"
        }
    ]
}
```

------

## 示例：用于就绪检查的就绪检查 API 操作
<a name="security_iam_id-based-policy-examples-api-readiness"></a>

为确保用户可以使用 ARC API 来操作 ARC 就绪检查控制面板（例如，创建恢复组、资源集和就绪检查），请附加与用户需要使用的 API 操作相对应的策略，如下所述。

要执行某些任务，用户必须有权创建与 ARC 中的就绪检查关联的服务相关角色。要了解更多信息，请参阅[在 ARC 中使用服务关联角色进行准备情况检查](using-service-linked-roles-readiness.md)。

要使用 API 操作进行就绪检查，请为用户附加如下策略：

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [		
                   "route53-recovery-readiness:CreateCell",
                   "route53-recovery-readiness:CreateCrossAccountAuthorization",
                   "route53-recovery-readiness:CreateReadinessCheck",
                   "route53-recovery-readiness:CreateRecoveryGroup",
                   "route53-recovery-readiness:CreateResourceSet",
                   "route53-recovery-readiness:DeleteCell",
                   "route53-recovery-readiness:DeleteCrossAccountAuthorization",
                   "route53-recovery-readiness:DeleteReadinessCheck",
                   "route53-recovery-readiness:DeleteRecoveryGroup",
                   "route53-recovery-readiness:DeleteResourceSet",
                   "route53-recovery-readiness:GetArchitectureRecommendations",
                   "route53-recovery-readiness:GetCell",
                   "route53-recovery-readiness:GetCellReadinessSummary",
                   "route53-recovery-readiness:GetReadinessCheck",
                   "route53-recovery-readiness:GetReadinessCheckResourceStatus",
                   "route53-recovery-readiness:GetReadinessCheckStatus", 
                   "route53-recovery-readiness:GetRecoveryGroup",
                   "route53-recovery-readiness:GetRecoveryGroupReadinessSummary",
                   "route53-recovery-readiness:GetResourceSet",
                   "route53-recovery-readiness:ListCells",
                   "route53-recovery-readiness:ListCrossAccountAuthorizations",
                   "route53-recovery-readiness:ListReadinessChecks",
                   "route53-recovery-readiness:ListRecoveryGroups",
                   "route53-recovery-readiness:ListResourceSets",
                   "route53-recovery-readiness:ListRules",
                   "route53-recovery-readiness:ListTagsForResources",
                   "route53-recovery-readiness:UpdateCell",
                   "route53-recovery-readiness:UpdateReadinessCheck",
                   "route53-recovery-readiness:UpdateRecoveryGroup",
                   "route53-recovery-readiness:UpdateResourceSet",
                   "route53-recovery-readiness:TagResource",
                   "route53-recovery-readiness:UntagResource"
             ],
            "Resource": "*"
        }
    ]
}
```

------

# 在 ARC 中使用服务关联角色进行准备情况检查
<a name="using-service-linked-roles-readiness"></a>

Amazon 应用程序恢复控制器使用 AWS Identity and Access Management (IAM) [服务相关角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#iam-term-service-linked-role)。服务相关角色是一种独特的 IAM 角色，直接链接到服务（在本例中为 ARC）。服务相关角色由 ARC 预定义，包括该服务出于特定目的代表您调用其他 AWS 服务所需的所有权限。

服务相关角色使设置 ARC 变得更加容易，因为您不必手动添加必要的权限。ARC 定义其服务相关角色的权限，除非另有定义，否则只有 ARC 可以担任其角色。定义的权限包括信任策略和权限策略，而且权限策略不能附加到任何其它 IAM 实体。

只有在首先删除服务相关角色的相关资源后，才能删除该角色。这可以保护您的 ARC 资源，因为您不能无意中移除访问这些资源的权限。

有关支持服务相关角色的其他服务的信息，请参阅与 [IAM 配合使用的AWS 服务，](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html)并在**服务相关角色**列中查找标有 “**是**” 的服务。选择**是**和链接，查看该服务的服务相关角色文档。

ARC 具有以下服务相关角色，本章将对此进行介绍：
+ ARC 使用名为 **Route53** 的服务相关角色访问资源和配置RecoveryReadinessServiceRolePolicy以检查准备情况。
+ ARC 使用****为自动换档练习命名的服务相关角色来监控客户提供的 A CloudWatch mazon 警报和 Health Dashboard 客户事件，并开始练习。

## Route53 的服务相关角色权限 RecoveryReadinessServiceRolePolicy
<a name="slr-permissions"></a>

ARC 使用名为 **Route53** 的服务相关角色访问资源和配置RecoveryReadinessServiceRolePolicy以检查准备情况。本节介绍适用于该服务相关角色的权限，以及有关创建、编辑和删除该角色的信息。

### Route53 的服务相关角色权限 RecoveryReadinessServiceRolePolicy
<a name="slr-permissions-slr1-permissions"></a>

此服务相关角色使用托管策略 `Route53RecoveryReadinessServiceRolePolicy`。

**Route53 RecoveryReadinessServiceRolePolicy** 服务相关角色信任以下服务来代入该角色：
+ `route53-recovery-readiness.amazonaws.com`

要查看此策略的权限，请参阅《*AWS 托管策略*参考》RecoveryReadinessServiceRolePolicy中的 [Route53](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/Route53RecoveryReadinessServiceRolePolicy.html)。

您必须配置权限，允许 IAM 实体（如用户、组或角色）创建、编辑或删除服务相关角色。有关更多信息，请参阅*《IAM 用户指南》*中的[服务相关角色权限](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#service-linked-role-permissions)。

### 为 ARC 创建 **Route53 RecoveryReadinessServiceRolePolicy** 服务相关角色
<a name="create-slr"></a>

您无需手动创建 **Route53 RecoveryReadinessServiceRolePolicy 服务相关角色**。当您在 AWS 管理控制台、或 AWS API 中创建首次准备情况检查或跨账户授权时，ARC 会为您创建服务相关角色。 AWS CLI

如果您删除该服务相关角色，然后需要再次创建，您可以使用相同流程在账户中重新创建此角色。当您创建第一次准备情况检查或跨账户授权时，ARC 会再次为您创建服务相关角色。

### 编辑 ARC 的 **Route53 RecoveryReadinessServiceRolePolicy** 服务相关角色
<a name="edit-slr"></a>

ARC 不允许您编辑 **Route53 RecoveryReadinessServiceRolePolicy 服务相关角色**。创建该服务相关角色后，将无法更改角色名称，因为可能有其它实体引用该角色。不过，您可以使用 IAM 编辑角色的说明。有关更多信息，请参阅《IAM 用户指南》**中的[编辑服务相关角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#edit-service-linked-role)。

### 删除 ARC 的 **Route53 RecoveryReadinessServiceRolePolicy** 服务相关角色
<a name="delete-slr"></a>

如果不再需要使用某个需要服务相关角色的功能或服务，我们建议您删除该角色。这样就没有未被主动监控或维护的未使用实体。但是，必须先清除服务相关角色的资源，然后才能手动删除它。

删除准备情况检查和跨账户授权后，您可以删除 **Route RecoveryReadinessServiceRolePolicy** 53 服务相关角色。有关就绪检查的更多信息，请参阅[ARC 中的就绪检查](recovery-readiness.md)。有关跨账户授权的更多信息，请参阅[在 ARC 中创建跨账户授权](recovery-readiness.cross-account.md)。

**注意**  
如果您尝试删除资源时 ARC 服务正在使用该角色，则删除服务角色可能会失败。如果发生这种情况，请等待几分钟，然后重新尝试删除该角色。

**使用 IAM 手动删除服务相关角色**

使用 IAM 控制台 AWS CLI、或 AWS API 删除 Route53 RecoveryReadinessServiceRolePolicy 服务相关角色。有关更多信息，请参阅《IAM 用户指南》**中的[删除服务相关角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#delete-service-linked-role)。

## 更新了 ARC 服务相关角色以进行准备情况检查
<a name="security-iam-awsmanpol-readiness-updates"></a>

有关 ARC 服务相关角色 AWS 托管策略的更新，请参阅 ARC 的[AWS 托管策略更新表](security-iam-awsmanpol.md#security-iam-awsmanpol-arc-updates)。您也可以在 ARC [文档历史记录页面](doc-history.md)上订阅自动 RSS 提醒。

# AWS ARC 中针对准备情况检查的托管策略
<a name="security-iam-awsmanpol-readiness"></a>

 AWS 托管策略是由创建和管理的独立策略 AWS。 AWS 托管策略旨在为许多常见用例提供权限，以便您可以开始为用户、组和角色分配权限。

请记住， AWS 托管策略可能不会为您的特定用例授予最低权限权限，因为它们可供所有 AWS 客户使用。我们建议通过定义特定于使用案例的[客户管理型策略](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#customer-managed-policies)来进一步减少权限。

您无法更改 AWS 托管策略中定义的权限。如果 AWS 更新 AWS 托管策略中定义的权限，则更新会影响该策略所关联的所有委托人身份（用户、组和角色）。 AWS 最有可能在启动新的 API 或现有服务可以使用新 AWS 服务 的 API 操作时更新 AWS 托管策略。

有关更多信息，请参阅《IAM 用户指南》**中的 [AWS 托管式策略](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies)。

## AWS 托管策略：Route53 RecoveryReadinessServiceRolePolicy
<a name="security-iam-awsmanpol-Route53RecoveryReadinessServiceRolePolicy"></a>

您不能将 `Route53RecoveryReadinessServiceRolePolicy` 附加到自己的 IAM 实体。此策略将附加到某个允许 Amazon 应用程序恢复控制器（ARC）访问由 ARC 使用或管理的 AWS 服务和资源的服务相关角色。有关更多信息，请参阅 [在 ARC 中使用服务关联角色进行准备情况检查](using-service-linked-roles-readiness.md)。

## AWS 托管策略： AmazonRoute53 RecoveryReadinessFullAccess
<a name="security-iam-awsmanpol-AmazonRoute53RecoveryReadinessFullAccess"></a>

您可以将 `AmazonRoute53RecoveryReadinessFullAccess` 附加到 IAM 实体。此策略授予对 ARC 中的恢复就绪（就绪检查）操作的完整访问权限。将此策略附加到需要恢复就绪操作的完全访问权限的 IAM 用户和其他主体。

要查看此策略的权限，请参阅《*AWS 托管策略参考*》RecoveryReadinessFullAccess中的 [AmazonRoute53](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonRoute53RecoveryReadinessFullAccess.html)。

## AWS 托管策略： AmazonRoute53 RecoveryReadinessReadOnlyAccess
<a name="security-iam-awsmanpol-AmazonRoute53RecoveryReadinessReadOnlyAccess"></a>

您可以将 `AmazonRoute53RecoveryReadinessReadOnlyAccess` 附加到 IAM 实体。此策略授予对 ARC 中的恢复就绪操作的只读访问权限。这种权限适用于需要查看就绪状态和恢复组配置的用户。这些用户无法创建、更新或删除恢复就绪资源。

要查看此策略的权限，请参阅《*AWS 托管策略参考*》RecoveryReadinessReadOnlyAccess中的 [AmazonRoute53](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonRoute53RecoveryReadinessReadOnlyAccess.html)。

## 更新 AWS 托管策略以备不时之需
<a name="security-iam-awsmanpol-readiness-updates"></a>

有关自该服务开始跟踪这些更改以来在 ARC 中进行就绪检查的 AWS 托管策略更新的详细信息，请参阅[Amazon 应用程序恢复控制器 (ARC) AWS 托管策略的更新](security-iam-awsmanpol.md#security-iam-awsmanpol-arc-updates)。有关此页面更改的自动提示，请订阅 ARC [文档历史记录页面](doc-history.md)上的 RSS 信息源。

# 就绪检查配额
<a name="recovery-readiness.quotas"></a>

**注意**  
从 2026 年 4 月 30 日起，Amazon 应用程序恢复控制器 (ARC) 中的准备情况检查功能将不再向新客户开放。现有客户可以继续正常使用该服务。有关更多信息，请参阅 [Amazon 应用程序恢复控制器 (ARC) 准备情况检查可用性变更](https://docs.aws.amazon.com/r53recovery/latest/dg/arc-readiness-availability-change.html)。

Amazon 应用程序恢复控制器（ARC）中的就绪检查受制于以下配额（以前称为限制）。


| 实体 | 限额 | 
| --- | --- | 
|  每个账户的恢复组数  |  5  | 
|  每个账户的规则数  |  15  | 
|  每个单元格的嵌套单元格数  |  3  | 
|  每个恢复组的单元格数  |  3  | 
|  每个单元格的资源数  |  10  | 
|  每个恢复组的资源数  |  10  | 
|  每个资源集的资源数  |  6  | 
|  每个账户的资源集数  |  200  | 
|  每个账户的就绪检查数  |  200  | 
|  跨账户授权数  |  100  | 

# ARC 中的区域切换
<a name="region-switch"></a>

您可以使用 ARC 中的 Region switch 来跨 AWS 账户协调应用程序资源的大规模、复杂的恢复任务，以帮助确保业务连续性并减少运营开销。区域切换提供了一种集中且可观察的解决方案，您可以手动执行该解决方案，也可以使用 Amazon CloudWatch 警报触发器自动执行该解决方案。如果受 AWS 区域 损，您可以使用区域切换来执行您创建的计划，以进行故障切换或将资源切换到另一个区域。这样可以确保您的应用程序能够在运行状况良好的 AWS 区域继续运行。

区域切换围绕*计划*概念构建，您可以根据特定的恢复需要来设计和配置这些计划。每个计划都包括由步骤组成的*工作流程*。每个步骤都运行一个或多个*执行块*，区域开关并行运行或按顺序运行，以完成应用程序恢复。每个执行块处理不同的任务，例如切换资源或管理应用程序的流量重定向。为了获得更大的灵活性，您可以通过将子计划添加到整个家长计划中来创建家长计划。

区域切换包括以下方面：
+ Suppor active/passive t 和 active/active 配置。如果您有 active/passive 多区域配置，则可以进行故障转移和故障恢复；如果您的应用程序设置为 active/active 多个区域，则可以移开并返回。
+ 对于您在应用程序恢复中包含的应用程序资源的跨账户支持。您也可以跨账户共享区域切换计划。
+ 通过根据 Ama CloudWatch zon 警报触发计划执行，自动进行故障转移或切换。或者，您可以选择手动执行区域切换计划。
+ 功能齐全的控制面板可让您实时了解恢复过程。
+ 每个平面都有一个数据平面 AWS 区域，这样您就可以执行区域切换计划，而无需依赖要停用的区域。

区域切换由 AWS完全托管。使用区域切换功能，您可以从专注于您的应用程序特定需求的恢复平台的弹性中获益，而无需构建和维护脚本，也无需手动收集有关恢复的数据。

# 关于区域切换
<a name="region-switch-plans"></a>

使用区域切换，您可以编排切换运行多区域应用程序 AWS 区域 的具体步骤。

区域切换围绕*计划*概念构建，您可以根据特定的恢复需要来设计和配置这些计划。每个计划都包括由步骤组成的*工作流程*。每个步骤都运行一个或多个*执行块*，区域开关并行运行或按顺序运行，以完成应用程序恢复。每个执行块处理不同的任务，例如切换资源或管理应用程序的流量重定向。为了获得更大的灵活性，您可以通过添加子计划来创建家长计划。

每当您创建或更新计划时，区域切换都会执行计划评估，以确保 IAM 权限、资源配置或运行容量没有问题。区域切换定期运行这些评估，并针对它发现的任何问题生成警告。

区域切换还会计算每个计划执行的实际恢复时间值，以协助您评估该计划是否符合您的目标。您可以在 AWS 管理控制台的区域切换控制面板中查看恢复时间和有关计划执行的其它详细信息。有关更多信息，请参阅 [区域切换控制面板](region-switch.dashboarding-and-reports.md)。

要了解有关区域切换中各个方面的更多信息，请参阅以下部分。

## 区域切换计划
<a name="region-switch-plans.plan-overview"></a>

区域切换计划是区域切换中的顶级资源。您应将计划范围限定为特定的多区域应用程序。计划使您能够通过运行一系列区域切换*执行块来构建恢复应用程序*的工作流程*，这些执行块*可以激活或停用您指定的应用程序及其资源，包括跨账户资源。 AWS 区域 

计划由一个或多个工作流程组成，使您可以激活或停用特定的 AWS 区域工作流程。您可以将工作流程中的执行块配置为按顺序运行，也可以指定某些块并行运行。

对于为 active/passive 多区域方法配置的计划，您可以创建一个可用于激活其中一个区域的工作流程，或者创建两个单独的激活工作流程，每个区域一个。对于为主动/主动方法配置的计划，您可以创建一个工作流程来激活您的区域，并创建一个工作流程来停用您的区域。

AWS 区域 是 AWS 集群数据中心所在的全球地理位置。从设计而言，每个区域都与其他区域完全隔离，提供容错能力和稳定性。使用区域切换时，您需要考虑您的应用程序部署在哪些区域以及要使用哪些区域进行恢复。

区域切换支持 AWS 区域 在提供服务的任意两个区域之间进行恢复。配置区域切换计划时，需要指定应用程序部署的区域和要使用的恢复方法： active/passive 或主动/主动。

例如，您可能采用 active/passive 多区域方法，将 us-east-1 作为主要区域，us-west-2 作为备用区域。要从影响 us-east-1 中应用程序的操作问题中恢复您的应用程序，您可以执行区域切换计划以激活 us-west-2。这将导致应用程序从 us-east-1 中的资源切换到 us-west-2 中的资源。

区域切换计划使用您创建计划时指定的 IAM 角色相关联的权限。

 您可以为每个多区域应用程序创建多个计划，然后通过创建*父计划*按所需顺序编排这些计划的恢复。父计划是使用区域切换计划执行块作为步骤的计划。计划的层次结构仅限于两个级别（父级和子级），但您可以在同一个父计划下包括多个子计划。

## 工作流程和执行块
<a name="execution-blocks-rs"></a>

创建区域切换计划后，必须向计划中添加一个或多个工作流程，以定义您希望该计划为应用程序恢复执行的步骤。对于每个工作流程，您可以添加包含执行块的步骤。每个执行块都会执行特定的恢复操作，例如扩展资源或更新路由控制以重新路由流量。步骤组织这些执行块并控制它们是并行运行还是按顺序运行。通过创建父计划，您还可以协调多个应用程序恢复到您正在激活的区域的顺序。

您可以将执行块组织成工作流程中的步骤。每个步骤可以包含一个或多个并行运行的执行块，您可以安排在工作流程中按顺序运行的步骤。此外，根据资源的不同，您可以选择以优雅（计划内）或非优雅（计划外）的执行方式运行执行块。
+ 优雅执行：计划的执行工作流程。当您的环境状况正常时，您可以使用优雅的工作流程来运行所有步骤，以便有序地执行计划。
+ 非优雅执行：计划外执行。非优雅工作流程模式仅使用必要的步骤和操作。此模式要么更改工作流程中执行块的行为，要么跳过特定的执行块。
+ 恢复后执行：在成功恢复后运行的工作流程，为未来的地区事件做准备。恢复后执行可以创建只读副本、通过 Lambda 函数运行自定义逻辑、添加手动批准门禁以及嵌入子计划以进行复杂编排。这些执行要求两个区域都处于健康状态，并在之前受损的区域中运行。

最后，您还可以为执行块配置跨账户资源。首先，您必须按照[区域切换中的跨账户支持](cross-account-resources-rs.md)中的指导配置权限。设置所需的 IAM 角色后，您可以在计划工作流程的执行区块中添加跨账户资源。要添加跨账户资源，在添加步骤时，您需要指定一个有权访问其他 AWS 账户账户资源的目标 IAM 角色。您还必须为跨账户角色指定您在信任策略中提供的外部 ID。有关创建所需 IAM 角色的详细信息，请参阅[跨账户资源权限](security_iam_region_switch_cross_account.md)。

要了解有关工作流程的更多信息，请参阅[创建区域切换计划工作流程](working-with-rs-workflows.md)。有关每种执行块类型的详细信息，包括配置步骤、工作原理以及计划评估的内容，请参阅[添加执行块](working-with-rs-execution-blocks.md)。

## 计划评估
<a name="region-switch-plans.plan-evaluation"></a>

计划评估是一个自动流程，区域切换在创建或更新计划时运行，然后在稳定状态下每 30 分钟运行一次。评估过程会验证计划配置和资源配置的几个关键方面。评估包括验证 IAM 权限、资源配置和运行容量。

如果区域切换发现可能阻碍计划成功执行的问题，它会生成计划评估警告，该警告将在控制台的计划详细信息页面上突出显示。您也可以通过 Amazon 查看计划评估警告 EventBridge，也可以使用区域切换 API 查看警告。有关计划评估 API 的更多信息，请参阅 [GetPlanEvaluationStatus](https://docs.aws.amazon.com/arc-region-switch/latest/api/API_GetPlanEvaluationStatus.html)Amazon 应用程序恢复控制器 (ARC) 的*区域切换 API 参考指南*。

您可以在计划详细信息页面的**计划评估**选项卡中查看计划评估出现的问题的详细信息和建议的补救措施。我们建议您同时通过执行区域切换计划来测试应用程序恢复，并且不要仅仅依靠区域切换计划评估来测试恢复计划能否按预期运行。

## 自动计划执行报告
<a name="region-switch-plans.plan-execution-reports"></a>

区域切换可以自动为计划执行生成全面的 PDF 报告，以帮助您满足监管合规性要求。这些报告提供了灾难恢复测试和实际恢复事件的证据，包括详细的执行时间表、计划配置和资源状态。

当您为计划配置自动生成报告时，区域切换将在每次计划执行完成后创建一个 PDF 报告，并将其传送到您指定的 Amazon S3 存储桶。报告通常会在执行完成后的 30 分钟内提供。S3 存储费用适用。

每份报告包括：
+ 包含服务概述和报告创建日期的执行摘要
+ 计划执行时存在的配置细节
+ 详细的执行时间表，包括步骤、受影响的资源和状态
+ 计划执行开始时出现的警告
+ Amazon CloudWatch 警报状态和相关警报的警报历史记录
+ 有关父计划，子计划的配置和执行详细信息
+ 术语和概念词汇表

要启用自动生成报告，请在创建或更新计划时配置报告输出目标。您还必须确保计划的执行 IAM 角色具有必要的权限，可以将报告写入您的 Amazon S3 存储桶并访问生成报告内容所需的资源。有关所需权限的更多信息，请参阅[自动计划执行报告权限](security_iam_region_switch_reports.md)。

您可以从控制台的计划执行详细信息页面查看报告生成状态并下载已完成的报告。如果报告生成遇到错误，例如权限不足或 Amazon S3 存储桶配置错误，则区域切换会提供错误详细信息以帮助您解决问题。

计划评估会持续验证您的报告配置，包括验证执行角色是否具有所需的 IAM 权限。如果 Region switch 检测到会阻碍成功生成报告的配置问题，则会生成警告，您可以在计划详细信息页面上查看这些警告。

## 区域警报和实际恢复时间
<a name="region-switch-plans.plan-rto"></a>

区域切换会计算每次计划执行的*实际恢复时间*值，您可以在计划执行后查看该值。实际恢复时间显示在计划执行详细信息页面上，因此您可以将实际时间与创建计划时指定的恢复时间目标进行比较。

实际恢复时间是根据计划执行完成所花费的总时间以及您配置的特定 Amazon CloudWatch 警报恢复到绿色状态之前经过的任何额外时间计算的。

为了支持计算计划执行的准确实际恢复时间，您必须为区域切换计划配置区域亚马逊 CloudWatch 警报，以提供有关每个区域中应用程序运行状况的信号。执行计划时，区域切换会使用这些应用程序运行状况警报来确定您的应用程序何时恢复正常。然后，Region switch 会根据您配置的应用程序运行状况警报，根据您的计划执行所需的时间，再加上应用程序恢复正常运行所需的时间，来计算实际恢复时间。

在向区域切换计划添加 CloudWatch 警报之前，请确保您有正确的 IAM 策略。有关更多信息，请参阅 [CloudWatch 应用程序运行状况权限警报](security_iam_region_switch_cloudwatch.md)。

# AWS 区域
<a name="aws-regions-rs"></a>

区域切换适用于所有商业 AWS 区域区域以及 AWS GovCloud （美国）区域。

有关 Amazon 应用程序恢复控制器（ARC）的区域支持和服务端点的详细信息，请参阅《Amazon Web Services 一般参考》**中的 [Amazon 应用程序恢复控制器端点和配额](https://docs.aws.amazon.com/general/latest/gr/arc.html)。

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/r53recovery/latest/dg/aws-regions-rs.html)

# 区域切换组件
<a name="components-rs"></a>

以下是 Amazon 应用程序恢复控制器（ARC）中区域切换功能的组件和概念。

**规划**  
计划是应用程序的基本恢复过程。您可以通过构建一个或多个工作流程来创建计划，其中包含要按顺序运行或并行运行的执行块。然后，当存在区域性影响时，您可以执行计划，通过将应用程序转移到运行状况良好的区域中运行来完成应用程序的恢复。

**子计划**  
子计划是一种独立的计划，可以在父计划中运行，以协调更复杂的应用程序恢复方案。您可以将区域切换计划嵌套一层。

**工作流**  
区域切换计划包括一个或多个工作流程。工作流程由包含执行块的步骤组成，您可以指定这些执行块并行运行或按顺序运行，以完成作为恢复计划一部分的区域的激活或停用。对于您配置为采用某种 active/passive 方法的计划，您可以创建一个可用于激活其中一个区域的工作流程，或者创建一个单独的激活工作流程，每个区域都有一个激活工作流程。对于您为某种 active/active 方法配置的计划，您可以创建一个工作流程来激活您的区域，并创建一个工作流程来停用您的区域。

**执行块**  
您可以向包含执行块的区域切换计划工作流程中添加步骤。执行块允许您指定将多个应用程序或资源恢复到激活区域的时间。向工作流程添加步骤时，可以将其与其他步骤按顺序添加，也可以与其他一个或多个步骤并行添加。

**优雅配置和非优雅配置**  
您可以选择以优雅（计划内）或非优雅（计划外）执行来运行特定的执行块。当您的环境状况正常时，您可以使用优雅的工作流程来运行所有步骤，以便有序地执行计划。非优雅工作流程模式仅使用必要的步骤和操作。当您在非优雅模式下运行计划时，它要么更改工作流程中执行块的行为，要么跳过特定的执行块，具体取决于执行块的类型。  
特定类型的执行块在非优雅运行时会有不同的行为。有关这些差异的详细信息将在包含每种执行块类型的详细信息的部分中进行描述。有关更多信息，请参阅 [添加执行块](working-with-rs-execution-blocks.md)。

**Active/active and active/passive 配置**  
为跨多个区域的应用程序创建弹性配置有两种主要方法： active/passive 和主动/主动。区域切换同时支持这两种方法的应用程序恢复。  
通过 active/passive 配置，您可以在两个不同的区域部署应用程序的两个副本，而客户流量只能流向一个区域。  
通过 active/active 配置，您可以将两个副本部署到两个不同的区域，但两个副本都在处理工作或接收流量。

**计划执行**  
当区域切换计划执行时，它会在区域受影响时通过为您的应用程序及其接收的流量激活运行状况良好的区域来实现应用程序恢复。通过 active/active 配置，您还可以运行计划执行以停用受损区域。

**应用程序运行状况警报**  
应用程序运行状况警 CloudWatch 报是您为计划指定的警报，用于指示每个区域中应用程序的运行状况。区域切换使用应用程序运行状况警报，来协助确定您切换区域以实现恢复后的实际恢复时间。

**触发器**  
您可以在区域切换中使用触发器来自动恢复应用程序。创建触发器时，您可以指定一个或多个 Amazon CloudWatch 警报，并定义应启动计划执行的警报条件（例如 “红色” 或 “绿色”）。当满足指定条件时，区域切换会自动执行计划。触发器与应用程序运行状况警报不同：触发器启动计划执行，而应用程序运行状况警报可帮助区域切换计算计划完成后的实际恢复时间。

**恢复后工作流程**  
恢复后工作流程是一种可选的工作流程，在成功恢复后运行，为未来的地区事件做准备。这些工作流程要求两个区域都运行良好，并在之前受损的区域中运行。恢复后执行引用最近一次恢复执行的恢复执行 ID。  
恢复后工作流程支持以下执行块：  
+ RDS 创建跨区域副本
+ 自定义操作 Lambda
+ 手动审批
+ 区域切换计划

**控制面板**  
区域切换包括控制面板，您可以在其中实时跟踪计划执行的详细信息。

# 区域切换的数据和控制面板
<a name="data-and-control-planes-rs"></a>

在规划失效转移和灾难恢复时，请考虑失效转移机制的弹性。建议您确保在失效转移期间所依赖的机制高度可用，这样在灾难场景中有需要时就能使用它们。通常，应尽可能在机制中使用数据面板功能，以获得较高的可靠性和容错能力。考虑到这一点，请务必了解服务的功能如何在控制面板和数据面板之间划分，以及何时可以依赖服务的数据面板可预期的极高可靠性。

与许多 AWS 服务一样，区域切换功能由控制平面和数据平面支持。虽然两种面板均可靠，但控制面板已针对数据一致性进行优化，而数据面板已针对可用性进行优化。数据面板专为弹性而设计，因此即使在中断事件期间，当控制面板可能不可用时，它也能保持可用性。

一般而言，*控制面板*允许您执行基本的管理功能，例如在服务中创建、更新和删除资源。*数据面板*提供服务的核心功能。因此，我们建议您在可用性很重要的情况下使用数据面板操作，例如，在中断期间需要获取区域切换计划的相关信息时。

对于区域切换，控制面板和数据面板按以下方式划分：
+ 区域切换的控制平面位于美国东部（弗吉尼亚北部）区域 (us-east-1) AWS GovCloud 、(美国西部) 区域 us-gov-west (-1)，仅用于服务管理，即创建和更新计划，而不是用于恢复，即执行计划。*区域切换配置控制面板 API 操作的可用性不高。*
+ 区域切换在每个 AWS 区域都有独立的数据面板。您应该使用数据面板进行恢复操作，即执行区域切换计划。有关数据平面操作的列表，请参见[区域切换 API 操作](actions.region-switch.md)。*这些区域切换数据面板操作高度可用。*

Region switch 在每个控制台中都 AWS 区域提供了一个独立的控制台，它调用数据平面 API 操作来执行恢复任务，因此您可以使用正在激活的区域中的控制台来执行应用程序恢复计划。如需详细了解准备和完成使用区域切换的恢复操作时的重要注意事项，请参阅[ARC 中区域切换的最佳实践](best-practices.region-switch.md)。

有关数据平面、控制平面以及如何 AWS 构建服务以满足高可用性目标的更多信息，请参阅 Amazon Builders Library 中的 “[使用可用区的静态稳定性” 论文](https://aws.amazon.com/builders-library/static-stability-using-availability-zones/)。

# 为 ARC 区域切换添加标签；
<a name="tagging.region-switch"></a>

标签是您用来识别和组织 AWS 资源的单词或短语（元数据）。您可以为每个资源添加多个标签，每个标签都包含一个密钥和一个您定义的值。例如，键可能是环境，值可能是生产。您可以根据添加的标签搜索和筛选资源。

在 ARC 中，您可以标记区域切换中的以下资源：
+ 计划

ARC 中的标记只能通过 API 使用，例如，通过使用 AWS CLI。

以下是使用 AWS CLI在区域切换中进行标记的示例。

`aws arc-region-switch --region us-east-1 create-plan --plan-name example-plan --tags Region=IAD,Stage=Prod`

有关更多信息，请参阅 [TagResource](https://docs.aws.amazon.com/arc-region-switch/latest/api/API_TagResource.html)Amazon 应用程序恢复控制器 (ARC) 的*区域切换 API 参考指南*。

# ARC 中区域切换的定价
<a name="pricing-rs"></a>

根据您配置的区域切换计划，您每月支付固定的费用。

有关 ARC 的详细定价信息和定价示例，请参阅 [ARC 定价](https://aws.amazon.com/application-recovery-controller/pricing/)。

# ARC 中区域切换的最佳实践
<a name="best-practices.region-switch"></a>

我们建议采用以下最佳实践通过 Amazon 应用程序恢复控制器（ARC）中的区域切换做好恢复和失效转移准备。

**主题**
+ [确保专门构建、使用寿命长的 AWS 凭证安全且始终可访问](#RSBestPracticeCredentials)
+ [为故障转移中涉及的 DNS 记录选择较低的 TTL 值](#RSBestPracticeLowerTTL)
+ [为关键应用程序保留所需的容量](#RSBestPracticeCapacity)
+ [使用极其可靠的数据面板 API 操作列出和获取有关区域切换计划的信息](#RSBestPracticeUseDataPlane)
+ [使用 ARC 测试失效转移](#RSBestPracticeTestFailover)

**确保专门构建、使用寿命长的 AWS 凭证安全且始终可访问**  
在灾难恢复 (DR) 场景中，通过使用一种简单的方法来访问 AWS 和执行恢复任务，将系统依赖性降至最低。专为 DR 任务创建 [IAM 长效凭证](https://docs.aws.amazon.com/IAM/latest/UserGuide/console_account-alias.html)，并将凭证安全地保存在本地物理保险箱或虚拟保管库中，以便在需要时进行访问。借助 IAM，您可以集中管理安全证书，例如访问密钥和 AWS 资源访问权限。对于非 DR 任务，我们建议您继续使用 [AWS 单点登录](https://aws.amazon.com/single-sign-on/)等 AWS 服务进行联合访问。

**为故障转移中涉及的 DNS 记录选择较低的 TTL 值**  
对于在失效转移机制中可能需要更改的 DNS 记录，尤其是经过运行状况检查的记录，使用较低的 TTL 值是合适的做法。在这种情况下，通常选择将 TTL 设置为 60 秒或 120 秒。  
DNS TTL（生存时间）设置会告诉 DNS 解析器在一条记录缓存多长时间后再请求新记录。选择 TTL 时，要在延迟和可靠性与应变能力之间进行权衡。如果记录的 TTL 较短，DNS 解析器将更快地注意到记录的更新，因为 TTL 指定了它们必须更频繁地查询。  
有关更多信息，请参阅 [Amazon Route 53 DNS 最佳实践](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/best-practices-dns.html)中的*为 DNS 记录选择 TTL 值*。

**为关键应用程序保留所需的容量**  
区域切换包括执行块类型，可在恢复过程中帮助扩展计算资源。如果您在计划中使用这些执行块，则区域切换并不能保证获得所需的计算容量。如果您有关键应用程序并且需要保证容量的访问权限，我们建议您预留容量。  
您可以遵循一些策略来预留辅助区域的计算容量，同时还可以限制成本。要了解更多信息，请参阅 [Pilot light 与预留容量：如何使用按需容量预留优化灾难恢复成本](https://aws.amazon.com/blogs/architecture/pilot-light-with-reserved-capacity-how-to-optimize-dr-cost-using-on-demand-capacity-reservations/)。

**使用极其可靠的数据面板 API 操作列出和获取有关区域切换计划的信息**  
在活动期间，使用数据面板 API 操作来处理和执行您的区域切换计划。有关区域切换数据面板操作的列表，请参阅[区域切换 API 操作](actions.region-switch.md)。  
每个区域的区域切换控制台使用数据面板操作来执行区域切换计划。您也可以使用调用数据平面 API 操作， AWS CLI 或者通过运行使用其中一个编写的代码来调用数据平面 API 操作 AWS SDKs。ARC 数据面板中的 API 极其可靠。

**使用 ARC 测试应用程序恢复**  
使用 ARC 区域交换机定期测试应用程序恢复，以激活另一个区域中的辅助应用程序堆栈 AWS 区域，或者通过运行区域切换计划来停用其中一个区域来切换主动-主动配置。  
务必要确保您创建的区域切换计划与堆栈中的正确资源保持一致，并且一切都按预期运行。您应该在为您的环境设置好区域切换之后进行该测试，并继续定期进行测试，以便验证恢复过程是否正常运行。在遇到故障情况之前，请定期进行此项测试，以帮助避免用户停机。

**ARC 区域交换机 DNS 故障转移对比 Route 53 加速恢复**  
 加速恢复提供了 60 分钟的目标 RTO， APIs 用于更新启用此功能的公共托管区域记录。如果您需要保持对 RTO 的控制而不是等待 AWS APIs 所需的 RTO 的完全恢复，则应使用 ARC Routing 控制或 ARC Region 切换 Route 53 运行状况检查执行块。

# 教程：创建 active/passive 区域切换计划
<a name="tutorial-region-switch"></a>

本教程将指导您为在 us-east-1 中运行的应用程序创建 active/passive 区域切换计划并恢复到 us-west-2。示例包括用于计算的 Amazon EC2 实例、用于存储的 Amazon Aurora Global Database 和用于 DNS 的 Amazon Route 53。

在本教程中，您将完成以下步骤：
+ 创建区域切换计划
+ 构建计划的工作流程和执行块
+ 构建 EC2 Auto Scaling 组执行块
+ 构建两个手动批准执行块
+ 构建两个自定义操作 Lambda 执行块
+ 构建 Amazon Aurora Global Database 执行块
+ 构建 ARC 路由控制块
+ 执行区域切换计划

## 先决条件
<a name="tutorial-rs-prerequisites"></a>

开始本教程之前，请确认您在这两个区域都具有先决条件：
+ IAM 角色，具有适当的权限
+ EC2 Auto Scaling 群组
+ 用于维护页面和屏蔽的 Lambda 函数
+ Aurora Global Database
+ ARC 路由控制

## 步骤 1：创建区域切换计划
<a name="tutorial-rs-create-plan"></a>

1. 在区域切换控制台中，选择**创建区域切换计划**。

1. 提供以下详细信息：
   + **主要区域**：选择 us-east-1
   + **备用区域**：选择 us-west-2
   + **所需的恢复时间目标（RTO）**（可选）
   + **IAM 角色**：输入计划执行 IAM 角色。此 IAM 角色允许在执行期间切换区域以呼叫 AWS 服务。

1. 选择**创建**。

（可选）将来自不同 AWS 账户的资源添加到您的区域切换套餐中：

1. 创建跨账户角色：
   + 在托管资源的账户中，创建 IAM 角色。
   + 针对计划将要访问的特定资源添加权限。
   + 添加允许执行角色代入新该色的信任策略。
   + 输入并记下您将用作共享密钥的外部 ID。

1. 在您的计划中配置资源：
   + 将资源添加到计划时，请指定另外两个字段：
     + **crossAccountRole**：您在步骤 1 中创建的角色的 ARN
     + **externalId**：您在步骤 1 中输入的外部 ID

访问账户 987654321 中资源的 EC2 Auto Scaling 执行块的配置示例：

```
{
  "executionBlock": "EC2AutoScaling",
  "name": "ASG",
  "crossAccountRole": "arn:aws:iam::987654321:role/RegionSwitchCrossAccountRole",
  "externalId": "unique-external-id-123",
  "autoScalingGroupArn": "arn:aws:autoscaling:us-west-2:987654321:autoScalingGroup:*:autoScalingGroupName/CrossAccountASG"
}
```

所需权限：
+ 执行角色必须具有跨账户角色的 sts: AssumeRole 权限。
+ 跨账户角色必须仅对要访问的特定资源具有权限。
+ 跨账户角色的信任策略必须包括：
  + 执行角色的账户作为可信实体。
  + 外部 ID 条件。
+ 有关配置跨账户角色的更多信息，请参阅[跨账户资源权限](security_iam_region_switch_cross_account.md)。

在执行计划之前，区域切换将验证以下内容：
+ 执行角色可以代入跨账户角色。
+ 跨账户角色具有所需的权限。
+ 外部 ID 与信任策略相匹配。

## 步骤 2：构建计划的工作流程和执行块
<a name="tutorial-rs-build-workflows"></a>

1. 在区域切换计划详细信息页面中，选择**构建工作流程**。

1. 选择**为所有区域构建相同的激活工作流程**。

1. 输入区域激活工作流程描述（可选）。这将用于在执行计划时轻松识别工作流程。

1. 选择 **保存并继续**。

### 添加 EC2 Auto Scaling 执行块
<a name="tutorial-rs-build-workflows-ec2"></a>

有关此执行块的更多信息，请参阅[亚马逊 EC2 Auto Scaling 群组执行块](ec2-auto-scaling-block.md)。

1. 选择**添加步骤**，然后选择**按顺序运行**。

1. 选择 **EC2 Auto Scaling 执行块**，然后选择**添加和编辑**。您可以借助此块开始增加被动区域的容量。

1. 在右窗格中，配置块：
   + **步骤名称**：输入“Scale”
   + **步骤描述**（可选）
   + 适用于 **us-east-1 的 Auto Scaling 群组 ARN：us-east-1** 中你的 ASG 的 ARN
   + us-west-2 的 A@@ **uto Scaling 群组 ARN：us-west-2 中你**的 ASG 的 ARN
   + **与来源区域容量匹配的百分比**：输入 100
   + **容量监控方法**：保留为“最近”
   + **超时**（可选）

   有关此执行块所需的 IAM 权限的信息，请参阅[EC2 Auto Scaling 执行区块示例策略](security_iam_region_switch_ec2_autoscaling.md)。

1. 选择**保存步骤**。

### 添加手动批准执行块
<a name="tutorial-rs-build-workflows-manual-approval-1"></a>

有关此执行块的更多信息，请参阅[手动审批执行块](manual-approval-block.md)。

1. 选择**添加步骤**。

1. 选择**手动批准审批执行块**并将其添加到设计窗口。通过此块，您可以继续操作之前进行人工验证。

1. 在右窗格中，配置块：
   + **步骤名称**：输入“Manual approval before setup”
   + **步骤描述**（可选）
   + **IAM 批准角色**：用户要批准执行所必需代入的角色
   + **超时**（可选）。超时后，执行将暂停，您可以选择重试、跳过或取消。

   有关此执行块所需的 IAM 权限的信息，请参阅[手动审批执行块示例策略](security_iam_region_switch_manual_approval.md)。

1. 选择**保存步骤**。

### 为维护页面添加自定义操作 Lambda 执行块
<a name="tutorial-rs-build-workflows-lambda-maintenance"></a>

有关此执行块的更多信息，请参阅[自定义操作 Lambda 执行块](custom-action-lambda-block.md)。

1. 选择**添加步骤**。

1. 选择**自定义操作 Lambda 执行块**，然后选择**添加和编辑**。此块将在要激活的区域中发布维护页面。

1. 在右窗格中，配置块：
   + **步骤名称**：输入“Display maintenance page”
   + **步骤描述**（可选）
   + **用于激活 us-east-1 的 Lambda ARN**：部署在 us-east-1 中的维护页面 Lambda 函数的 ARN
   + **用于激活 us-west-2 的 Lambda ARN**：部署在 us-west-2 中的维护页面 Lambda 函数的 ARN
   + **运行 Lambda 函数的区域**：选择**在激活区域运行**
   + **超时**（可选）
   + **重试间隔**（可选）

   有关此执行块所需的 IAM 权限的信息，请参阅[自定义操作 Lambda 执行块示例策略](security_iam_region_switch_lambda.md)。

1. 选择**保存步骤**。

### 添加 Aurora 全球数据库执行块
<a name="tutorial-rs-build-workflows-aurora"></a>

有关此执行块的更多信息，请参阅[Amazon Aurora Global Database 执行块](aurora-global-database-block.md)。

1. 选择**添加步骤**。

1. 选择 **Aurora Global Database 执行块**，然后选择**添加和编辑**。此块会触发 Aurora Global Database 切换（不会丢失数据）。有关更多信息，请参阅《Aurora 用户指南》**中的[在 Aurora Global Database 中使用切换或失效转移](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-global-database-disaster-recovery.html)。

1. 在右窗格中，配置块：
   + **步骤名称**：输入 **Aurora switchover**
   + **步骤描述**（可选）
   + **Aurora Global Database 标识符**：Aurora 集群的名称
   + **用于激活 us-east-1 的集群 ARN**：us-east-1 中的 Aurora 集群 ARN
   + **用于激活 us-west-2 的集群 ARN**：us-west-2 中的 Aurora 集群 ARN
   + **选择 Aurora 数据库的选项**：选择**切换**
   + **超时**（可选）

   有关此执行块所需的 IAM 权限的信息，请参阅[Aurora Global Database 执行块示例策略](security_iam_region_switch_aurora.md)。

1. 选择**保存步骤**。

### 添加 ARC 路由控制执行块
<a name="tutorial-rs-build-workflows-routing-control"></a>

有关此执行块的更多信息，请参阅[ARC 路由控制执行块](arc-routing-controls-block.md)。

1. 选择**添加步骤**。

1. 选择 **ARC 路由控制执行块**，然后选择**添加和编辑**。此块执行 DNS 故障转移以将流量转移到被动区域。

1. 在右窗格中，配置块：
   + **步骤名称**：输入 **Toggle DNS**
   + **步骤描述**（可选）
   + **激活 us-east-1 中使用的路由控制**：选择**添加路由控制**
   + **超时**：输入超时值。

1. 选择**添加路由控制**：
   + **路由控制 ARN**：控制 us-east-1 的路由控制的 ARN
   + **路由控制状态**：选择**开启**

1. 再次选择**添加路由控制**：
   + **路由控制 ARN**：控制 us-west-2 的路由控制的 ARN
   + **路由控制状态**：选择**关闭**

1. 选择**保存**。

1. **激活 us-west-2 中使用的路由控制**：选择**添加路由控制**

1. 选择**添加路由控制**：
   + **路由控制 ARN**：控制 us-west-2 的路由控制的 ARN
   + **路由控制状态**：选择**开启**

1. 再次选择**添加路由控制**：
   + **路由控制 ARN**：控制 us-east-1 的路由控制的 ARN
   + **路由控制状态**：选择**关闭**

1. 选择**保存**。

1. 选择**保存步骤**。

   有关此执行块所需的 IAM 权限的信息，请参阅[ARC 路由控制执行块策略示例](security_iam_region_switch_arc_routing.md)。

1. 选择**保存**。

## 步骤 3：执行计划
<a name="tutorial-rs-execute-plan"></a>

1. 在区域切换计划详细信息页面的右上角，选择**执行**。

1. 输入执行详细信息：
   + 选择要激活的区域。
   + 选择计划执行模式。
   + （可选）查看执行步骤。
   + 确认计划执行。

1. 选择**启动**。

1. 您可以在执行详细信息页面上查看计划执行的详细信息步骤。您可以看到计划执行中的每个步骤，包括开始时间、结束时间、资源 ARN 和日志消息。

受影响区域恢复后，您可以再次执行计划（更改您提供的参数）以激活原始区域，将应用程序操作切换回原始主区域。

# 教程：配置计划执行报告的自动生成
<a name="tutorial-report-generation"></a>

本教程将指导您为区域切换计划配置自动生成计划执行报告。出于合规目的，报告提供了计划执行的全面 PDF 文档。

在本教程中，您将完成以下步骤：
+ 创建用于报告存储的 Amazon S3 存储桶
+ 在区域切换计划上启用自动生成报告
+ 执行计划并下载报告

## 先决条件
<a name="tutorial-report-prerequisites"></a>

在开始本教程之前，请确认您已具备以下条件：
+ 包含已配置工作流程的现有区域切换计划
+ 创建 Amazon S3 存储桶的权限
+ 您的计划的执行 IAM 角色配置了所需的权限。有关更多信息，请参阅 [自动计划执行报告权限](security_iam_region_switch_reports.md)。

## 步骤 1：为报告创建 Amazon S3 存储桶
<a name="tutorial-report-create-bucket"></a>

1. 打开 Amazon S3 控制台，网址为 [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)。

1. 选择 **创建存储桶 **。

1. 提供以下详细信息：
   + **存储桶名称**：输入一个唯一的名称，例如 `my-region-switch-reports`
   + **屏蔽公共访问设置**：屏蔽所有公共访问权限（推荐）
   + **存储桶版本控制**：启用版本控制（可选，但建议使用）
   + **默认加密**：选择加密。如果使用 SSM-KMS，则 planExecutionRole 需要 kms:对 s3 存储桶的默认 CMK 进行加密和 kms:GenerateDataKey 权限

1. 选择 **创建存储桶 **。

1. 记下存储桶名称，以便在下一步中使用。

## 第 2 步：在您的计划中启用自动生成报告
<a name="tutorial-report-enable-reports"></a>

1. 打开区域交换机控制台，网址为[https://console.aws.amazon.com/route53recovery/regionswitch/home](https://console.aws.amazon.com/route53recovery/regionswitch/home)。

1. 选择要为其配置报告的计划。

1. 选择**在导航栏中，前往 “操作”，然后选择 “编辑计划详情**”。

1. 在**报告设置**部分，提供以下信息：
   + 选择 “**启用自动生成报告**”
   + **Amazon S3 URI：**选择或输入您在步骤 1 中创建的存储桶 S3 URI
   + **拥有存储桶的账户 ID：**输入存储桶所有者账户 ID

1. 选择**保存**。

1. 等待计划评估完成。如果有任何配置问题，将在计划详细信息页面上显示警告。

## 第 3 步：执行计划并下载报告
<a name="tutorial-report-execute-download"></a>

1. 在计划详细信息页面上，选择**执行**。

1. 照常完成计划执行，选择要激活的区域和执行模式。

1. 计划执行完成后，导航至执行详细信息页面。

1. 在 “**计划执行报告**” 部分，监控报告生成状态。报告生成通常在执行完成后的 30 分钟内完成。

1. 当报告状态显示**已完成**时，选择**下载计划执行报告**以下载 PDF。

1. 或者，导航到您的 Amazon S3 存储桶以直接访问报告。报告按以下命名模式存储：`ExecutionReport-${planVersion.ownerAccountId}-${planName}-${execution.regionTo}-${event.executionId}-${dateStr}.pdf`

生成的报告包括：
+ 包含服务概述和报告创建日期的执行摘要
+ 计划执行时存在的配置细节
+ 详细的执行时间表，包括步骤、受影响的资源和状态
+ 计划执行开始时出现的警告
+ Amazon CloudWatch 警报状态和相关警报的警报历史记录
+ 有关父计划，子计划的配置和执行详细信息
+ 术语和概念词汇表

## 问题排查
<a name="tutorial-report-troubleshooting"></a>

如果报告生成失败，请检查以下内容：
+ **权限错误**：验证执行角色是否具有正确的 IAM 权限。有关更多信息，请参阅 [自动计划执行报告权限](security_iam_region_switch_reports.md)。查看计划评估警告，了解具体的权限问题。
+ **Amazon S3 存储桶访问权限**：确保 Amazon S3 存储桶存在并且可以从配置计划的地区进行访问。确认存储桶策略不会阻止执行角色的访问权限。
+ **存储桶加密**：如果使用客户管理的 KMS 密钥进行存储桶加密，请确保执行角色有权使用 KMS 密钥。

如需其他帮助，请在执行详情页面上查看详细的错误消息或联系 Supp AWS ort。

# 教程：执行 RDS 恢复后工作流程
<a name="tutorial-post-recovery"></a>

本教程将指导您在 RDS 成功故障转移后执行恢复后工作流程。这种恢复后的执行通过重新建立 RDS 数据库的跨区域复制来恢复冗余，从而确保您的 RDS 数据库为未来的区域事件做好准备。

在本教程中，您将完成以下步骤：
+ 验证恢复后执行的先决条件
+ 使用 RDS 创建跨区域副本执行块创建恢复后工作流程
+ 执行恢复后工作流程

## 先决条件
<a name="tutorial-post-recovery-prerequisites"></a>

在开始本教程之前，请确认您已具备以下条件：
+ 带有激活工作流程的区域切换 active/passive 计划，其中包括 RDS Promote 只读副本执行块
+ 成功执行激活，提升了其他区域的只读副本
+ 这两个区域都很健康且可访问
+ 最近一次恢复执行的执行 ID

## 步骤 1：创建恢复后工作流程
<a name="tutorial-post-recovery-create-workflow"></a>

1. 从 Region Switch 控制台中选择计划，选择**编辑工作流程**，选择 **Config**，选中在**计划中包含恢复后工作流程**并保存。

1. 在 “编辑工作流程” 页面中，选择 “**选择要添加步骤的工作流” 下拉列表**，然后选择 “**恢复后**”。

1. 选择**添加步骤**。

1. 选择 **Amazon RDS 创建跨区域副本执行块**。

1. 在右窗格中，配置块：
   + **步骤名称**：输入 “创建跨区域只读副本”
   + **步骤描述**（可选）
   + 主区域的 **RDS 数据库实例 ARN：主区域**中数据库的 ARN 应与提升只读副本步骤相同
   + 辅助区域的 **RDS 数据库实例 ARN：辅助区域中**提升的数据库的 ARN 应与提升只读副本步骤相同
   + **超时**（可选）：输入超时值，例如 90 分钟

   有关此执行块所需的 IAM 权限的信息，请参阅[Amazon RDS 执行区块策略示例](security_iam_region_switch_rds.md)。

1. 选择**保存步骤**。

1. 选择 “**保存工作流程”**。

## 步骤 2：执行恢复后工作流程
<a name="tutorial-post-recovery-execute"></a>

1. 在区域切换计划详细信息页面的右上角，选择**恢复后执行**。

1. 输入执行详细信息：
   + **恢复执行 ID**：输入最近一次恢复执行的执行 ID。此字段用于标识当前处于活动状态的区域。
   + **要执行的区域**：选择未接收任何应用程序流量的非活动区域。这是将在其中创建只读副本的区域。

1. 查看执行步骤并确认执行。

1. 选择**开始执行**。

1. 在执行详情页面上监控执行进度。RDS 创建跨区域副本执行块将重命名您的旧主实例，并在之前受损的区域中创建新的只读副本。

恢复后执行成功完成后，您的应用程序将重新建立跨区域复制，并且您将为未来的区域事件做好准备。您可以通过检查目标区域的 RDS 控制台来验证新的只读副本是否已创建。旧的主服务器将被重命名并标有 *renamedByRegionSwitch*。

**重要**  
区域切换可验证恢复执行 ID 是否与计划的上次已知执行相匹配。如果执行 ID 无效或不是上次已知恢复执行的 ID，则恢复后的执行将不会运行。

# 区域切换 API 操作
<a name="actions.region-switch"></a>

下表列出了可用于区域切换的 ARC 操作以及相关文档的链接。


| Action | 使用 ARC 控制台 | 使用 ARC API | 数据面板 API | 
| --- | --- | --- | --- | 
| 批准或拒绝计划执行步骤 | 请参阅 [手动审批执行块](manual-approval-block.md)。 | 请参阅 [ApprovePlanExecutionStep](https://docs.aws.amazon.com/arc-region-switch/latest/api/API_ApprovePlanExecutionStep.html) | 是 | 
| 取消计划执行 | 请参阅 [创建区域切换计划](working-with-rs-create-plan.md)。 | 请参阅 [CancelPlanExecution](https://docs.aws.amazon.com/arc-region-switch/latest/api/API_CancelPlanExecution.html) | 是 | 
| 创建计划 | 请参阅 [创建区域切换计划](working-with-rs-create-plan.md)。 | 请参阅 [CreatePlan](https://docs.aws.amazon.com/arc-region-switch/latest/api/API_CreatePlan.html) | 否 | 
| 删除计划 | 请参阅 [使用区域切换](working-with-rs.md)。 | 请参阅 [DeletePlan](https://docs.aws.amazon.com/arc-region-switch/latest/api/API_DeletePlan.html) | 否 | 
| 制定计划 | 请参阅 [使用区域切换](working-with-rs.md)。 | 请参阅 [GetPlan](https://docs.aws.amazon.com/arc-region-switch/latest/api/API_GetPlan.html) | 否 | 
| 获取计划评估状态 | 请参阅 [计划评估](region-switch-plans.md#region-switch-plans.plan-evaluation)。 | 请参阅 [GetPlanEvaluationStatus](https://docs.aws.amazon.com/arc-region-switch/latest/api/API_GetPlanEvaluationStatus.html) | 是 | 
| 执行计划 | 请参阅 [区域切换控制面板](region-switch.dashboarding-and-reports.md)。 | 请参阅 [GetPlanExecution](https://docs.aws.amazon.com/arc-region-switch/latest/api/API_GetPlanExecution.html) | 是 | 
| 针对区域制定计划 | 请参阅 [使用区域切换](working-with-rs.md)。 | 请参阅 [GetPlanInRegion](https://docs.aws.amazon.com/arc-region-switch/latest/api/API_GetPlanInRegion.html) | 是 | 
| 列出计划执行活动 | 请参阅 [执行区域切换计划以恢复应用程序](plan-execution-rs.md)。 | 请参阅 [ListPlanExecutionEvents](https://docs.aws.amazon.com/arc-region-switch/latest/api/API_ListPlanExecutionEvents.html) | 是 | 
| 列出计划执行 | 请参阅 [执行区域切换计划以恢复应用程序](plan-execution-rs.md)。 | 请参阅 [ListPlanExecutions](https://docs.aws.amazon.com/arc-region-switch/latest/api/API_ListPlanExecutions.html) | 是 | 
| 列出计划 | 请参阅 [使用区域切换](working-with-rs.md)。 | 请参阅 [ListPlans](https://docs.aws.amazon.com/arc-region-switch/latest/api/API_ListPlans.html) | 否 | 
| 列出区域中的计划 | 请参阅 [使用区域切换](working-with-rs.md)。 | 请参阅 [ListPlansInRegion](https://docs.aws.amazon.com/arc-region-switch/latest/api/API_ListPlansInRegion.html) | 是 | 
| 列出计划的 Route 53 运行状况检查 | 请参阅 [Amazon Route 53 运行状况检查执行块](route53-health-check-block.md)。 | 见 [ListRoute53 HealthChecksForPlan](https://docs.aws.amazon.com/arc-region-switch/latest/api/API_ListRoute53HealthChecks.html) | 否 | 
| 列出区域中某个计划的 Route 53 运行状况检查 | 请参阅 [Amazon Route 53 运行状况检查执行块](route53-health-check-block.md)。 | 见 [ListRoute53 HealthChecksForPlanInRegion](https://docs.aws.amazon.com/arc-region-switch/latest/api/API_ListRoute53HealthChecksInRegion.html) | 是 | 
| 列出资源的标签 | 请参阅 [为 ARC 区域切换添加标签；](tagging.region-switch.md)。 | 请参阅 [ListTagsForResource](https://docs.aws.amazon.com/arc-region-switch/latest/api/API_ListTagsForResource.html) | 否 | 
| 启动计划执行 | 请参阅 [执行区域切换计划以恢复应用程序](plan-execution-rs.md)。 | 请参阅 [StartPlanExecution](https://docs.aws.amazon.com/arc-region-switch/latest/api/API_StartPlanExecution.html) | 是 | 
| 标记资源 | 请参阅 [创建区域切换计划](working-with-rs-create-plan.md)。 | 请参阅 [TagResource](https://docs.aws.amazon.com/arc-region-switch/latest/api/API_TagResource.html) | 否 | 
| 从资源中删除标签 | 请参阅 [为 ARC 区域切换添加标签；](tagging.region-switch.md)。 | 请参阅 [UntagResource](https://docs.aws.amazon.com/arc-region-switch/latest/api/API_UntagResource.html) | 否 | 
| 更新计划 | 请参阅 [创建区域切换计划](working-with-rs-create-plan.md)。 | 请参阅 [UpdatePlan](https://docs.aws.amazon.com/arc-region-switch/latest/api/API_UpdatePlan.html) | 否 | 
| 更新计划执行 | 请参阅 [创建区域切换计划](working-with-rs-create-plan.md)。 | 请参阅 [UpdatePlanExecution](https://docs.aws.amazon.com/arc-region-switch/latest/api/API_UpdatePlanExecution.html) | 是 | 
| 更新计划执行步骤 | 请参阅 [创建区域切换计划](working-with-rs-create-plan.md)。 | 请参阅 [UpdatePlanExecutionStep](https://docs.aws.amazon.com/arc-region-switch/latest/api/API_UpdatePlanExecutionStep.html) | 是 | 

# 使用区域切换
<a name="working-with-rs"></a>

本节提供使用区域切换计划的 step-by-step说明，您可以使用这些计划来恢复多区域应用程序。区域切换使您能够为这两种方法 active/passive 和 active/active 恢复方法制定计划。

要为应用程序创建恢复计划，请执行以下操作：

1. 创建区域切换计划。计划是一种具有某些属性的结构，例如您的应用程序运行 AWS 区域 的特定属性。每个计划都包含一个或多个*工作流程*。

   您可以选择创建多个计划，并将这些*子计划*嵌套在总体恢复计划中。

1. 为计划创建一个工作流程。如果不事先创建工作流程，计划就无法执行。

1. 在工作流程中，添加一个或多个步骤，每个步骤都是一个*执行块*。

   例如，您可以添加一个步骤来扩展 EC2 Auto Scaling 群组在目标区域中的规模。

1. 向工作流程添加步骤后，可能需要执行其他步骤，例如在 Amazon Route 53 中配置运行状况检查。每个执行块部分都包含您需要的配置信息。有关更多信息，请参阅 [添加执行块](working-with-rs-execution-blocks.md)。

1. 要在应用程序运行受损时恢复应用程序 AWS 区域，请执行计划。

   您可以通过查看全球控制面板或区域控制面板中的信息来跟踪计划执行的进度。

以下各节提供了创建计划和工作流程以及在工作流程中添加执行块步骤的详细信息和步骤。

**Topics**
+ [创建计划](working-with-rs-create-plan.md)
+ [创建工作流程](working-with-rs-workflows.md)
+ [添加执行块](working-with-rs-execution-blocks.md)
+ [创建子计划](working-with-rs-child-plan.md)
+ [创建触发器](working-with-rs-triggers.md)
+ [执行计划](plan-execution-rs.md)

本节中的过程说明了如何通过 AWS 管理控制台使用计划、工作流程、执行块和触发器。要改为使用区域切换 API 操作，请参阅[区域切换 API 操作](actions.region-switch.md)。

# 创建区域切换计划
<a name="working-with-rs-create-plan"></a>

您可以在 “区域切换” 中创建两种不同的 active/active 计划：计划或 active/passive 计划。创建计划时，请指定适用于您希望如何管理失效转移的类型。
+ *主动/被动*方法将两个应用程序副本部署到两个区域，而流量仅路由到主动区域。您可以通过执行区域切换计划来激活被动区域中的副本。
+ *主动/主动*方法将两个应用程序副本部署到两个区域，而两个副本都在处理工作或接收流量。

# 创建区域切换计划


1. 在区域切换控制台中，选择**使用 active/passive 方法创建区域切换计划**。

1. 提供以下详细信息：
   + **计划名称**：输入计划的描述性名称。
   + **多区域方法**：选择**主动/被动**或**主动/主动**。这种方法意味着两个应用程序副本部署到两个区域，而流量仅路由到活跃区域。您可以通过执行区域切换计划来激活被动区域中的副本。
     + 如果您已将两个应用程序副本部署到两个区域，而流量仅路由到主动区域，则选择**主动/被动**方法。然后，您可以通过执行指定*主动/被动*的区域切换计划来激活被动区域中的副本。
     + 如果您已将两个应用程序副本部署到两个区域，而两个副本都在处理工作或接收流量，则选择**主动/主动**方法。
   + **主要和备用区域**或**区域**：为您的应用程序选择主要和备用区域。对于 active/active 部署，请选择部署副本的区域。
   + **恢复时间目标（RTO）**：输入所需的 RTO。区域切换使用它来深入了解，完成区域切换计划执行所用时间与所需 RTO 的对比情况。
   + **IAM 角色**：为区域切换提供一个用于执行计划的 IAM 角色。有关权限的更多信息，请参阅 [用于 ARC 区域切换的 Identity and Access Management](security-iam-region-switch.md)。
   + **Amazon CloudWatch 警报**-提供您在 Amazon 上创建的应用程序运行状况警报 CloudWatch，以指示您的应用程序在每个地区的运行状况。区域切换使用这些应用程序运行状况警报，来协助确定您切换区域以实现恢复后的实际恢复时间。

     在向区域切换计划添加 CloudWatch 警报之前，请确保您有正确的 IAM 策略。有关更多信息，请参阅 [CloudWatch 应用程序运行状况权限警报](security_iam_region_switch_cloudwatch.md)。
   + **自动生成报告**-（可选）启用计划执行的自动报告生成。启用后，区域切换将在每次计划执行完成后生成一份全面的 PDF 报告，并将其传送到您指定的 Amazon S3 存储桶。提供 Amazon S3 URI 和拥有存储桶的账户 ID。

     在为计划启用自动报告生成功能之前，请确保您已制定正确的 IAM 策略。有关报告生成和所需权限的更多信息，请参阅[自动计划执行报告](region-switch-plans.md#region-switch-plans.plan-execution-reports)。
   + **标签**：（可选）将一个或多个标签添加到计划中。

# 创建区域切换计划工作流程
<a name="working-with-rs-workflows"></a>

创建区域切换计划后，您需要定义和创建指定应用程序恢复过程的工作流程。对于每个计划，您可以定义一个或多个工作流程来完成应用程序的恢复过程。在每个工作流程中，您可以添加包含*执行块*的步骤，这些执行块定义了您希望区域切换为应用程序恢复执行的每项操作。

您创建的工作流程数量取决于应用程序部署方案和用于管理恢复的首选项。例如：
+ 如果您的区域切换计划适用于active/active application deployment, you also need to create a deactivation workflow. This means that for or active/active部署，则至少有两个工作流程：激活工作流程和停用工作流程。
+ 如果您的区域切换计划适用于 active/passive 应用程序部署，则您有一个主要区域和一个辅助区域。如果您选择为每个区域使用单独的激活工作流程，则需要创建两个工作流程：每个区域一个。

# 创建区域切换计划工作流程


1. 在您创建的区域切换计划中，选择**构建工作流程**。

1. 选择下列工作流程选项之一：
   + **为所有区域构建相同的激活工作流程**：使您能够跨区域使用相同的激活工作流程。
   + **为每个区域单独构建工作流程**：针对每个区域构建单独的激活工作流程。

1. 可选择为每个工作流程提供描述。

1. 定义恢复应用程序所需的工作流程。在您的工作流程中，您可以添加*执行块*来定义您希望区域切换为恢复执行的步骤。每个执行块都定义操作，例如激活区域中的应用程序流量重新路由或数据库恢复，并支持另一个 AWS 账户中的资源。您可以选择让执行块并行运行或按顺序运行。有关可添加到工作流程的特定执行块的详细信息，请参阅[添加执行块](working-with-rs-execution-blocks.md)。

1. 根据您选择的工作流程选项，请执行以下操作：
   + 如果您选择**为所有区域构建相同的激活工作流程**，则需要一个激活工作流程。
   + 如果您选择**为每个区域单独构建工作流程**，则需要两个激活工作流程。

   对于 active/active 计划，您必须定义激活工作流程和停用工作流程。

# 添加执行块
<a name="working-with-rs-execution-blocks"></a>

您可以在区域切换计划中的工作流程中添加步骤，以执行各个步骤来完成应用程序的故障转移或切换。有关每种类型的执行块的功能和行为的详细信息，请参阅以下说明。

在您创建计划或更新计划后，区域切换会立即运行一次计划评估，之后在稳定状态下每 30 分钟运行一次计划评估。区域切换会存储配置您的计划的所有区域中的计划评估的相关信息。这里的每个执行块部分都包含有关在区域切换运行计划评估时所评估内容的信息。

区域切换包括执行块类型，可在恢复过程中帮助扩展计算资源。如果您在计划中使用这些执行块，请注意，区域切换并不能保证您能获得所需的计算容量。如果您有关键应用程序并且需要保证容量的访问权限，我们建议您预留容量。您可以遵循一些策略来预留辅助区域的计算容量，同时还可以限制成本。要了解更多信息，请参阅 [Pilot light 与预留容量：如何使用按需容量预留优化灾难恢复成本](https://aws.amazon.com/blogs/architecture/pilot-light-with-reserved-capacity-how-to-optimize-dr-cost-using-on-demand-capacity-reservations/)。

区域切换支持以下执行块。


****  

| 执行块 | 函数 | 非优雅配置 | 
| --- | --- | --- | 
| [ARC 区域切换计划执行块](region-switch-plan-block.md) | 通过指定要执行的子计划，可以在一次执行中编排多个应用程序的恢复。 | 启动非优雅配置的子计划。 | 
| [亚马逊 EC2 Auto Scaling 群组执行块](ec2-auto-scaling-block.md) | 作为计划执行的一部分，扩展 Auto Scaling 组中的 EC2 计算资源。 | 指定要激活的区域中应匹配的最小计算容量百分比。 | 
| [Amazon EKS 资源扩展执行块](eks-resource-scaling-block.md) | 在计划执行时扩展 Amazon EKS 集群容器组（pod）。 | 不适用 | 
| [Amazon ECS 服务扩展执行块](ecs-service-scaling-block.md) | 在计划执行时扩展 Amazon ECS 服务任务。 | 不适用 | 
| [ARC 路由控制执行块](arc-routing-controls-block.md) | 添加一个步骤来更改一个或多个 ARC 路由控制的状态，将您的应用程序流量重定向到目标 AWS 区域。 | 不适用 | 
| [Amazon Aurora Global Database 执行块](aurora-global-database-block.md) | 对 Aurora Global Database 执行恢复工作流程。 | 执行 Aurora Global Database 失效转移（可能会导致数据丢失）。 | 
| [亚马逊 DocumentDB 全球集群执行块](documentdb-global-cluster-block.md) | 为 Amazon DocumentDB 全局集群执行恢复工作流程。 | 执行 Amazon DocumentDB 全局群集故障转移（可能会导致数据丢失）。 | 
| [Amazon RDS 提升只读副本执行区块](rds-promote-read-replica-block.md) | 将 Amazon RDS 只读副本提升为独立数据库实例。 | 不适用 | 
| [Amazon RDS 创建跨区域副本执行块](rds-create-cross-region-replica-block.md) | 作为恢复后工作的一部分，为 Amazon RDS 数据库实例创建跨区域只读副本。 | 不适用 | 
| [手动审批执行块](manual-approval-block.md) | 插入审批步骤，要求在继续执行之前批准或取消执行。 | 不适用 | 
| [自定义操作 Lambda 执行块](custom-action-lambda-block.md) | 添加用于运行 Lambda 函数的自定义步骤以启用自定义操作。 | 跳过此步骤。 | 
| [Amazon Route 53 运行状况检查执行块](route53-health-check-block.md) | 指定在失效转移期间您的应用程序流量将被重定向到的区域。 | 不适用 | 

# ARC 区域切换计划执行块
<a name="region-switch-plan-block"></a>

通过区域切换计划执行块，您可以引用其他子区域切换计划，编排多个应用程序切换到您要激活的区域的顺序。使用这种父/子关系，您可以创建复杂、协调一致的恢复流程，管理基础设施中的多种资源和依赖关系。

## 配置
<a name="region-switch-plan-block-config"></a>

使用区域切换计划执行块时，您可以选择要在正在创建的计划的工作流程中执行的特定区域切换计划。

**重要**  
在配置执行块之前，请确保您具有正确的 IAM 策略。有关更多信息，请参阅 [区域切换计划执行块示例策略](security_iam_region_switch_plan_execution.md)。

要配置区域切换计划执行块，请输入以下值：

1. **步骤名称：**输入名称。

1. **步骤描述（可选）：**输入步骤的描述。

1. **区域切换计划：**选择要在当前计划的工作流程中执行的计划。

然后，选择**保存步骤**。

## 工作原理
<a name="region-switch-plan-block-how"></a>

使用区域切换计划执行块创建具有 parent/child 关系的父工作流程。请注意，此执行块不支持其他级别的子计划，并且限制了父子计划的数量。子计划必须支持家长计划所支持的相同区域，并且必须采用与家长计划相同的恢复方法（ active/active 即主动/被动）。

此块支持优雅和非优雅的执行模式。非优雅设置将启动采用非优雅配置的子计划。如果区域切换块经过了优雅执行，然后切换到非优雅执行模式，则任何子计划也将切换到非优雅执行模式。

## 作为计划评估一部分的评估内容
<a name="region-switch-plan-block-eval"></a>

如果您跨账户共享计划，而该计划不再与父计划的账户共享，则区域切换评估会返回一条警告，提示该计划无效。

# 亚马逊 EC2 Auto Scaling 群组执行块
<a name="ec2-auto-scaling-block"></a>

EC2 Auto Scaling 组执行块允许您在多区域恢复过程中扩展 EC2 实例。您可以定义相对于您要离开的区域（来源和目的地）的容量百分比。

## 配置
<a name="ec2-auto-scaling-block-config"></a>

在配置 EC2 Auto Scaling 组执行块时，您需要输入与您的计划关联的特定区域的 EC2 Auto Scaling ARN。在计划执行期间，您应该 ARNs 在要扩大规模的每个区域中输入 EC2 Auto Scaling。

**重要**  
在配置执行块之前，请确保您具有正确的 IAM 策略。有关更多信息，请参阅 [EC2 Auto Scaling 执行区块示例策略](security_iam_region_switch_ec2_autoscaling.md)。

要配置 EC2 Auto Scaling 组执行块，请输入以下值：

1. **步骤名称：**输入名称。

1. **步骤描述（可选）：**输入步骤的描述。

1. **针对*区域的 EC2 Auto Scaling 组 ARN：输入您计划的每个区域***中 EC2 Auto Scaling 组的 ARN。

1. 与@@ **已激活区域容量相匹配的百分比：**输入 Auto Scaling 组中正在运行的实例数量的所需百分比，以匹配已激活的区域。

1. **容量监控方法：**选择以下方法之一来监控 EC2 Auto Scaling 组的容量：
   + **24 小时内采样的最大运行容量**：选择此选项可使用在 EC2 Auto Scaling 组配置中指定的**所需容量**值。此选项不会产生额外成本，但可能不如使用其他选项（ CloudWatch 指标）那么准确。

     在区域切换 API 中，此选项对应于指定 `sampledMaxInLast24Hours`。

     有关更多信息，请参阅 Amazon EC2 A [uto Scaling 用户指南中的为 Auto Scaling 组设置扩展限制](https://docs.aws.amazon.com/autoscaling/ec2/userguide/asg-capacity-limits.html)。
   + **24 小时内采样的最大运行容量 CloudWatch**：选择此选项可使用亚马逊 CloudWatch 中为 EC2 Auto Scaling 指定的指标。使用该选项可能更准确，但使用 CloudWatch 指标会产生额外费用。

     在区域切换 API 中，此选项对应于指定 `autoscalingMaxInLast24Hours`。

     要使用此选项，必须先为 Auto Scaling 群组启用群组指标。有关更多信息，请参阅 Amazon EC2 A [uto Scaling 用户指南中的启用 Auto Scaling 组指标](https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-metrics.html#as-enable-group-metrics)。

1. **超时：**输入超时值。

然后，选择**保存步骤**。

## 工作原理
<a name="ec2-auto-scaling-block-how"></a>

配置 EC2 Auto Scaling 执行块后，区域切换会确认只有一个源 Auto Scaling 组和一个目标 Auto Scaling 组。如果有多个 Auto Scaling 组，则执行块将在计划评估期间失败。目标容量定义为状态设置为 `InService` 的实例数量。有关更多信息，请参阅 [EC2 Auto Scaling 实例生命周期](https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-lifecycle.html)。

根据您为匹配的百分比指定的值（在配置 Auto Scaling 执行块时），区域切换计算目标 Auto Scaling 组的新所需容量。将新的所需容量与目标 Auto Scaling 组的所需容量进行比较。区域切换用来计算所需容量的公式如下：`ceil(percentToMatch * Source Auto Scaling group capacity)`，其中 ceil() 是一个将任何分数结果四舍五入的函数。如果目标 Auto Scaling 组的当前所需容量大于或等于区域切换计算的新 Auto Scaling 组的所需容量，则执行块将继续执行。请注意，区域切换不会缩小 Auto Scaling 组的容量。

当区域切换执行 Auto Scaling 区块时，区域切换会尝试扩大目标区域 Auto Scaling 组的容量以匹配所需的容量。然后，区域切换将等到目标区域的 Auto Scaling 组中请求的 Auto Scaling 组容量得到满足，然后区域切换才会继续执行计划的下一步操作。

**注意**  
执行此块会修改 Auto Scaling 组的最小和所需容量设置，如果您通过 infrastructure-as-code工具或其他自动化来管理这些值，则可能会导致配置偏差。确保您的配置管理流程将这些更改考虑在内，以防止意外回滚。

如果您使用的是一种 active/active 方法，则区域切换将使用其他已配置的区域作为来源。也就是说，如果某个区域处于停用状态，则区域切换将使用另一个活跃区域作为来源来匹配要扩展的百分比。

此块支持优雅和非优雅的执行模式。在区域切换进入计划的下一步之前，您可以通过指定目标区域中要匹配的最小计算容量百分比来配置非优雅执行。

## 在计划评估中评估的内容
<a name="ec2-auto-scaling-block-eval"></a>

当区域切换评估您的计划时，区域切换会对您的 EC2 Auto Scaling 组执行区块配置和权限执行几项关键检查。区域切换评估会验证 Auto Scaling 组是否存在于两个区域中，确保其配置正确且可访问，并记录每个区域中正在运行的实例数量。它还确认目标区域的 Auto Scaling 组中的最大容量足以处理与所需容量的指定比例匹配。

区域切换还可以验证计划的 IAM 角色是否具有 Auto Scaling 的正确权限。有关区域切换执行块所需权限的更多信息，请参阅[用于 ARC 中区域切换的基于身份的策略示例](security_iam_id-based-policy-examples-region-switch.md)。如果任何检查失败，区域切换将返回警告消息，您可以在控制台中查看这些消息。或者，您可以通过 EventBridge 或使用 API 操作来接收验证警告。

# Amazon EKS 资源扩展执行块
<a name="eks-resource-scaling-block"></a>

EKS 资源扩展执行块使您能够在多区域恢复过程中扩展 EKS 资源。配置执行块时，您可以定义要扩展的容量相对于要停用的区域中容量的百分比。

## 配置 EKS 访问条目权限
<a name="eks-resource-scaling-block-permissions"></a>

在为 EKS 资源扩展添加步骤之前，必须为区域切换提供必要的权限，以便对 EKS 集群中的 Kubernetes 资源执行操作。要为区域切换提供访问权限，您必须使用以下区域切换访问策略为区域切换用于执行计划的 IAM 角色创建 EKS 访问条目：`arn:aws:eks::aws:cluster-access-policy/AmazonARCRegionSwitchScalingPolicy`

### 区域切换 EKS 访问策略
<a name="eks-resource-scaling-block-permissions.policy"></a>

以下是有关 EKS 访问策略的详细信息。

**名称**：`AmazonARCRegionSwitchScalingPolicy`

**策略 ARN：**`arn:aws:eks::aws:cluster-access-policy/AmazonARCRegionSwitchScalingPolicy`


| Kubernetes API 组 | Kubernetes 资源 | Kubernetes 动词（权限） | 
| --- | --- | --- | 
| \$1 | \$1/scale | get、update | 
| \$1 | \$1/status | 入 | 
| 自动扩缩 | horizontalpodautoscalers | get、patch | 

### 为区域切换创建 EKS 访问条目
<a name="eks-resource-scaling-block-permissions.create"></a>

以下示例描述如何创建所需的访问条目和访问策略关联，以便区域切换可以对您的 Kubernetes 资源执行特定操作。在此示例中，权限适用于 EKS 集群*my-namespace1*中 IAM 角色*my-cluster*的命名空间`arn:aws:iam::555555555555:role/my-role`。

配置这些权限时，请确保在执行块中对两个 EKS 集群执行这些步骤。

**先决条件**  
在开始之前，请将集群的身份验证模式更改为 `API_AND_CONFIG_MAP` 或 `API`。更改授权模式会为访问条目添加相应 API。有关更多信息，请参阅《Amazon EKS 用户指南》中的[更改身份验证模式以使用访问条目](https://docs.aws.amazon.com/eks/latest/userguide/setting-up-access-entries.html)。

**创建访问条目**  
第一步是使用类似于以下内容的 AWS CLI 命令来创建访问条目：  

```
aws eks create-access-entry --cluster-name my-cluster --principal-arn
									arn:aws:iam::555555555555:user/my-user --type STANDARD
```
有关更多信息，请参阅《Amazon EKS 用户指南》中的[创建访问条目](https://docs.aws.amazon.com/eks/latest/userguide/creating-access-entries.html)。

**创建访问条目关联**  
接下来，使用类似于以下内容的 AWS CLI 命令创建与区域交换机访问策略的关联：  

```
aws eks associate-access-policy --cluster-name my-cluster --principal-arn arn:aws:iam::555555555555:role/my-role \
										--access-scope type=namespace,namespaces=my-namespace1 --policy-arn
										arn:aws:eks::aws:cluster-access-policy/AmazonARCRegionSwitchScalingPolicy
```
有关更多信息，请参阅《Amazon EKS 用户指南》中的[将访问策略与访问条目关联起来](https://docs.aws.amazon.com/eks/latest/userguide/access-policies.html)。

请务必在另一个区域对您执行块中的第二个 EKS 集群重复这些步骤，确保这两个集群都可以通过区域切换进行访问。

## 配置
<a name="eks-resource-scaling-block-config"></a>

**重要**  
在添加 EKS 资源扩展步骤之前，请先确保您配置了正确的权限。有关更多信息，请参阅 [配置 EKS 访问条目权限](#eks-resource-scaling-block-permissions)。此外，请确保您具有正确的 IAM 策略。有关更多信息，请参阅 [Amazon EKS 资源扩展执行块示例策略](security_iam_region_switch_eks.md)。

请注意，区域切换目前支持以下 ReplicaSet 资源：apps/v1, Deployment, and apps/v1.

对于执行块配置，输入以下值。

1. **步骤名称：**输入名称。

1. **步骤描述（可选）：**输入步骤的描述。

1. **应用程序名称：**输入您的 EKS 应用程序的名称，例如 *myApplication*。

1. **Kubernetes 资源种类：**输入应用程序的资源种类，例如 *Deployment*。

1. ***区域*资源：**对于每个区域，输入 EKS 集群的信息，包括 EKS 集群 ARN、资源命名空间等。

1. **与已激活区域容量相匹配的百分比：**输入来源区域中所需的运行容器组（POD）数量百分比，以匹配激活区域。

1. **容量监控方法：**系统已选择唯一的容量监控方法，即**在 24 小时内采样的最大运行容量**。

   这种容量监控方法会对 EKS 服务请求使用 `ReplicaCount` 值。有关更多信息，请参阅《Amazon Elastic Kubernetes Service 用户指南》中的[了解 Amazon EKS 中的 ARC 可用区转移](https://docs.aws.amazon.com/eks/latest/userguide/zone-shift.html)。

1. **超时：**输入超时值。

然后，选择**保存步骤**。

## 工作原理
<a name="eks-resource-scaling-block-how"></a>

在计划执行期间，区域切换会检索过去 24 小时内在您正在激活的区域中对目标资源采样的最大副本数。然后，它会使用以下公式计算目标资源所需的副本数：`ceil(percentToMatch * Source replica count)`

如果目标就绪副本数量低于所需值，则区域切换会将目标资源副本值扩展到所需的容量。它会等待副本准备就绪，必要时利用您的节点自动缩放程序来增加节点容量。

如果可选`hpaName`字段不为空，Region switch 将使用以下修补程序修补HorizontalPodAutoscaler 以防止在执行期间或执行后自动缩小规模：`{"spec":{"behavior":{"scaleDown":{"selectPolicy":"Disabled"}}}}`

确保将任何漂移校正工具（例如 GitOps 工具）配置为忽略补丁中资源的副本字段以及该字段。 HorizontalPodAutoscaler 

## 在计划评估中评估的内容
<a name="eks-resource-scaling-block-eval"></a>

当区域切换评估您的计划时，会对您配置的 EKS 执行块和权限执行多项检查。区域切换会验证该计划的 IAM 角色是否具有描述 EKS 集群和列出相关访问条目策略的正确权限。区域切换还会验证 IAM 角色是否与正确的访问条目策略相关联，从而让区域切换具有所需的权限来对 Kubernetes 资源执行操作。最后，区域切换会确认已配置的 EKS 集群和 Kubernetes 资源是否存在。

此外，区域切换还会检查其是否已成功收集和存储必要的监控数据（Kubernetes 副本数量），并捕获执行区域切换计划需要运行的容器组（pod）数量。

# Amazon ECS 服务扩展执行块
<a name="ecs-service-scaling-block"></a>

作为多区域恢复过程的一部分，您可以利用 ECS 服务扩展执行块在目标区域扩展您的 ECS 服务。您可以定义相对于区域切换从中失效转移的或停用的区域的容量百分比。

## 配置
<a name="ecs-service-scaling-block-config"></a>

要配置 ECS 服务扩展执行块，输入以下值。

**重要**  
在配置执行块之前，请确保您具有正确的 IAM 策略。有关更多信息，请参阅 [Amazon ECS 服务扩展执行块示例策略](security_iam_region_switch_ecs.md)。

1. **步骤名称：**输入名称。

1. **步骤描述（可选）：**输入步骤的描述。

1. ***区域*资源：**对于每个区域，输入 ECS 集群 ARN 和 ECS 服务 ARN。

1. **与来源区域任务量相匹配的百分比：**输入来源区域中所需的运行任务数量百分比，以匹配激活区域。

1. **容量监控方法：**选择以下方法之一来监控 Amazon ECS 的容量：
   + **24 小时内采样的最大运行容量**：选择此选项可使用您的 Amazon ECS 服务中的**正在运行的任务数量**值。此选项不会产生额外成本，但可能不如使用其他选项（ CloudWatch 指标）那么准确。

     在区域切换 API 中，此选项对应于指定 `sampledMaxInLast24Hours`。

     有关更多信息，请参阅《Amazon Elastic Container Service 开发人员指南》中的[自动扩展 Amazon ECS 服务](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-auto-scaling.html)。
   + **通过 Container Insights 在 24 小时内采样的最大运行容量**：选择此选项可使用 Amazon ECS Container Insights 指标。使用该选项可能更准确，但使用 Container Insights 指标会产生额外费用。

     在区域切换 API 中，此选项对应于指定 `autoscalingMaxInLast24Hours`。

     要使用此选项，您必须先启用 Container Insights。有关更多信息，请参阅《Amazon CloudWatch 用户指南》中的 “[设置容器见解](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/deploy-container-insights-ECS-cluster.html#set-container-insights-ECS-cluster)”。

1. **超时：**输入超时值。

然后，选择**保存步骤**。

## 工作原理
<a name="ecs-service-scaling-block-how"></a>

在计划中配置执行块后，区域切换回确认只有一个来源 ECS 服务和一个目标服务。如果有多个服务，则区域切换会返回执行块的警告。区域切换将这些数据存储在您为其配置计划的所有区域中。目标容量定义为在 ECS 服务上设置的所需容量。

对于一种 active/passive 方法，区域切换计算目标（激活）区域中 ECS 服务的新所需容量。将新的所需容量与目标 ECS 服务的所需容量进行比较。区域切换用来计算所需容量的公式如下：`ceil(percentToMatch * Source Auto Scaling group capacity)`，其中 ceil() 是一个将任何分数结果四舍五入的函数。如果目标 ECS 服务的当前所需数量高于计算出的 ECS 服务新的所需容量，则计划将继续执行。请注意，区域切换不会缩减 ECS 的服务容量。

如果 ECS 服务启用了应用程序自动缩放，则区域切换会更新应用程序自动缩放中的最低容量，还会更新 ECS 服务中的所需数量。

当区域切换执行 ECS 服务块时，会尝试纵向扩展目标区域 ECS 容量以匹配所需容量。然后，区域切换将等待目标区域的 ECS 服务满足 ECS 服务容量要求后，再继续执行计划的下一步。您也可以为区域切换等待容量完成的时长设置超时限制，从而将步骤完成时间配置为早于满足容量要求的完成时间。

如果您使用的是一种 active/active 方法，则区域切换将使用其他已配置的区域作为来源。也就是说，如果某个区域处于停用状态，则区域切换将使用另一个活跃区域作为来源来匹配要扩展的百分比。

## 作为计划评估一部分的评估内容
<a name="ecs-service-scaling-block-eval"></a>

当区域切换评估您的计划时，会对您的 ECS 服务执行块配置和权限执行多项检查。区域切换会验证 ECS 服务是否同时存在于来源区域和目标区域，并进行检查以确保为目标区域的 ECS 服务设置的最大容量足以处理目标区域容量的指定百分比匹配。区域切换还可以验证计划的 IAM 角色是否具有针对 ECS 服务的正确权限。有关区域切换执行块所需权限的更多信息，请参阅[用于 ARC 中区域切换的基于身份的策略示例](security_iam_id-based-policy-examples-region-switch.md)。

此外，区域切换会检查 `ResourceMonitor` 是否已成功收集和存储了 ECS 服务的必要监控数据，并捕获正在运行的任务数量。

如果任何检查失败，区域切换将返回警告消息，您可以在控制台中查看这些消息。或者，您可以通过 EventBridge 或使用 API 操作来接收验证警告。

# ARC 路由控制执行块
<a name="arc-routing-controls-block"></a>

如果您已为应用程序配置了 Amazon 应用程序恢复控制器 (ARC) 路由控制，则可以添加 ARC 路由控制步骤来重定向应用程序流量。通过此步骤，您可以更改一个或多个 ARC 路由控件的状态，将应用程序流量重定向到目的地 AWS 区域。ARC 路由控制通过使用 Amazon Route 53 中的运行状况检查来重定向流量，这些检查配置了与路由控制关联的 DNS 记录。

**重要**  
Amazon 应用程序恢复控制器 (ARC) 路由控制仅在 AWS 商业分区中可用。

## 配置
<a name="arc-routing-controls-block-config"></a>

要配置路由控制执行块，请输入以下值。

**重要**  
在配置执行块之前，请确保您具有正确的 IAM 策略。有关更多信息，请参阅 [ARC 路由控制执行块策略示例](security_iam_region_switch_arc_routing.md)。

1. **步骤名称：**输入名称。

1. **步骤描述（可选）：**输入步骤的描述。

1. **所需的路由控制：**对于要激活或停用的每个区域，输入路由控制 ARN 和路由控制的初始状态，即开启或关闭。

1. **超时：**输入超时值。

然后，选择**保存步骤**。

此执行块的预期模式是指定路由控制和初始状态，这些控制和初始状态与您具体设置应用程序的方式一致 AWS 区域。例如，如果您的计划支持为应用程序激活区域 A 和区域 B，则可以为区域 A 设置状态为“开启”的路由控制，同时为区域 B 设置状态为“开启”的路由控制。

然后，当您执行计划并指定要激活区域 A 时，包含此执行块的工作流程会将指定的路由控制更新为“开启”，从而将流量引导到区域 A。

## 工作原理
<a name="arc-routing-controls-block-how"></a>

通过配置 ARC 路由控制执行块，您可以将应用程序流量重新路由到目的地 AWS 区域，或者对于一种 active/active 方法，可以阻止流量路由到您要停用的区域。如果您的计划包括多个工作流程，请确保为所使用的所有路由控制执行块的 DNS 记录提供相同的输入。

此块不支持非优雅执行模式。

## 作为计划评估一部分的评估内容
<a name="arc-routing-controls-block-eval"></a>

当区域切换评估您的计划时，会对您的路由控制执行块配置和权限执行多项检查。区域切换会验证指定的路由控制是否配置正确且可访问。

区域切换还会验证计划的 IAM 角色是否具有访问和更新路由控制状态所需的权限。有关区域切换执行块所需权限的更多信息，请参阅[用于 ARC 中区域切换的基于身份的策略示例](security_iam_id-based-policy-examples-region-switch.md)。

正确的 IAM 权限对于路由控制执行块的正常运行至关重要。如果其中任何一个验证失败，区域切换将返回说明存在问题的警告，并提供特定的错误消息来帮助您解决权限或配置问题。这确保了在计划执行期间此步骤运行时，您的计划具有必要的权限来管理 ARC 路由控制并与之交互。

## 比较 ARC 路由控制和 Route 53 运行状况检查执行块
<a name="region-switch-compare-routing"></a>

区域切换中的 Amazon Route 53 运行状况检查执行区块为基于 DNS 的流量管理提供了一种成本更低的替代方案。但是，此执行块取决于您要激活的，因此该区域必须可用。 AWS 区域 这可以满足大多数客户的需求，因为他们正在激活一个健康的区域。

ARC 路由控制提供高度可靠的基于 DNS 的流量管理，并具有 100% 可用性 SLA。借助路线控制，您的运营团队可以通过安全护栏在区域之间转移交通。路由控制提供了具有 100% 服务级别协议的单租户解决方案。路由控制集群分布在五个区域，可以容忍两个区域处于离线状态。如果您有高度关键的应用程序，请考虑使用路由控制。

使用区域切换不需要路由控制。您可以使用区域切换来管理流量重定向，方法是使用 Route 53 运行状况检查执行块，无需路由控制。

在以下情况下，路由控制可通过区域切换增加价值：
+ 您需要流量控制机制本身的 100% 可用性 SLA。
+ 您的组织需要手动操作控制和关键应用程序的安全规则。
+  defense-in-depth您希望运营团队可以在需要时手动覆盖自动流量路由。

Route 53 运行状况检查的执行区块不依赖于控制平面。Health check 记录更改使用数据平面，因此它们不需要激活区域来处理配置更新。在以下情况下，Route 53 运行状况检查执行块就足够了：
+ 您的应用程序可能取决于您 AWS 区域 正在激活的。
+ 作为恢复工作流程一部分的自动流量重定向可以满足您的要求。
+ 成本优化是当务之急。Route 53 运行状况检查执行块的成本低于路由控制。

大多数客户一开始就将 Route 53 运行状况检查执行块作为默认流量路由机制，然后仅为需要流量管理机制最高可靠性的最关键应用程序添加路由控制。

# Amazon Aurora Global Database 执行块
<a name="aurora-global-database-block"></a>

您可以借助 Amazon Aurora Global Database 执行块为全球数据库执行*失效转移*或*切换*恢复工作流程。
+ 失效转移 – 使用此方法从计划外停机中恢复。使用这种方法，您可以跨区域失效转移到 Aurora 全球数据库中的一个辅助数据库集群。这种方法的恢复点目标（RPO）通常是一个以秒为单位的非零值。数据丢失量取决于发生故障时的 Aurora 全局 AWS 区域 数据库复制延迟。有关更多信息，请参阅《Amazon Aurora 用户指南》中的[从计划外停机中恢复 Amazon Aurora Global Database](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-global-database-disaster-recovery.html#aurora-global-database-failover)。
+ 切换 – 此操作以前称为*托管式计划内失效转移*。将此方法用于受控场景，例如操作维护和其他计划内操作过程，其中所有 Aurora 集群以及与之交互的其他服务都处于正常状态。由于此特征会在进行任何其他更改之前将辅助数据库集群与主数据库集群同步，因此 RPO 为 0（不会造成数据丢失）。有关更多信息，请参阅《Amazon Aurora 用户指南》中的[对 Amazon Aurora Global Database 执行切换](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-global-database-disaster-recovery.html#aurora-global-database-disaster-recovery.managed-failover)。

## 配置
<a name="aurora-global-database-block-config"></a>

要配置 Aurora Global Database 执行块，请输入以下值。

**重要**  
在配置执行块之前，请确保您具有正确的 IAM 策略。有关更多信息，请参阅 [Aurora Global Database 执行块示例策略](security_iam_region_switch_aurora.md)。

1. **步骤名称：**输入名称。

1. **步骤描述（可选）：**输入步骤的描述。

1. **Aurora Global Database 集群名称：**输入全球数据库的标识符。

1. ***区域*的集群 ARN：**输入计划中每个区域要使用的集群 ARN。

1. **为 Aurora 数据库指定选项：**根据需要选择**切换**或**失效转移（数据丢失）** 

1. **Aurora Global Database 集群名称：**

1. **超时：**输入超时值。

然后，选择**保存步骤**。

## 工作原理
<a name="aurora-global-database-block-how"></a>

通过配置 Aurora Global Database 执行块，您可以在应用程序恢复过程中对全球数据库进行失效转移或切换。如果您使用的是一种 active/active 方法，则区域切换将使用其他已配置的区域作为来源。也就是说，如果某个区域处于停用状态，则区域切换将使用另一个活跃区域作为来源来匹配要扩展的百分比。

此块支持优雅和非优雅的执行模式。非优雅设置执行 Aurora Global Database *失效转移*，这可能会导致数据丢失。

有关 Aurora Global Database 灾难恢复（包括失效转移和切换）的更多信息，请参阅《Amazon Aurora 用户指南》中的[在 Amazon Aurora Global Database 中使用切换或失效转移](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-global-database-disaster-recovery.html)。



## 作为计划评估一部分的评估内容
<a name="aurora-global-database-block-eval"></a>

当区域切换评估您的计划时，会对您的 Aurora 执行块配置和权限执行多项检查。区域切换可验证以下内容是否正确：
+ 配置中指定的 Aurora 全球集群已存在。
+ 来源区域和目标区域中都有 Aurora 数据库集群。
+ 来源数据库集群和目标数据库集群处于允许全球数据库切换的状态。
+ 来源集群和目标集群中都有数据库实例
+ 切换操作的全球集群引擎版本是兼容的。这包括验证集群是否使用相同的主要版本、次要版本和补丁版本，Aurora 文档中列出了一些例外情况。

区域切换还会验证计划的 IAM 角色是否具有 Aurora 失效转移和切换所需的权限。有关区域切换执行块所需权限的更多信息，请参阅[用于 ARC 中区域切换的基于身份的策略示例](security_iam_id-based-policy-examples-region-switch.md)。

正确的 IAM 权限对于 Aurora 执行块的正常运行至关重要。如果其中任何一个验证失败，区域切换将返回说明存在问题的警告，并提供特定的错误消息来帮助您解决权限或配置问题。这确保了在计划执行期间此步骤运行时，您的计划具有必要的权限来管理 Aurora 并与之交互。

# 亚马逊 DocumentDB 全球集群执行块
<a name="documentdb-global-cluster-block"></a>

Amazon DocumentDB 全球集群执行块允许您为全局群集执行*故障转移*或*切换*恢复工作流程。
+ 失效转移 – 使用此方法从计划外停机中恢复。使用这种方法，您可以跨区域故障转移到您的 Amazon DocumentDB 全局集群中的一个辅助集群。这种方法的恢复点目标（RPO）通常是一个以秒为单位的非零值。数据丢失量取决于故障发生时的 Amazon DocumentDB 全局 AWS 区域 集群复制延迟。
+ 切换 — 将此方法用于受控场景，例如操作维护和其他计划中的操作程序，其中所有 Amazon DocumentDB 集群都处于正常状态。由于此功能会在进行任何其他更改之前将辅助群集与主群集同步，因此 RPO 为 0（无数据丢失）。

## 配置
<a name="documentdb-global-cluster-block-config"></a>

要配置 Amazon DocumentDB 全球集群执行块，请输入以下值。

**重要**  
在配置执行块之前，请确保您具有正确的 IAM 策略。有关更多信息，请参阅 [亚马逊 DocumentDB 全球集群执行区块策略示例](security_iam_region_switch_documentdb.md)。

1. **步骤名称：**输入名称。

1. **步骤描述（可选）：**输入步骤的描述。

1. **Amazon DocumentDB 全局集群标识符：**输入全局集群的标识符。

1. ***区域*的集群 ARN：**输入计划中每个区域要使用的集群 ARN。

1. 为 **Amazon DocumentDB 集群指定选项：****选择切换**或**故障转移（**数据丢失）。

1. **超时：**输入超时值。

然后，选择**保存步骤**。

## 工作原理
<a name="documentdb-global-cluster-block-how"></a>

通过配置 Amazon DocumentDB 全局群集执行块，您可以在应用程序恢复过程中对全局群集进行故障转移或切换。如果您使用的是一种 active/active 方法，则区域切换将使用其他已配置的区域作为来源。也就是说，如果某个区域处于停用状态，则区域切换将使用另一个活跃区域作为来源来匹配要扩展的百分比。

此块支持优雅和非优雅的执行模式。不雅的设置会执行 Amazon DocumentDB 全局*集群*故障转移，这可能会导致数据丢失。

在切换或故障转移操作期间，将更改客户用来写入的 DNS 端点。客户有责任确保在操作完成后使用正确的端点。

## 在计划评估中评估的内容
<a name="documentdb-global-cluster-block-eval"></a>

当区域切换评估您的计划时，区域切换会对您的 Amazon DocumentDB 执行区块配置和权限进行多项检查。区域切换可验证以下内容是否正确：
+ 配置中指定的亚马逊 DocumentDB 全局集群存在。
+ 源区域和目标区域都有 Amazon DocumentDB 集群。
+ 源集群和目标集群处于可用状态。
+ 源集群和目标集群中都有实例。
+ 全局集群引擎版本兼容。

区域切换还可以验证计划的 IAM 角色是否具有 Amazon DocumentDB 故障转移和切换所需的权限。有关区域切换执行块所需权限的更多信息，请参阅[用于 ARC 中区域切换的基于身份的策略示例](security_iam_id-based-policy-examples-region-switch.md)。

正确的 IAM 权限对于 Amazon DocumentDB 执行块的正常运行至关重要。如果其中任何一个验证失败，区域切换将返回说明存在问题的警告，并提供特定的错误消息来帮助您解决权限或配置问题。这样可以确保在计划执行期间执行此步骤期间，您的计划拥有必要的访问权限来管理和与 Amazon DocumentDB 进行交互。

# Amazon RDS 提升只读副本执行区块
<a name="rds-promote-read-replica-block"></a>

Amazon RDS Promote 只读副本执行区块允许您在多区域恢复过程中将 Amazon RDS 只读副本提升为独立数据库实例。这使您能够通过将该区域中的只读副本提升为新的主数据库来故障转移到该区域。

## 配置
<a name="rds-promote-read-replica-block-config"></a>

要配置 Amazon RDS Promote 只读副本执行块，请输入以下值。

**重要**  
在配置执行块之前，请确保您具有正确的 IAM 策略。有关更多信息，请参阅 [Amazon RDS 执行区块策略示例](security_iam_region_switch_rds.md)。

1. **步骤名称：**输入名称。

1. **步骤描述（可选）：**输入步骤的描述。

1. 区域的 **RDS 数据库实例 ARN：输入计划中每个区域**中只读副本的数据库实例 ARN。

1. **超时：**输入超时值。

然后，选择**保存步骤**。

## 工作原理
<a name="rds-promote-read-replica-block-how"></a>

通过配置 Amazon RDS Promote 只读副本执行块，您可以在应用程序恢复过程中将只读副本提升为独立数据库实例。执行计划时，Region switch 会将您正在激活的区域中的只读副本提升为独立的数据库实例。

**注意**  
此区块仅支持 active/passive 套餐

升级期间，用于连接数据库的 DNS 终端节点将保持不变。但是，升级后的实例将不再从原始主数据库进行复制。操作完成后，您有责任确保他们的应用程序配置为使用正确的端点。

升级后，升级后的实例将继承原始主实例的以下备份设置：
+ 备份保留期
+ 首选备份窗口

## 在计划评估中评估的内容
<a name="rds-promote-read-replica-block-eval"></a>

当区域切换评估您的计划时，区域切换会对您的 Amazon RDS 执行区块配置和权限进行多项检查。区域切换可验证以下内容是否正确：
+ 配置中指定的 Amazon RDS 数据库实例存在。
+ 非主区域中的数据库实例是只读副本。
+ 只读副本处于可用状态。
+ 数据库实例已正确配置为跨区域复制。

区域切换还可以验证计划的 IAM 角色是否具有 Amazon RDS 只读副本促销所需的权限。有关区域切换执行块所需权限的更多信息，请参阅[用于 ARC 中区域切换的基于身份的策略示例](security_iam_id-based-policy-examples-region-switch.md)。

正确的 IAM 权限对于 Amazon RDS 执行区块的正常运行至关重要。如果其中任何一个验证失败，区域切换将返回说明存在问题的警告，并提供特定的错误消息来帮助您解决权限或配置问题。这可确保在计划执行期间执行此步骤期间，您的计划拥有必要的访问权限来管理 Amazon RDS 并与 Amazon RDS 进行交互。

# Amazon RDS 创建跨区域副本执行块
<a name="rds-create-cross-region-replica-block"></a>

Amazon RDS 创建跨区域副本执行块允许您在恢复后流程中为 Amazon RDS 数据库实例创建跨区域只读副本。此执行块通常在提升只读副本以重新建立跨区域复制之后使用，从而确保您的应用程序为未来的区域事件做好准备。

## 配置
<a name="rds-create-cross-region-replica-block-config"></a>

要配置 Amazon RDS 创建跨区域副本执行块，请输入以下值。

**重要**  
在配置执行块之前，请确保您具有正确的 IAM 策略。有关更多信息，请参阅 [Amazon RDS 执行区块策略示例](security_iam_region_switch_rds.md)。

1. **步骤名称：**输入名称。

1. **步骤描述（可选）：**输入步骤的描述。

1. 区域的@@ **源数据库实例 ARN：输入计划中每个区域**中源数据库的数据库实例 ARN。执行块使用正在激活的区域的标识符作为创建跨区域只读副本的源数据库。

1. **副本数据库实例 ARN：**输入用于新只读副本的实例 ARN。

1. **超时：**输入超时值。

然后，选择**保存步骤**。

## 工作原理
<a name="rds-create-cross-region-replica-block-how"></a>

通过配置 Amazon RDS 创建跨区域副本执行块，您可以在其他区域创建只读副本，作为恢复后流程的一部分。此执行块旨在在成功进行故障转移后运行，以重新建立跨区域复制。

此区块只能添加到 active/passive 计划中。

在执行过程中，旧的主实例将被重命名并标有 *renamedByRegionSwitch*。然后，将创建一个新的只读副本实例，其中包含从旧主实例中复制的以下设置：
+ 实例标识符
+ 数据库参数组
+ 数据库子网组
+ KMS 密钥
+ VPC 安全组
+ 选项组
+ 多可用区配置
+ 域名身份验证密钥 ARN

**重要**  
重命名的主实例仍在运行并继续产生费用。区域切换将其标记为 *renamedByRegionSwitch* 以进行识别，但不会以其他方式对其进行修改或删除。您负责管理重命名的实例，包括根据您的运营和成本要求决定是保持其运行、停止还是将其删除。

**注意**  
此执行块专为恢复后工作流程而设计，要求源区域保持健康且可访问。应在成功进行故障转移后使用它来重新建立跨区域复制。

## 在计划评估中评估的内容
<a name="rds-create-cross-region-replica-block-eval"></a>

当区域切换评估您的计划时，区域切换会对您的 Amazon RDS 执行区块配置和权限进行多项检查。区域切换可验证以下内容是否正确：
+ 配置 ARNs 中的数据库实例有效且格式正确。
+ 源数据库实例存在于各自的区域。
+ 源数据库实例处于可用状态。

区域切换还可以验证计划的 IAM 角色是否具有创建 Amazon RDS 只读副本所需的权限。有关区域切换执行块所需权限的更多信息，请参阅[用于 ARC 中区域切换的基于身份的策略示例](security_iam_id-based-policy-examples-region-switch.md)。

正确的 IAM 权限对于 Amazon RDS 执行区块的正常运行至关重要。如果其中任何一个验证失败，区域切换将返回说明存在问题的警告，并提供特定的错误消息来帮助您解决权限或配置问题。这可确保在计划执行期间执行此步骤期间，您的计划拥有必要的访问权限来管理 Amazon RDS 并与 Amazon RDS 进行交互。

# 手动审批执行块
<a name="manual-approval-block"></a>

手动审批执行块让您可以插入与 IAM 角色关联的审批步骤。有权代入该角色的用户可以批准或拒绝步骤的执行，在获得批准之前暂停该步骤，或者可能阻止计划的进展。

为确保计划执行过程中需要手动审批，您需在工作流程的特定位置添加手动审批步骤，然后配置 IAM 角色以指定可批准该步骤的人员。

## 配置
<a name="manual-approval-block-config"></a>

要配置手动审批执行块，请输入以下值。

**重要**  
在配置执行块之前，请确保您具有正确的 IAM 策略。有关更多信息，请参阅 [手动审批执行块示例策略](security_iam_region_switch_manual_approval.md)。

1. **步骤名称：**输入名称。

1. **步骤描述（可选）：**输入步骤的描述。

1. **IAM 审批角色：**输入 IAM 角色的 ARN，该角色有权手动批准继续执行区域切换计划。IAM 角色必须位于计划所有者的账户中。

1. **超时：**输入超时值。

然后，选择**保存步骤**。

## 工作原理
<a name="manual-approval-block-how"></a>

通过配置手动审批执行块，您可以要求审批作为应用程序恢复的一部分。对于手动执行块，区域切换执行以下操作：
+ 当区域切换运行手动执行块时，它会暂停执行并将计划执行状态设置为待批准。
+ 任何有权访问执行块中定义的角色的人员都可以批准或拒绝执行该步骤。
+ 如果他们批准了步骤的执行，则区域切换会继续执行计划。如果他们拒绝，则区域切换会取消计划的执行。

此块不支持非优雅执行模式。

## 作为计划评估一部分的评估内容
<a name="manual-approval-block-eval"></a>

区域切换不会完成对手动审批执行块的任何评估。

# 自定义操作 Lambda 执行块
<a name="custom-action-lambda-block"></a>

自定义操作 Lambda 执行块允许您使用 Lambda 函数向计划添加自定义步骤。

## 配置
<a name="custom-action-lambda-block-config"></a>

要配置 Lambda 执行块，请输入以下值。

**重要**  
在配置执行块之前，请确保您具有正确的 IAM 策略。有关更多信息，请参阅 [自定义操作 Lambda 执行块示例策略](security_iam_region_switch_lambda.md)。

1. **步骤名称：**输入名称。

1. **步骤描述（可选）：**输入步骤的描述。

1. **激活或停用*区域*时要调用的 Lambda 函数 ARN**：指定要在此步骤中运行的 Lambda 函数的 ARN。

1. **运行 Lambda 函数的区域：**在下拉菜单中，选择您想要在其中运行 Lambda 函数的区域。

1. **超时：**输入超时值。

1. **重试间隔：**输入重试间隔，如果在此间隔内没有成功，则重新运行 Lambda 函数。

然后，选择**保存步骤**。

## 工作原理
<a name="custom-action-lambda-block-how"></a>
+ 创建自定义操作 Lambda 执行块时，您需要为要执行的步骤指定两个 Lambda 函数，计划的每个区域有一个函数。
+ 您可以配置希望运行 Lambda 的区域，例如，激活区域或停用区域。但是，如果您在停用区域中执行，该区域会成为依赖项。我们不建议您依赖停用区域。

此块支持优雅和非优雅的执行模式。在非优雅执行模式下，区域切换会跳过 Lambda 执行块步骤。

## 作为计划评估一部分的评估内容
<a name="custom-action-lambda-block-eval"></a>

当区域切换评估您的计划时，会对您的 Lambda 执行块配置和权限执行多项检查。区域切换可验证以下内容是否正确：
+ 配置中指定的 Lambda 函数存在。
+ Lambda 函数的并发设置不受限制，包括验证以下内容：
  + 并发度未设置为 0。
  + 至少有一个并发执行可用，或者存在未预留的并发。

区域切换执行 Lambda 函数的试运行，以验证指定的参数和权限，而无需执行实际的函数逻辑。标准的 Lambda 成本是在您进行试运行时产生的。

区域切换还会验证计划的 IAM 角色是否具有 Lambda 执行所需的权限。有关区域切换执行块所需权限的更多信息，请参阅[用于 ARC 中区域切换的基于身份的策略示例](security_iam_id-based-policy-examples-region-switch.md)。

正确的 IAM 权限对于 Lambda 执行块的正常运行至关重要。如果其中任何一个验证失败，区域切换将返回说明存在问题的警告，并提供特定的错误消息来帮助您解决权限或配置问题。这确保了在计划执行期间此步骤运行时，您的计划具有必要的权限来管理 Lambda 并与之交互。

# Amazon Route 53 运行状况检查执行块
<a name="route53-health-check-block"></a>

Amazon Route 53 运行状况检查执行块支持您指定在失效转移期间应用程序流量将重定向到的区域。执行块会创建 Amazon Route 53 运行状况检查，然后将其附加到账户中的 Route 53 DNS 记录中。当您执行区域切换计划时，Route 53 运行状况检查状态会更新，并且流量将根据您的 DNS 配置进行重定向。

**重要**  
Route 53 托管区域必须与区域切换计划位于同一个分区中。

## 配置
<a name="route53-health-check-block-config"></a>

要配置 Route 53 运行状况检查执行块，请输入以下值。

**重要**  
在配置执行块之前，请确保您具有正确的 IAM 策略。有关更多信息，请参阅 [Route 53 运行状况检查执行块示例策略](security_iam_region_switch_route53.md)。

1. **步骤名称：**输入名称。

1. **步骤描述（可选）：**输入步骤的描述。

1. **托管区 ID：**Route 53 中的您的域的托管区 ID 和 DNS 记录。

1. **记录名称：**输入记录名称（域名），您使用这些记录以及相关的运行状况检查来重定向应用程序的流量。区域切换将为该记录名称找到 Route 53 记录集，并尝试根据记录集的**值**或**集合标识符**中的区域名称将每个记录集映射到一个区域。

1. **记录集标识符（可选）：**如果在创建计划后，区域切换无法自动将记录集从步骤 4 中提供的记录名称映射到区域，则可以选择手动提供记录集标识符。如果计划评估返回一条警告，表明需要更多信息，请使用记录集标识符更新您的计划，方法是为每个区域添加以下内容：
   + **记录集标识符：**为记录集输入**集标识符**或**值/流量路由目标**。
   + **区域：**输入与具有记录集标识符信息的记录集关联的区域。

1. 选择**保存步骤**。

1. 在 Route 53 中配置运行状况检查。

   区域切换为执行块中定义的托管区内的每个记录名称提供每个区域的运行状况检查 ID。确保在 Route 53 中为账户中的相应记录集配置运行状况检查，以便在计划执行期间，区域切换可以正确地重定向应用程序的流量。在计划详情页面的**运行状况检查**选项卡中，您可以查看所有执行块和区域的运行状况检查。

## 工作原理
<a name="route53-health-check-block-how"></a>

您可以在区域切换工作流程中添加运行状况检查步骤，这样您就可以将流量重定向到辅助区域进行 active/passive 配置，或者将流量重定向到已停用的区域以外的地方进行 active/active 配置。如果您在计划中添加多个工作流程，请为使用相同 DNS 记录的所有运行状况检查执行块提供相同的配置值。

根据您在配置执行块时提供的信息，区域切换会尝试确定计划中每个区域的正确记录集。通常，通过托管区 ID 和记录名称足以确定记录集和关联区域。若不能确定，在您创建计划后，当区域切换运行其自动计划评估时，系统会返回一条警告，告知您需要更多信息。

区域切换为每个 Route 53 运行状况检查执行块提供运行状况检查。对于使用 active/passive 恢复方法的计划，主区域的运行状况检查起始为运行状况良好，备用区域的运行状况检查最初设置为不健康。对于使用 active/active 恢复方法的计划，所有地区的运行状况检查都以健康状态开始。

要使区域切换能够为您的计划成功运行此执行块，您必须将运行状况检查添加到 DNS 记录中。

对于 active/active 计划，执行步骤的工作方式如下：
+ 当针对某个区域运行停用工作流程时，运行状况检查将设置为运行状况不佳，流量将不再定向到该区域。
+ 当针对某个区域运行激活工作流程时，运行状况检查将设置为运行状况良好，流量将定向到该区域。

对于 active/passive 计划，执行步骤的工作方式如下：
+ 当针对某个区域运行激活工作流程时，该区域的运行状况检查将设置为运行状况良好，流量将定向到该区域。同时，计划中其他区域的运行状况检查设置为运行状况不佳，流量将停止定向到该区域。

## 作为计划评估一部分的评估内容
<a name="route53-health-check-block-eval"></a>

当区域切换评估您的计划时，会对您的 Route 53 运行状况检查执行块配置和权限执行多项检查。区域切换会验证运行状况检查是否已附加到执行块配置中指定的 DNS 记录。也就是说，区域切换会验证特定 AWS 区域 的 DNS 记录是否配置为使用该区域的运行状况检查。

## 比较 ARC 路由控制和 Route 53 运行状况检查执行块
<a name="region-switch-compare-routing"></a>

区域切换中的 Amazon Route 53 运行状况检查执行区块为基于 DNS 的流量管理提供了一种成本更低的替代方案。但是，此执行块取决于您要激活的，因此该区域必须可用。 AWS 区域 这可以满足大多数客户的需求，因为他们正在激活一个健康的区域。

ARC 路由控制提供高度可靠的基于 DNS 的流量管理，并具有 100% 可用性 SLA。借助路线控制，您的运营团队可以通过安全护栏在区域之间转移交通。路由控制提供了具有 100% 服务级别协议的单租户解决方案。路由控制集群分布在五个区域，可以容忍两个区域处于离线状态。如果您有高度关键的应用程序，请考虑使用路由控制。

使用区域切换不需要路由控制。您可以使用区域切换来管理流量重定向，方法是使用 Route 53 运行状况检查执行块，无需路由控制。

在以下情况下，路由控制可通过区域切换增加价值：
+ 您需要流量控制机制本身的 100% 可用性 SLA。
+ 您的组织需要手动操作控制和关键应用程序的安全规则。
+  defense-in-depth您希望运营团队可以在需要时手动覆盖自动流量路由。

Route 53 运行状况检查的执行区块不依赖于控制平面。Health check 记录更改使用数据平面，因此它们不需要激活区域来处理配置更新。在以下情况下，Route 53 运行状况检查执行块就足够了：
+ 您的应用程序可能取决于您 AWS 区域 正在激活的。
+ 作为恢复工作流程一部分的自动流量重定向可以满足您的要求。
+ 成本优化是当务之急。Route 53 运行状况检查执行块的成本低于路由控制。

大多数客户一开始就将 Route 53 运行状况检查执行块作为默认流量路由机制，然后仅为需要流量管理机制最高可靠性的最关键应用程序添加路由控制。

# 创建子计划
<a name="working-with-rs-child-plan"></a>

为支持更复杂的恢复场景，您可以通过添加区域切换计划执行块来创建子计划。层次结构仅限于两个级别，但同一个父计划可以包括多个子计划。

**重要**  
在创建子计划之前，请确保您具有正确的 IAM 策略。有关更多信息，请参阅 [区域切换计划执行块示例策略](security_iam_region_switch_plan_execution.md)。

出于兼容性考虑，子计划必须支持父计划支持的所有区域。此外，父母和子女计划的康复方法 active/active 或主动/被动方法必须相同。



请注意以下子计划应对父计划和父计划方案更改的方式。
+ 当父执行块中的所有子计划和其他执行块都完成时，该父执行块将被标记为已完成。
+ 如果任何子计划中的任何步骤失败，则父计划中的区域切换计划执行块将失败。
+ 在区域切换步骤中，父计划中启动的控制操作（如暂停、优雅或非优雅切换，或取消操作）将自动尝试应用于子计划，无论子计划当前处于哪个步骤。
+ 跳过操作有一种特殊的行为：跳过父计划，但子计划仍会执行。
+ 如果子计划已在区域切换块中执行，则为了确定其是否继续运行，区域切换将评估子计划与父计划的兼容性。如果子计划的配置与父计划的要求相符，则区域切换会将子计划视为由父计划启动的子计划。
+ 如果子计划使用不兼容的配置参数运行，则父计划步骤将失败，如下所示：
  + 子计划在不同的区域实施
  + 当区域切换期望子计划执行激活操作时，子计划正在执行停用操作
+ 如果子计划在父计划暂停期间成功完成，则父计划在恢复后将成功执行。

# 为区域切换计划创建触发器
<a name="working-with-rs-triggers"></a>

如果您想在区域切换中自动恢复应用程序，则可以为区域切换计划创建一个或多个触发器。触发器会根据您选择的 CloudWatch 警报条件自动开始执行区域切换计划。

# 为区域切换计划创建触发器


1. 创建计划后，在**计划详细信息**页面上，选择**触发器**选项卡。

1. 选择**管理触发器**。

1. 选择要自动执行的工作流程，然后选择**添加触发器**。

1. 提供触发器的描述。

1. 选择一个 CloudWatch 警报，然后最多选择 10 个 CloudWatch 警报来创建触发条件。

   当您选择多个条件时，必须满足所有条件才能开始自动执行计划。

当 CloudWatch 警报过渡到满足触发条件时，触发器会开始执行计划。将触发器添加到计划中时，如果条件已经满足，则计划不会执行，这可以防止意外的故障转移事件。

# 执行区域切换计划以恢复应用程序
<a name="plan-execution-rs"></a>

要在应用程序受损时恢复应用程序，您需要在 Amazon 应用程序恢复控制器 (ARC) 中执行区域切换计划。 AWS 区域 
+ 如果您的应用程序是使用某种 active/active 方法部署的，则您的计划中的工作流程会停用受损区域，以便您的其他活动区域得到适当的扩展并开始接收您的所有应用程序流量。
+ 如果您的应用程序采用某种 active/passive 方法部署，则您的计划中的工作流程会停用受损区域并激活备用区域，方法是根据需要在那里扩展资源，并将应用程序流量重定向到备用区域。

要手动执行应用程序恢复，请执行以下操作来运行您的区域切换计划。

另一种选择是使用您指定的特定 Amazon CloudWatch 警报自动触发执行，以开始执行计划。在创建或更新计划时，您可以指定用于计划执行的触发器。有关更多信息，请参阅 [为区域切换计划创建触发器](working-with-rs-triggers.md)。

# 执行区域切换计划


1. 在中 AWS 管理控制台，导航到 AWS 区域 要为应用程序激活的。

1. 在 Amazon 应用程序恢复控制器（ARC）控制台上，选择**区域切换**，然后选择要运行的计划。

1. 选择**执行计划**。

1. 如果您的计划包括手动审批步骤，请根据提示批准每个步骤。

在计划执行期间，您可以在执行详细信息页面上跟踪其进度，该页面将在您选择执行计划时打开。

此外，还可以在区域切换控制面板上查看当前应用程序恢复进度。在区域切换控制台上，在左侧导航栏的**区域切换**下，选择以下选项之一：
+ **全球控制面板**
+ ***区域名称*中的执行**

请注意，如果某个区域受影响，则全球控制面板可能无法显示所有的计划数据。因此，我们建议您在运营事件期间仅依赖于区域执行控制面板。区域执行控制面板更具弹性，因为它使用本地区域切换数据面板。

计划执行完成后，您可以在**计划执行历史**选项卡的**计划详细信息**页面上查看有关计划执行以及区域切换已运行的其他计划的信息。

# 区域切换控制面板
<a name="region-switch.dashboarding-and-reports"></a>

区域切换包括一个全球控制面板，您可以使用该控制面板来观察组织和各区域的区域切换计划的状态。区域切换还具有区域执行控制面板，该控制面板仅显示您当前登录 AWS 管理控制台的区域中的计划执行情况。

请注意，如果某个区域受影响，则全球控制面板可能无法显示所有的计划数据。因此，我们建议您在运营事件期间仅依赖于区域执行控制面板。区域执行控制面板更具弹性，因为它使用本地区域切换数据面板。

# 打开区域切换全球控制面板


1. 访问 [https://console.aws.amazon.com/route53recovery/home#/dashboard](https://console.aws.amazon.com/route53recovery/home#/dashboard)，打开 ARC 控制台。

1. 在**区域切换**下，选择**全球控制面板**。

# 打开区域切换区域控制面板


1. 访问 [https://console.aws.amazon.com/route53recovery/home#/dashboard](https://console.aws.amazon.com/route53recovery/home#/dashboard)，打开 ARC 控制台。

1. 在**区域切换**下，选择**区域控制面板**。

# 区域切换中的跨账户支持
<a name="cross-account-resources-rs"></a>

在区域切换中，您可以将其他账户的资源添加到您的计划中。您也可以与其他账户共享区域切换计划。有关更多信息，请参阅以下部分。

## 跨账户资源
<a name="cross-account-resources-rs-in-plan"></a>

区域切换允许资源托管在与区域切换计划所在账户不同的独立账户中。当区域切换器执行计划时，它会代入 executionRole。如果计划使用的资源来自与托管该计划的账户不同的账户，则区域切换将使用 ExecutionRole 来假设访问这些资源。 crossAccountRole 

区域切换计划中的每个资源都有两个可选字段： crossAccountRole 和 externalID。
+ crossAccountRole：此角色允许访问与托管区域切换计划的账户不同的账户中的资源。该角色只需要对其账户中的资源进行操作的权限，不需要对托管区域切换计划的账户中的资源进行操作的权限。
+ ExternalId：这是来自账户信任策略的 STS 外部 ID，其中包含需要操作的资源。它是一个字母数字字符串，是两个账户之间的共享密钥。

## 共享区域切换计划
<a name="sharing-plans"></a>

区域切换与 AWS Resource Access Manager (AWS RAM) 集成，允许您在之间共享计划 AWS 账户。共享计划时，您指定的账户可以查看计划详细信息、执行计划和查看计划的执行情况，这为跨团队的恢复能力提供了更强的控制力和灵活性。

要开始在区域切换中进行跨账户共享，请在 AWS RAM中创建资源共享。资源共享指定有权共享您的账户所拥有的计划的参与者。参与者可以通过控制台、CLI 或查看和执行共享计划 AWS SDKs。

重要：您 AWS 账户 必须拥有想要共享的计划。无法共享已与您共享的计划。要与您的组织或 AWS Organizations内的组织单元共享计划，您必须允许与组织共享。

有关的更多信息 AWS RAM，请参阅[支持跨账户共享计划以实现 ARC 区域切换](resource-sharing.region-switch.md)。

# 支持跨账户共享计划以实现 ARC 区域切换
<a name="resource-sharing.region-switch"></a>

Amazon 应用程序恢复控制器 (ARC) 与集成 AWS Resource Access Manager 以实现资源共享。 AWS RAM 是一项使您能够与其他人共享资源 AWS 账户 或通过共享资源的服务 AWS Organizations。对于 ARC 区域切换，您可以共享区域切换计划。（要使用计划中其他账户的资源，请使用 crossAccount 角色。要了解更多信息，请参阅[跨账户资源](cross-account-resources-rs.md#cross-account-resources-rs-in-plan)。）

使用 AWS RAM，您可以通过创建资源共享来*共享您拥有的资源*。资源共享指定要共享的资源以及共享资源的*参与者*。参与者可以包括：
+ 特定于所有者组织 AWS 账户 内部或外部 AWS Organizations
+ 其组织内部的组织单位 AWS Organizations
+ 它的整个组织都在 AWS Organizations

有关的更多信息 AWS RAM，请参阅《*[AWS RAM 用户指南》](https://docs.aws.amazon.com/ram/latest/userguide/)*。

通过在 ARC 中使用 AWS Resource Access Manager 跨账户共享计划，您可以将一个计划与多个不同的计划一起使用 AWS 账户。当您选择共享计划时，您指定的其他 AWS 账户 计划可以执行该计划以执行应用程序恢复。

AWS RAM 是一项可帮助 AWS 客户安全地共享资源的服务 AWS 账户。借 AWS RAM助，您可以使用 IAM 角色和用户在 AWS Organizations组织或组织单位 (OUs) 内共享资源。 AWS RAM 是一种集中且受控的共享计划的方式。

通过共享计划，可以减少组织所需的计划总数。计划共享后，您可以将运行计划的总成本分摊给不同的团队，从而以更低的成本更大限度地发挥 ARC 的优势。跨账户共享计划还可以简化将多个应用程序加载到 ARC 的过程，尤其是在大量应用程序分布在多个账户和运营团队中的情况下。

要开始在 ARC 中进行跨账户共享，请在 AWS RAM中创建*资源共享*。资源共享指定有权共享您的账户所拥有的计划的*参与者*。

本主题说明如何共享您拥有的资源以及如何使用共享给您的资源。

**Topics**
+ [共享计划的先决条件](#sharing-prereqs-rs)
+ [共享计划](#sharing-share-rs)
+ [将已共享的计划取消共享](#sharing-unshare-rs)
+ [标识共享的计划](#sharing-identify-rs)
+ [共享计划的责任和权限](#sharing-perms-rs)
+ [成本计费](#sharing-billing-rs)
+ [配额](#sharing-quotas-rs)

## 共享计划的先决条件
<a name="sharing-prereqs-rs"></a>
+ 要共享计划，您必须在自己的计划中拥有该计划 AWS 账户。这意味着资源必须分配或预调配到您的账户。无法共享已与您共享的计划。
+ 要与您的组织或 AWS Organizations内的组织单元共享计划，您必须允许与 AWS Organizations共享。有关更多信息，请参阅《*AWS RAM 用户指南*》中的[允许与 AWS Organizations共享](https://docs.aws.amazon.com/ram/latest/userguide/getting-started-sharing.html#getting-started-sharing-orgs)。

## 共享计划
<a name="sharing-share-rs"></a>

共享计划时，您指定共享该计划的参与者可以查看该计划，如果您授予额外权限，则可以执行该计划。

要共享计划，您必须将它添加到资源共享。资源共享是一项 AWS RAM 资源，可让您跨 AWS 账户共享资源。资源共享将指定要共享的资源以及共享资源的参与者。要共享计划，您可以创建新的资源共享或将资源添加到现有资源共享。要创建新的资源共享，您可以使用[AWS RAM 控制台](https://console.aws.amazon.com/ram)，也可以将 AWS RAM API 操作与 AWS Command Line Interface 或一起使用 AWS SDKs。

如果您是组织中的一员， AWS Organizations 并且启用了组织内部共享，则组织中的参与者将自动获得共享计划的访问权限。否则，参与者会收到加入资源共享的邀请，并在接受邀请后获得对共享计划的访问权限。

您可以使用 AWS RAM 控制台共享您拥有的计划，也可以通过使用或的 AWS RAM API 操作来共享您拥有的 AWS CLI 计划 SDKs。

**使用 AWS RAM 控制台共享您拥有的套餐**  
请参阅《AWS RAM 用户指南**》中的[创建资源共享](https://docs.aws.amazon.com/ram/latest/userguide/working-with-sharing-create.html)。

**要共享您拥有的套餐，请使用 AWS CLI**  
使用 [create-resource-share](https://docs.aws.amazon.com/cli/latest/reference/ram/create-resource-share.html) 命令。

**授予共享计划的权限**

跨账户共享计划需要使用 AWS RAM共享计划的 IAM 主体获得以下额外权限：

```
# read and execute plan permissions
"arc-region-switch:GetPlan",
"arc-region-switch:GetPlanInRegion",  
"arc-region-switch:GetPlanExecution",  
"arc-region-switch:ListPlanExecutionEvents",
"arc-region-switch:ListPlanExecutions", 
"arc-region-switch:ListRoute53HealthChecks",  
"arc-region-switch:GetPlanEvaluationStatus",
"arc-region-switch:StartPlanExecution",
"arc-region-switch:CancelPlanExecution",  
"arc-region-switch:UpdatePlanExecution", 
"arc-region-switch:UpdatePlanExecutionStep"
```

共享计划的所有者必须具有以下权限。如果您在没有这些权限 AWS RAM 的情况下尝试通过共享计划，则会返回错误。

```
"arc-region-switch:PutResourcePolicy" # Permission only apis
"arc-region-switch:DeleteResourcePolicy" # Permission only apis
"arc-region-switch:GetResourcePolicy" # Permission only apis
```

有关 AWS Resource Access Manager 使用 IAM 的方式的更多信息，请参阅*AWS RAM 用户指南*中的[如何 AWS Resource Access Manager 使用 IAM](https://docs.aws.amazon.com/ram/latest/userguide/security-iam-policies.html)。

## 将已共享的计划取消共享
<a name="sharing-unshare-rs"></a>

取消共享计划时，以下规则适用于参与者和拥有者：
+ 参与者无法再查看或执行非共享计划。

要取消共享您拥有的共享计划，必须从资源共享中将其删除。为此，您可以使用 AWS RAM 控制台或将 AWS RAM API 操作与 AWS CLI 或一起使用 SDKs。

**使用控制台取消共享您拥有的共享套餐 AWS RAM**  
请参阅《AWS RAM 用户指南》中的[更新资源共享](https://docs.aws.amazon.com/ram/latest/userguide/working-with-sharing.html#working-with-sharing-update)。

**要取消共享您拥有的共享套餐，请使用 AWS CLI**  
使用 [disassociate-resource-share](https://docs.aws.amazon.com/cli/latest/reference/ram/disassociate-resource-share.html) 命令。

## 标识共享的计划
<a name="sharing-identify-rs"></a>

拥有者和参与者可以通过查看 AWS RAM中的信息来识别共享计划。他们还可以通过使用 ARC 控制台和 AWS CLI获取有关共享资源的信息。

一般而言，要详细了解您已共享或已与您共享的资源，请参阅《 AWS Resource Access Manager 用户指南》中的信息：
+ 作为拥有者，您可以使用 AWS RAM查看与他人共享的所有资源。有关更多信息，请参阅[中的查看共享资源 AWS RAM](https://docs.aws.amazon.com/ram/latest/userguide/working-with-sharing-view-sr.html)。
+ 作为参与者，您可以使用查看与您共享的所有资源 AWS RAM。有关更多信息，请参阅[中的查看共享资源 AWS RAM](https://docs.aws.amazon.com/ram/latest/userguide/working-with-shared-view-sr.html)。

作为所有者，您可以通过查看中的信息 AWS 管理控制台 或使用 with ARC API 操作来确定是否共享套餐。 AWS Command Line Interface 

**使用控制台确定您拥有的计划是否已共享**  
在计划的详细信息页面上 AWS 管理控制台，查看**计划共享状态**。

作为参与者，当计划共享给您时，您通常必须接受共享才能访问计划。

## 共享计划的责任和权限
<a name="sharing-perms-rs"></a>

### 拥有者的权限
<a name="perms-owner-rs"></a>

参与者可以查看或执行计划（前提是他们拥有正确的权限）。

### 参与者的权限
<a name="perms-consumer-rs"></a>

当您与其他人共享您拥有的计划时 AWS 账户，参与者可以查看或执行该计划（前提是他们拥有正确的权限）。

当您使用共享计划时 AWS RAM，默认情况下，参与者具有只读权限。要查看区域切换的只读权限列表，请参阅[只读权限](security_iam_region_switch_read_only.md)。参与者需要额外的权限才能执行区域切换计划。需要执行区域切换计划的参与者需要有额外的权限。请注意，您不能向 AWS RAM 参与者授予以下操作的权限：
+ ` ApprovePlanExecutionStep`
+ ` UpdatePlan`

## 成本计费
<a name="sharing-billing-rs"></a>

ARC 中计划的拥有者需要支付与该计划相关的费用。对于计划拥有者或参与者来说，创建托管在计划中的资源不会产生任何额外成本。

有关详细定价信息和示例，请参阅 [Amazon 应用程序恢复控制器 (ARC) 定价](https://aws.amazon.com/application-recovery-controller/pricing/)。

## 配额
<a name="sharing-quotas-rs"></a>

在共享计划中创建的所有资源都计入计划所有者的配额。

有关区域切换计划配额的列表，请参阅[区域切换配额](quotas.region-switch.md)。

# 用于 ARC 区域切换的 Identity and Access Management
<a name="security-iam-region-switch"></a>

AWS Identity and Access Management (IAM) AWS 服务 可帮助管理员安全地控制对 AWS 资源的访问权限。IAM 管理员控制可以通过“身份验证”**（登录）和“授权”**（具有权限）使用 ARC 资源的人员。您可以使用 IAM AWS 服务 ，无需支付额外费用。

**Topics**
+ [区域切换如何与 IAM 配合使用](security_iam_service-with-iam-region-switch.md)
+ [基于身份的策略示例](security_iam_id-based-policy-examples-region-switch.md)

# ARC 中的区域切换如何与 IAM 配合使用
<a name="security_iam_service-with-iam-region-switch"></a>

在使用 IAM 管理对 ARC 的访问之前，您应该了解哪些 IAM 功能可用于 ARC。

在使用 IAM 管理针对 Amazon 应用程序恢复控制器（ARC）中的区域切换的访问权限之前，您应该了解哪些 IAM 功能可用于区域切换。


**可用于 Amazon 应用程序恢复控制器（ARC）中的区域切换的 IAM 功能**  

| IAM 功能 | 区域切换支持 | 
| --- | --- | 
|  [基于身份的策略](#security_iam_service-with-iam-region-switch-id-based-policies)  |   是  | 
|  [基于资源的策略](#security_iam_service-with-iam-region-switch-resource-based-policies)  |   是  | 
|  [策略操作](#security_iam_service-with-iam-region-switch-id-based-policies-actions)  |   是  | 
|  [策略资源](#security_iam_service-with-iam-region-switch-id-based-policies-resources)  |   是  | 
|  [策略条件键](#security_iam_service-with-iam-region-switch-id-based-policies-conditionkeys)  |   支持  | 
|  [ACLs](#security_iam_service-with-iam-region-switch-acls)  |   是  | 
|  [ABAC（策略中的标签）](#security_iam_service-with-iam-region-switch-tags)  |   是  | 
|  [临时凭证](#security_iam_service-with-iam-region-switch-roles-tempcreds)  |   是  | 
|  [主体权限](#security_iam_service-with-iam-region-switch-principal-permissions)  |   是  | 
|  [服务角色](#security_iam_service-with-iam-region-switch-roles-service)  |   否   | 
|  [服务关联角色](#security_iam_service-with-iam-region-switch-roles-service-linked)  |   否   | 

要全面了解 AWS 服务如何与大多数 IAM 功能配合使用，请参阅 IAM *用户指南中的与 IAM* [配合使用的AWS 服务](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html)。

## 适用于区域切换的基于身份的策略
<a name="security_iam_service-with-iam-region-switch-id-based-policies"></a>

**支持基于身份的策略：**是

基于身份的策略是可附加到身份（如 IAM 用户、用户组或角色）的 JSON 权限策略文档。这些策略控制用户和角色可在何种条件下对哪些资源执行哪些操作。要了解如何创建基于身份的策略，请参阅《IAM 用户指南》**中的[使用客户管理型策略定义自定义 IAM 权限](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html)。

通过使用 IAM 基于身份的策略，您可以指定允许或拒绝的操作和资源以及允许或拒绝操作的条件。要了解可在 JSON 策略中使用的所有元素，请参阅《IAM 用户指南》**中的 [IAM JSON 策略元素引用](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html)。

要查看 ARC 基于身份的策略示例，请参阅 [Amazon 应用程序恢复控制器（ARC）基于身份的策略示例](security_iam_id-based-policy-examples.md)。

## 区域切换内基于资源的策略
<a name="security_iam_service-with-iam-region-switch-resource-based-policies"></a>

**支持基于资源的策略：**是

基于资源的策略是附加到资源的 JSON 策略文档。基于资源的策略的示例包括 IAM 角色信任策略和 Amazon S3 存储桶策略。在支持基于资源的策略的服务中，服务管理员可以使用它们来控制对特定资源的访问。

## 区域切换的策略操作
<a name="security_iam_service-with-iam-region-switch-id-based-policies-actions"></a>

**支持策略操作：**是

管理员可以使用 AWS JSON 策略来指定谁有权访问什么。也就是说，哪个**主体**可以对什么**资源**执行**操作**，以及在什么**条件**下执行。

JSON 策略的 `Action` 元素描述可用于在策略中允许或拒绝访问的操作。在策略中包含操作以授予执行关联操作的权限。

ARC 中用于区域切换的策略操作在操作前使用以下前缀：

```
arc-region-switch
```

要在单个语句中指定多项操作，请使用逗号将它们隔开。如下所示：

```
"Action": [
      "arc-region-switch:action1",
      "arc-region-switch:action2"
         ]
```

您也可以使用通配符（\$1）指定多个操作。例如，要指定以单词 `Describe` 开头的所有操作，包括以下操作：

```
"Action": "arc-region-switch:Describe*"
```

要查看用于区域切换的 ARC 基于身份的策略的示例，请参阅[用于 ARC 中区域切换的基于身份的策略示例](security_iam_id-based-policy-examples-region-switch.md)。

## 区域切换的策略资源
<a name="security_iam_service-with-iam-region-switch-id-based-policies-resources"></a>

**支持策略资源：**是

管理员可以使用 AWS JSON 策略来指定谁有权访问什么。也就是说，哪个**主体**可以对什么**资源**执行**操作**，以及在什么**条件**下执行。

`Resource` JSON 策略元素指定要向其应用操作的一个或多个对象。作为最佳实践，请使用其 [Amazon 资源名称（ARN）](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference-arns.html)指定资源。对于不支持资源级权限的操作，请使用通配符 (\$1) 指示语句应用于所有资源。

```
"Resource": "*"
```

要查看用于区域切换的 ARC 基于身份的策略的示例，请参阅[用于 ARC 中区域切换的基于身份的策略示例](security_iam_id-based-policy-examples-region-switch.md)。

## 区域切换的策略条件键
<a name="security_iam_service-with-iam-region-switch-id-based-policies-conditionkeys"></a>

**支持特定于服务的策略条件键：**是

管理员可以使用 AWS JSON 策略来指定谁有权访问什么。也就是说，哪个**主体**可以对什么**资源**执行**操作**，以及在什么**条件**下执行。

`Condition` 元素根据定义的条件指定语句何时执行。您可以创建使用[条件运算符](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html)（例如，等于或小于）的条件表达式，以使策略中的条件与请求中的值相匹配。要查看所有 AWS 全局条件键，请参阅 *IAM 用户指南*中的[AWS 全局条件上下文密钥](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html)。

要查看用于区域切换的 ARC 基于身份的策略的示例，请参阅[用于 ARC 中区域切换的基于身份的策略示例](security_iam_id-based-policy-examples-region-switch.md)。

## 区域开关中的访问控制列表 (ACLs)
<a name="security_iam_service-with-iam-region-switch-acls"></a>

**支持 ACLs：**是

访问控制列表 (ACLs) 控制哪些委托人（账户成员、用户或角色）有权访问资源。 ACLs 与基于资源的策略类似，尽管它们不使用 JSON 策略文档格式。

## 用于区域切换的基于属性的访问权限控制（ABAC）
<a name="security_iam_service-with-iam-region-switch-tags"></a>

**支持 ABAC（策略中的标签）：**是

基于属性的访问权限控制（ABAC）是一种授权策略，该策略基于称为标签的属性来定义权限。您可以将标签附加到 IAM 实体和 AWS 资源，然后设计 ABAC 策略以允许在委托人的标签与资源上的标签匹配时进行操作。

要基于标签控制访问，您需要使用 `aws:ResourceTag/key-name``aws:RequestTag/key-name` 或 `aws:TagKeys` 条件键在策略的[条件元素](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html)中提供标签信息。

如果某个服务对于每种资源类型都支持所有这三个条件键，则对于该服务，该值为**是**。如果某个服务仅对于部分资源类型支持所有这三个条件键，则该值为**部分**。

有关 ABAC 的更多信息，请参阅《IAM 用户指南》**中的[使用 ABAC 授权定义权限](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction_attribute-based-access-control.html)。要查看设置 ABAC 步骤的教程，请参阅《IAM 用户指南》**中的[使用基于属性的访问权限控制（ABAC）](https://docs.aws.amazon.com/IAM/latest/UserGuide/tutorial_attribute-based-access-control.html)。

## 将临时凭证用于区域切换
<a name="security_iam_service-with-iam-region-switch-roles-tempcreds"></a>

**支持临时凭证：**是

临时证书提供对 AWS 资源的短期访问权限，并且是在您使用联合身份或切换角色时自动创建的。 AWS 建议您动态生成临时证书，而不是使用长期访问密钥。有关更多信息，请参阅《IAM 用户指南》**中的 [IAM 中的临时安全凭证](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp.html)和[使用 IAM 的。AWS 服务](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html)

## 区域切换的跨服务主体权限
<a name="security_iam_service-with-iam-region-switch-principal-permissions"></a>

**支持转发访问会话（FAS）：**是

当您使用 IAM 实体（用户或角色）在中执行操作时 AWS，您被视为委托人。策略向主体授予权限。使用某些服务时，您可能会执行一个操作，此操作然后在不同服务中触发另一个操作。在这种情况下，您必须具有执行这两个操作的权限。

## 区域切换的服务角色
<a name="security_iam_service-with-iam-region-switch-roles-service"></a>

**支持服务角色：**否 

 服务角色是由一项服务担任、代表您执行操作的 [IAM 角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html)。IAM 管理员可以在 IAM 中创建、修改和删除服务角色。有关更多信息，请参阅《IAM 用户指南》**中的[创建向 AWS 服务委派权限的角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html)。

## 区域切换的服务关联角色
<a name="security_iam_service-with-iam-region-switch-roles-service-linked"></a>

**支持服务相关角色：**否 

 服务相关角色是一种链接到的服务角色。 AWS 服务服务可以代入代表您执行操作的角色。服务相关角色出现在您的中 AWS 账户 ，并且归服务所有。IAM 管理员可以查看但不能编辑服务关联角色的权限。

有关创建或管理服务相关角色的详细信息，请参阅[能够与 IAM 搭配使用的AWS 服务](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html)。在表中查找**服务相关角色**列中包含 `Yes` 的表。选择**是**链接以查看该服务的服务相关角色文档。

# 用于 ARC 中区域切换的基于身份的策略示例
<a name="security_iam_id-based-policy-examples-region-switch"></a>

默认情况下，用户和角色没有创建或修改 ARC 资源的权限。要授予用户对所需资源执行操作的权限，IAM 管理员可以创建 IAM 策略。

要了解如何使用这些示例 JSON 策略文档创建基于 IAM 身份的策略，请参阅《IAM 用户指南》**中的[创建 IAM 策略（控制台）](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create-console.html)。

有关 ARC 定义的操作和资源类型（包括每种资源类型的格式）的详细信息，请参阅《 ARNs *服务授权参考*》中的 [Amazon Application Recovery Controller (ARC) 的操作、资源和条件密钥](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonroute53recoverycontrols.html)。

**Topics**
+ [策略最佳实践](#security_iam_service-with-iam-policy-best-practices-zonal)
+ [计划执行角色信任策略](security_iam_region_switch_trust_policy.md)
+ [完全访问权限](security_iam_region_switch_full_access.md)
+ [只读权限](security_iam_region_switch_read_only.md)
+ [执行块权限](security_iam_region_switch_execution_blocks.md)
+ [CloudWatch 应用程序运行状况权限警报](security_iam_region_switch_cloudwatch.md)
+ [自动计划执行报告权限](security_iam_region_switch_reports.md)
+ [跨账户资源权限](security_iam_region_switch_cross_account.md)
+ [完成计划执行角色权限](security_iam_region_switch_complete_policy.md)

## 策略最佳实践
<a name="security_iam_service-with-iam-policy-best-practices-zonal"></a>

基于身份的策略确定某个人是否可以创建、访问或删除您账户中的 ARC 资源。这些操作可能会使 AWS 账户产生成本。创建或编辑基于身份的策略时，请遵循以下指南和建议：
+ **开始使用 AWS 托管策略并转向最低权限权限** — 要开始向用户和工作负载授予权限，请使用为许多常见用例授予权限的*AWS 托管策略*。它们在你的版本中可用 AWS 账户。我们建议您通过定义针对您的用例的 AWS 客户托管策略来进一步减少权限。有关更多信息，请参阅《IAM 用户指南》**中的 [AWS 托管策略](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies)或[工作职能的AWS 托管策略](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_job-functions.html)。
+ **应用最低权限**：在使用 IAM 策略设置权限时，请仅授予执行任务所需的权限。为此，您可以定义在特定条件下可以对特定资源执行的操作，也称为*最低权限许可*。有关使用 IAM 应用权限的更多信息，请参阅《IAM 用户指南》**中的 [IAM 中的策略和权限](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html)。
+ **使用 IAM 策略中的条件进一步限制访问权限**：您可以向策略添加条件来限制对操作和资源的访问。例如，您可以编写策略条件来指定必须使用 SSL 发送所有请求。如果服务操作是通过特定的方式使用的，则也可以使用条件来授予对服务操作的访问权限 AWS 服务，例如 CloudFormation。有关更多信息，请参阅《IAM 用户指南》**中的 [IAM JSON 策略元素：条件](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html)。
+ **使用 IAM Access Analyzer 验证您的 IAM 策略，以确保权限的安全性和功能性**：IAM Access Analyzer 会验证新策略和现有策略，以确保策略符合 IAM 策略语言（JSON）和 IAM 最佳实践。IAM Access Analyzer 提供 100 多项策略检查和可操作的建议，以帮助您制定安全且功能性强的策略。有关更多信息，请参阅《IAM 用户指南》**中的[使用 IAM Access Analyzer 验证策略](https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-policy-validation.html)。
+ **需要多重身份验证 (MFA**)-如果 AWS 账户您的场景需要 IAM 用户或根用户，请启用 MFA 以提高安全性。若要在调用 API 操作时需要 MFA，请将 MFA 条件添加到您的策略中。有关更多信息，请参阅《IAM 用户指南》**中的[使用 MFA 保护 API 访问](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_mfa_configure-api-require.html)。

有关 IAM 中的最佳实操的更多信息，请参阅《IAM 用户指南》**中的 [IAM 中的安全最佳实践](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html)。

# 计划执行角色信任策略
<a name="security_iam_region_switch_trust_policy"></a>

 这是计划的执行角色所需的信任策略，以便 ARC 能够运行区域切换计划。

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "arc-region-switch.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}
```

------

# 完全访问权限
<a name="security_iam_region_switch_full_access"></a>

以下 IAM 策略授予所有区域切换的完全访问权限 APIs：

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "iam:PassRole",
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "iam:PassedToService": "arc-region-switch.amazonaws.com"
        }
      }
    },
    {
      "Effect": "Allow",
      "Action": [
        "arc-region-switch:CreatePlan",
        "arc-region-switch:UpdatePlan",
        "arc-region-switch:GetPlan",
        "arc-region-switch:ListPlans",
        "arc-region-switch:DeletePlan",
        "arc-region-switch:GetPlanInRegion",
        "arc-region-switch:ListPlansInRegion",
        "arc-region-switch:ApprovePlanExecutionStep",
        "arc-region-switch:GetPlanEvaluationStatus",
        "arc-region-switch:GetPlanExecution",
        "arc-region-switch:StartPlanExecution",
        "arc-region-switch:CancelPlanExecution",
        "arc-region-switch:ListRoute53HealthChecks",
        "arc-region-switch:ListRoute53HealthChecksInRegion",
        "arc-region-switch:ListPlanExecutions",
        "arc-region-switch:ListPlanExecutionEvents",
        "arc-region-switch:ListTagsForResource", 
        "arc-region-switch:TagResource",
        "arc-region-switch:UntagResource",
        "arc-region-switch:UpdatePlanExecution",
        "arc-region-switch:UpdatePlanExecutionStep"
      ],
      "Resource": "*"
    }
  ]
}
```

------

# 只读权限
<a name="security_iam_region_switch_read_only"></a>

 以下 IAM 策略授予对区域切换的只读访问权限：

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "arc-region-switch:GetPlan",
        "arc-region-switch:ListPlans",
        "arc-region-switch:GetPlanInRegion",
        "arc-region-switch:ListPlansInRegion",
        "arc-region-switch:GetPlanEvaluationStatus",
        "arc-region-switch:GetPlanExecution",
        "arc-region-switch:ListRoute53HealthChecks",
        "arc-region-switch:ListRoute53HealthChecksInRegion",
        "arc-region-switch:ListPlanExecutions",
        "arc-region-switch:ListPlanExecutionEvents",
        "arc-region-switch:ListTagsForResource"
      ],
      "Resource": "*"
    }
  ]
}
```

------

# 执行块权限
<a name="security_iam_region_switch_execution_blocks"></a>

 以下各节提供示例 IAM 策略，这些策略为您添加到区域切换计划中的特定执行块提供所需的权限。

**Topics**
+ [EC2 Auto Scaling 执行区块示例策略](security_iam_region_switch_ec2_autoscaling.md)
+ [Amazon EKS 资源扩展执行块示例策略](security_iam_region_switch_eks.md)
+ [Amazon ECS 服务扩展执行块示例策略](security_iam_region_switch_ecs.md)
+ [ARC 路由控制执行块策略示例](security_iam_region_switch_arc_routing.md)
+ [Aurora Global Database 执行块示例策略](security_iam_region_switch_aurora.md)
+ [亚马逊 DocumentDB 全球集群执行区块策略示例](security_iam_region_switch_documentdb.md)
+ [Amazon RDS 执行区块策略示例](security_iam_region_switch_rds.md)
+ [手动审批执行块示例策略](security_iam_region_switch_manual_approval.md)
+ [自定义操作 Lambda 执行块示例策略](security_iam_region_switch_lambda.md)
+ [Route 53 运行状况检查执行块示例策略](security_iam_region_switch_route53.md)
+ [区域切换计划执行块示例策略](security_iam_region_switch_plan_execution.md)

# EC2 Auto Scaling 执行区块示例策略
<a name="security_iam_region_switch_ec2_autoscaling"></a>

 以下是在 EC2 Auto Scaling 群组的区域切换计划中添加执行块时要附加的示例策略。

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "autoscaling:DescribeAutoScalingGroups"
      ],
      "Resource": "*"
    },
    {
      "Effect": "Allow",
      "Action": [
        "autoscaling:UpdateAutoScalingGroup"
      ],
      "Resource": [
        "arn:aws:autoscaling:us-east-1:123456789012:autoScalingGroup:123d456e-123e-1111-abcd-EXAMPLE22222:autoScalingGroupName/app-asg-primary",
        "arn:aws:autoscaling:us-west-2:123456789012:autoScalingGroup:1234a321-123e-1234-aabb-EXAMPLE33333:autoScalingGroupName/app-asg-secondary" 
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "cloudwatch:GetMetricStatistics"
      ],
      "Resource": "*"
    }
  ]
}
```

------

# Amazon EKS 资源扩展执行块示例策略
<a name="security_iam_region_switch_eks"></a>

 以下是在 Amazon EKS 资源扩展的区域切换计划中添加执行块时要附加的示例策略。

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "eks:DescribeCluster"
      ],
      "Resource": [
        "arn:aws:eks:us-east-1:123456789012:cluster/app-eks-primary",
        "arn:aws:eks:us-west-2:123456789012:cluster/app-eks-secondary"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "eks:ListAssociatedAccessPolicies"
      ],
      "Resource": [
        "arn:aws:eks:us-east-1:123456789012:access-entry/app-eks-primary/*",
        "arn:aws:eks:us-west-2:123456789012:access-entry/app-eks-secondary/*"
      ]
    }
  ]
}
```

------

 注意：除了此 IAM 策略外，还需要使用 `AmazonArcRegionSwitchScalingPolicy` 访问策略将计划执行角色添加到 Amazon EKS 集群的访问条目中。有关更多信息，请参阅 [配置 EKS 访问条目权限](eks-resource-scaling-block.md#eks-resource-scaling-block-permissions)。

# Amazon ECS 服务扩展执行块示例策略
<a name="security_iam_region_switch_ecs"></a>

 以下是在 Amazon ECS 资源扩展的区域切换计划中添加执行块时要附加的示例策略。

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "ecs:DescribeServices",
        "ecs:UpdateService"
      ],
      "Resource": [
        "arn:aws:ecs:us-east-1:123456789012:service/app-cluster-primary/app-service",
        "arn:aws:ecs:us-west-2:123456789012:service/app-cluster-secondary/app-service"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "ecs:DescribeClusters"
      ],
      "Resource": [
        "arn:aws:ecs:us-east-1:123456789012:cluster/app-cluster-primary",
        "arn:aws:ecs:us-west-2:123456789012:cluster/app-cluster-secondary"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "ecs:ListServices"
      ],
      "Resource": "*"
    },
    {
      "Effect": "Allow",
      "Action": [
        "application-autoscaling:DescribeScalableTargets",
        "application-autoscaling:RegisterScalableTarget"
      ],
      "Resource": "*"
    },
    {
      "Effect": "Allow",
      "Action": [
        "cloudwatch:GetMetricStatistics"
      ],
      "Resource": "*"
    }
  ]
}
```

------

# ARC 路由控制执行块策略示例
<a name="security_iam_region_switch_arc_routing"></a>

 注意：Amazon ARC 路由控制执行区块要求应用于计划执行角色的任何服务控制策略 (SCPs) 都允许这些服务访问以下区域：
+ `route53-recovery-control-config: us-west-2`
+ `route53-recovery-cluster: us-west-2, us-east-1, eu-west-1, ap-southeast-2, ap-northeast-1`

以下是在 ARC 路由控制的区域切换计划中添加执行块时要附加的示例策略。

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "route53-recovery-control-config:DescribeControlPanel",
        "route53-recovery-control-config:DescribeCluster"
      ],
      "Resource": [
        "arn:aws:route53-recovery-control::123456789012:controlpanel/abcd1234abcd1234abcd1234abcd1234",
        "arn:aws:route53-recovery-control::123456789012:cluster/4b325d3b-0e28-4dcf-ba4a-EXAMPLE11111"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "route53-recovery-cluster:GetRoutingControlState",
        "route53-recovery-cluster:UpdateRoutingControlStates"
      ],
      "Resource": [
        "arn:aws:route53-recovery-control::123456789012:controlpanel/1234567890abcdef1234567890abcdef/routingcontrol/abcdef1234567890", 
        "arn:aws:route53-recovery-control::123456789012:controlpanel/1234567890abcdef1234567890abcdef/routingcontrol/1234567890abcdef" 
      ]
    }
  ]
}
```

------

您可以使用 CLI 检索路由控制面板 ID 和集群 ID。有关更多信息，请参阅 [设置路由控制组件](getting-started-cli-routing-config.md)。

# Aurora Global Database 执行块示例策略
<a name="security_iam_region_switch_aurora"></a>

 以下是在 Aurora 数据库的区域切换计划中添加执行块时要附加的示例策略。

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "rds:DescribeGlobalClusters",
        "rds:DescribeDBClusters"
      ],
      "Resource": "*"
    },
    {
      "Effect": "Allow",
      "Action": [
        "rds:FailoverGlobalCluster",
        "rds:SwitchoverGlobalCluster"
      ],
      "Resource": [
        "arn:aws:rds::123456789012:global-cluster:app-global-db",
	      "arn:aws:rds:us-east-1:123456789012:cluster:app-db-primary", 
        "arn:aws:rds:us-west-2:123456789012:cluster:app-db-secondary"  
      ]
    }
  ]
}
```

------

# 亚马逊 DocumentDB 全球集群执行区块策略示例
<a name="security_iam_region_switch_documentdb"></a>

 如果您向 Amazon DocumentDB 全球集群的区域切换计划添加执行块，则需要附加以下示例策略。

```
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "rds:DescribeGlobalClusters",
        "rds:DescribeDBClusters",
        "rds:FailoverGlobalCluster",
        "rds:SwitchoverGlobalCluster"
      ],
      "Resource": "*"
    }
  ]
}
```

# Amazon RDS 执行区块策略示例
<a name="security_iam_region_switch_rds"></a>

 以下是在 Amazon RDS 只读副本促销或跨区域副本创建的区域切换计划中添加执行块时要附加的示例策略。

```
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "rds:DescribeDBInstances",
        "rds:PromoteReadReplica",
        "rds:CreateDBInstanceReadReplica",
        "rds:ModifyDBInstance"
      ],
      "Resource": "*"
    }
  ]
}
```

# 手动审批执行块示例策略
<a name="security_iam_region_switch_manual_approval"></a>

以下是在手动审批的区域切换计划中添加执行块时要附加的示例策略。

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "arc-region-switch:ApprovePlanExecutionStep"
      ],
      "Resource": "arn:aws:arc-region-switch::123456789012:plan/sample-plan:0123abc"
    }
  ]
}
```

------

# 自定义操作 Lambda 执行块示例策略
<a name="security_iam_region_switch_lambda"></a>

 以下是在 Lambda 函数的区域切换计划中添加执行块时要附加的示例策略。

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "lambda:GetFunction",
        "lambda:InvokeFunction"
      ],
      "Resource": [
        "arn:aws:lambda:us-east-1:123456789012:function:app-recovery-primary",
        "arn:aws:lambda:us-west-2:123456789012:function:app-recovery-secondary"
      ]
    }
  ]
}
```

------

# Route 53 运行状况检查执行块示例策略
<a name="security_iam_region_switch_route53"></a>

 以下是在 Route 53 运行状况检查的区域切换计划中添加执行块时要附加的示例策略。

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "route53:ListResourceRecordSets"
      ],
      "Resource": [
        "arn:aws:route53:::hostedzone/Z1234567890ABCDEFGHIJ"
      ]
    }
  ]
}
```

------

# 区域切换计划执行块示例策略
<a name="security_iam_region_switch_plan_execution"></a>

 以下是在运行子计划的区域切换计划中添加执行块时要附加的示例策略。

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "arc-region-switch:StartPlanExecution",
        "arc-region-switch:GetPlanExecution",
        "arc-region-switch:CancelPlanExecution",
        "arc-region-switch:UpdatePlanExecution",
        "arc-region-switch:ListPlanExecutions"
      ],
      "Resource": [
        "arn:aws:arc-region-switch::123456789012:plan/child-plan-1/abcde1",
        "arn:aws:arc-region-switch::123456789012:plan/child-plan-2/fghij2"
      ]
    }
  ]
}
```

------

# CloudWatch 应用程序运行状况权限警报
<a name="security_iam_region_switch_cloudwatch"></a>

 以下是附加到应用程序运行状况访问 CloudWatch 警报的示例策略，这些警报用于帮助确定实际恢复时间。

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "cloudwatch:DescribeAlarmHistory",
        "cloudwatch:DescribeAlarms"
      ],
      "Resource": [
        "arn:aws:cloudwatch:us-east-1:123456789012:alarm:app-health-primary",
        "arn:aws:cloudwatch:us-west-2:123456789012:alarm:app-health-secondary"
      ]
    }
  ]
}
```

------

# 自动计划执行报告权限
<a name="security_iam_region_switch_reports"></a>

 以下是您为区域切换计划配置自动生成报告时要附加的示例策略。此政策包括向 Amazon S3 撰写报告、访问 CloudWatch 警报数据以及检索家长计划的子计划信息的权限。

```
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "s3:PutObject",
      "Resource": "arn:aws:s3:::your-bucket-name/*"
    },
    {
      "Effect": "Allow",
      "Action": [
        "cloudwatch:DescribeAlarms",
        "cloudwatch:DescribeAlarmHistory"
      ],
      "Resource": [
        "arn:aws:cloudwatch:us-east-1:123456789012:alarm:app-health-primary"
        "arn:aws:cloudwatch:us-west-2:123456789012:alarm:app-health-secondary"
      ],
    },
    {
      "Effect": "Allow",
      "Action": [
        "arc-region-switch:GetPlanExecution",
        "arc-region-switch:ListPlanExecutionEvents"
      ],
      "Resource": [
        "arn:aws:arc-region-switch:us-east-1:123456789012:plan/child-plan-1/abcde1",
        "arn:aws:arc-region-switch:us-west-2:123456789012:plan/child-plan-2/fghij2"
      ],
    }
  ]
}
```

 注意：如果您为 Amazon S3 存储桶加密配置客户托管密 AWS KMS 钥，则还必须为该密钥添加`kms:GenerateDataKey`和`kms:Encrypt`权限。

# 跨账户资源权限
<a name="security_iam_region_switch_cross_account"></a>

 如果资源位于不同的账户中，则需要跨账户角色。以下是跨账户角色的信任策略示例。

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "AWS": "arn:aws:iam::123456789012:role/RegionSwitchExecutionRole"
      },
      "Action": "sts:AssumeRole",
      "Condition": {
        "StringEquals": {
          "sts:ExternalId": "UniqueExternalId123"
        }
      }
    }
  ]
}
```

------

 以下是计划执行角色代入此跨账户角色所需的权限：

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "sts:AssumeRole",
      "Resource": "arn:aws:iam::987654321098:role/RegionSwitchCrossAccountRole",
      "Condition": {
        "StringEquals": {
          "sts:ExternalId": "UniqueExternalId123"
        }
      }
    }
  ]
}
```

------

# 完成计划执行角色权限
<a name="security_iam_region_switch_complete_policy"></a>

 要创建包含所有执行块权限的全面策略，则需要一个相当大的策略。实际上，您只应包括您在特定计划中使用的执行块的权限。

以下是您可用作计划执行角色策略起点的示例策略。请务必添加计划中包含的特定执行块所需的其他策略。仅包含您在计划中使用的特定执行块所需的权限，以遵循最低权限原则

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "iam:SimulatePrincipalPolicy",
            "Resource": "arn:aws:iam::123456789012:role/RegionSwitchExecutionRole"
        },
        {
            "Effect": "Allow",
            "Action": [
                "arc-region-switch:GetPlan",
                "arc-region-switch:GetPlanExecution",
                "arc-region-switch:ListPlanExecutions"
            ],
            "Resource": "*"
        }
    ]
}
```

------

# ARC 中区域切换的日志记录和监控
<a name="logging-and-monitoring-rs"></a>

您可以使用 Amazon CloudWatch 和 Amazon EventBridge 来监控 Amazon 应用程序恢复控制器 (ARC) 中的区域切换，以获取警报、分析模式并帮助解决问题。 AWS CloudTrail

**Topics**
+ [使用记录区域切换 API 调用 AWS CloudTrail](cloudtrail-region-switch.md)
+ [在亚马逊的 ARC 中使用区域切换 EventBridge](eventbridge-region-switch.md)

# 使用记录区域切换 API 调用 AWS CloudTrail
<a name="cloudtrail-region-switch"></a>

Amazon 应用程序恢复控制器 (ARC) 区域切换与 AWS CloudTrail一项服务集成，该服务提供用户、角色或 AWS 服务在 ARC 中采取的操作的记录。 CloudTrail 将 ARC 的所有 API 调用捕获为事件。捕获的调用包含来自 ARC 控制台的调用和对 ARC API 操作的代码调用。

如果您创建跟踪，则可以允许将 CloudTrail 事件持续传输到 Amazon S3 存储桶，包括 ARC 的事件。如果您未配置跟踪，您仍然可以在 CloudTrail 控制台的事件**历史记录中查看最新的事件**。

使用收集的信息 CloudTrail，您可以确定向 ARC 发出的请求、发出请求的 IP 地址、谁发出了请求、何时发出请求以及其他详细信息。

要了解更多信息 CloudTrail，请参阅[AWS CloudTrail 用户指南](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-user-guide.html)。

## ARC 信息在 CloudTrail
<a name="service-name-info-in-cloudtrail"></a>

CloudTrail 在您创建账户 AWS 账户 时已在您的账户上启用。当活动在 ARC 中发生时，该活动会与其他 AWS 服务 CloudTrail 事件一起记录在**事件历史**记录中。您可以在中查看、搜索和下载最近发生的事件 AWS 账户。有关更多信息，请参阅[使用 CloudTrail 事件历史记录](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/view-cloudtrail-events.html)。

要持续记录您的 AWS 账户事件（包括 ARC 的事件），请创建跟踪。*跟踪*允许 CloudTrail 将日志文件传输到 Amazon S3 存储桶。默认情况下，在控制台中创建跟踪记录时，此跟踪记录应用于所有 AWS 区域。跟踪记录 AWS 分区中所有区域的事件，并将日志文件传送到您指定的 Amazon S3 存储桶。此外，您可以配置其他 AWS 服务，以进一步分析和处理 CloudTrail 日志中收集的事件数据。有关更多信息，请参阅下列内容：
+ [创建跟踪记录概述](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-create-and-update-a-trail.html)
+ [CloudTrail 支持的服务和集成](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-aws-service-specific-topics.html)
+ [配置 Amazon SNS 通知 CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/configure-sns-notifications-for-cloudtrail.html)
+ [接收来自多个区域的 CloudTrail 日志文件](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/receive-cloudtrail-log-files-from-multiple-regions.html)和[接收来自多个账户的 CloudTrail 日志文件](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-receive-logs-from-multiple-accounts.html)

所有 ARC 操作均由记录 CloudTrail 并记录在 TBD API 参考链接中。例如，调用`TBD`和`TBD`操作会在 CloudTrail 日志文件中生成条目。`TBD`

每个事件或日志条目都包含有关生成请求的人员信息。身份信息有助于您确定以下内容：
+ 请求是使用根证书还是 AWS Identity and Access Management (IAM) 用户凭证发出。
+ 请求是使用角色还是联合用户的临时安全凭证发出的。
+ 请求是否由其他 AWS 服务发出。

有关更多信息，请参阅 [CloudTrail userIdentity 元素](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-event-reference-user-identity.html)。

## 在事件历史记录中查看区域切换事件
<a name="amazon-arc-events-in-cloudtrail-event-history-rs"></a>

CloudTrail 允许您在事件**历史记录中查看最近的事件**。区域切换 API 请求的大多数事件都发生在您使用区域切换计划的区域，例如，您创建计划或执行计划所在的区域。但是，您在 ARC 控制台中运行的某些区域切换操作是使用控制计划 API 操作而非数据面板操作进行的。对于控制面板操作，您可以查看美国东部（弗吉尼亚州北部）的事件。要了解哪些 API 调用是控制面板操作，请参阅[区域切换 API 操作](actions.region-switch.md)。

## 了解 ARC 日志文件条目
<a name="understanding-service-name-entries"></a>

跟踪是一种配置，允许将事件作为日志文件传输到您指定的 Amazon S3 存储桶。 CloudTrail 日志文件包含一个或多个日志条目。事件代表来自任何来源的单个请求，包括有关请求的操作、操作的日期和时间、请求参数等的信息。 CloudTrail 日志文件不是公共 API 调用的有序堆栈跟踪，因此它们不会按任何特定顺序出现。

以下示例显示了一个 CloudTrail 日志条目，该条目演示了区域切换的`StartPlanExecution`操作。

```
{
    "eventVersion": "1.11",
    "userIdentity": {
        "type": "AssumedRole",
        "principalId": "A1B2C3D4E5F6G7EXAMPLE",
        "arn": "arn:aws:iam::111122223333:role/admin",
        "accountId": "111122223333",
        "accessKeyId": "AKIAIOSFODNN7EXAMPLE",
        "sessionContext": {
            "sessionIssuer": {
                "type": "Role",
                "principalId": "AROA33L3W36EXAMPLE",
                "arn": "arn:aws:iam::111122223333:role/admin",
                "accountId": "111122223333",
                "userName": "EXAMPLENAME"
            },
            "attributes": {
                "mfaAuthenticated": "false",
                "creationDate": "2025-07-06T17:38:05Z"
            }
        }
    },
    "eventTime": "2025-07-06T18:08:03Z",
    "eventSource": "arc-region-switch.amazonaws.com",
    "eventName": "StartPlanExecution",
    "awsRegion": "us-east-1",
    "sourceIPAddress": "192.0.2.50",
    "userAgent": "Boto3/1.17.101 Python/3.8.10 Linux/4.14.231-180.360.amzn2.x86_64 exec-env/AWS_Lambda_python3.8 Botocore/1.20.102",
    "requestParameters": {
        "planArn": "arn:aws:arc-region-switch::555555555555:plan/CloudTrailIntegTestPlan:bbbbb",
        "targetRegion": "us-east-1",
        "action": "activate"    }
    "responseElements": {
        "executionId": "us-east-1/dddddddEXAMPLE",
        "plan": "arn:aws:arc-region-switch::555555555555:plan/CloudTrailIntegTestPlan:bbbbb",
        "planVersion": "1",
        "activateRegion": "us-east-1"    },
    "requestID": "fd42dcf7-6446-41e9-b408-d096example",
    "eventID": "4b5c42df-1174-46c8-be99-d67aexample",
    "readOnly": false,
    "eventType": "AwsApiCall",
    "managementEvent": true,
    "recipientAccountId": "111122223333",
    "eventCategory": "Management",
      "tlsDetails": {
        "tlsVersion": "TLSv1.3",
        "cipherSuite": "TLS_AES_128_GCM_SHA256",
        "clientProvidedHostHeader": "us-east-1.arc.amazon.aws"
}
```

# 在亚马逊的 ARC 中使用区域切换 EventBridge
<a name="eventbridge-region-switch"></a>

使用 Amazon EventBridge，您可以设置事件驱动的规则，在亚马逊应用程序恢复控制器 (ARC) 中监控您的区域切换资源，然后启动使用其他 AWS 服务的目标操作。例如，您可以设置一个规则，每当区域切换计划完成执行时，通过向 Amazon SNS 主题发信号来发送电子邮件通知。

您可以在 Amazon 中创建规则 EventBridge 来处理以下 ARC 区域切换事件：
+ *区域切换计划执行。*该事件表明区域切换计划已运行（已执行）。
+ *区域切换计划评估。*该事件表明区域切换计划评估已完成。

要捕获您感兴趣的特定 ARC 事件，请定义 EventBridge 可用于检测事件的特定事件模式。事件规律与它们匹配的事件具有相同的结构。模式引用了您要匹配的字段，并提供您所查找的值。

尽最大努力发出事件。在正常运行情况下，它们几乎实时 EventBridge 地从ARC交付。但是，可能会出现延迟或阻止事件交付的情况。

有关 EventBridge 规则如何处理事件模式的信息，请参阅[中的事件和事件模式 EventBridge](https://docs.aws.amazon.com//eventbridge/latest/userguide/eventbridge-and-event-patterns.html)。

## 使用监控区域切换资源 EventBridge
<a name="arc-eventbridge-tasks-readiness"></a>

借 EventBridge助，您可以创建规则，定义 ARC 为区域切换资源发出事件时要采取的操作。

要在 EventBridge 控制台中键入或复制并粘贴事件模式，请在控制台中选择 “**Enter my ow** n” 选项。为帮助确定对您有用的事件规律，本主题包括[区域切换模式示例](#arc-eventbridge-examples-region-switch)。

**要为资源事件创建规则**

1. 打开 Amazon EventBridge 控制台，网址为[https://console.aws.amazon.com/events/](https://console.aws.amazon.com/events/)。

1.  AWS 区域 要在其中创建规则，请选择您创建要监控其事件的计划的区域。

1. 选择 **Create rule (创建规则)**。

1. 输入规则的 **Name (名称)** 和“Description (描述)”（可选）。

1. 对于**事件总线**，保留默认值，即**默认**。

1. 选择**下一步**。

1. 对于**构建事件规律**步骤，对于**事件源**，保留默认值，即 **AWS 事件**。

1. 在**示例事件**下，选择**输入我自己的**。

1. 对于**示例事件**，键入或复制并粘贴事件规律。有关示例，请参阅下一节。

## 区域切换模式示例
<a name="arc-eventbridge-examples-region-switch"></a>

事件规律与它们匹配的事件具有相同的结构。模式引用了您要匹配的字段，并提供您所查找的值。

您可以将本节中的事件模式复制并粘贴 EventBridge 到中，以创建可用于监控 ARC 操作和资源的规则。

以下事件模式提供了一些示例，您可以在 ARC 中的 EventBridge 区域切换功能中使用这些示例。
+ *从 “区域切换” 中选择所有事件 PlanExecution*。

  ```
  {
      "source": [ "aws.arc-region-switch" ],
      "detail-type": [ "ARC Region switch Plan Execution" ] 
  }
  ```
+ *从 “区域切换” 中选择所有事件 PlanEvaluation*。

  ```
      	{
      	"source": [ "aws.arc-region-switch" ],
      	"detail-type": [ "ARC Region Switch Plan Evaluation" ] 
      	}
  ```

以下是*区域切换计划执行*的 ARC 事件示例：

```
{
  	"version": "0",
  	"id": "1111111-bbbb-aaaa-cccc-dddddEXAMPLE", # Random uuid
  	"detail-type": "ARC Region Switch Plan Execution",
  	"source": "aws.arc-region-switch",
  	"account": "111122223333",
  	"time": "2023-11-16T23:38:14Z",
  	"region": "us-east-1",
  	"resources": ["arn:aws:arc-region-switch::111122223333:plan/aaaaaExample"], # planArn
  	"detail": {
  		"version": "0.0.1",
  		"eventType": "ExecutionStarted",
  		"executionId": "bbbbbbEXAMPLE",
  		"executionAction": "activating/deactivating {region}",
  		"idempotencyKey": "1111111-2222-3333-4444-5555555555", # As there is a possibility of dual logging
  	}
}
```

以下是*区域切换计划步骤级别执行*的 ARC 事件示例：

```
{
  	"version": "0",
  	"id": "1111111-bbbb-aaaa-cccc-dddddEXAMPLE", # Random uuid
  	"detail-type": "ARC Region Switch Plan Execution",
  	"source": "aws.arc-region-switch",
  	"account": "111122223333",
  	"time": "2023-11-16T23:38:14Z",
  	"region": "us-east-1",
  	"resources": ["arn:aws:arc-region-switch::111122223333:plan/aaaaaExample"], # planArn
  	"detail": {
  		"version": "0.0.1",
  		"eventType": "StepStarted",
  		"executionId": "bbbbbbEXAMPLE",
  		"executionAction": "activating/deactivating {region}",
  		"idempotencyKey": "1111111-2222-3333-4444-5555555555", # As there is a possibility of dual logging
  		"stepDetails" : { 
  			"stepName": "Routing control step",
  			"resource": ["arn:aws:route53-recovery-control::111122223333:controlpanel/abcdefghiEXAMPLE/routingcontrol/jklmnopqrsEXAMPLE"]   
  		}
  	}
}
```

以下是*区域切换计划评估警告*的 ARC 事件示例：

对于区域切换计划评估，当返回警告时会发出一个事件。如果警告未被清除，则每 24 小时仅针对该警告发出一次事件。该事件清除后，不会针对该警告发出更多事件。

```
{
  	"version": "0",
  	"id": "05d4d2d5-9c76-bfea-72d2-d4614802adb4", # Random uuid
  	"detail-type": "ARC Region Switch Plan Execution",
  	"source": "aws.arc-region-switch",
  	"account": "111122223333",
  	"time": "2023-11-16T23:38:14Z",
  	"region": "us-east-1",
  	"resources": ["arn:aws:arc-region-switch::111122223333:plan/a2b89be4821bfd1d"],
  	"detail": {
    	"version": "0.0.1",
    	"idempotencyKey": "1111111-2222-3333-4444-5555555555",
    	"metadata": {
        "evaluationTime" : "timestamp",
        "warning" : "There is a plan evaluation warning for arn:aws:arc-region-switch::111122223333:plan/a2b89be4821bfd1d. Navigate to the Region switch console to resolve."
    	}  	
  	}
}
```

## 指定要用作目标的 CloudWatch 日志组
<a name="arc-eventbridge-cw-loggroup-rs"></a>

创建 EventBridge 规则时，必须指定将与该规则匹配的事件发送到哪个目标。有关可用目标的列表 EventBridge，请参阅[ EventBridge 控制台中的可用目标](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-targets.html#eb-console-targets)。您可以添加到 EventBridge 规则的目标之一是 Amazon CloudWatch 日志组。本节介绍将 CloudWatch 日志组添加为目标的要求，并提供了在创建规则时添加日志组的过程。

要将 CloudWatch 日志组添加为目标，可以执行以下操作之一：
+ 创建新日志组 
+ 选择现有日志组

如果您在创建规则时使用控制台指定了新的日志组，则 EventBridge 会自动为您创建该日志组。确保用作 EventBridge 规则目标的日志组以开头`/aws/events`。如果要选择现有的日志组，请注意，只有以 `/aws/events` 开头的日志组才会作为选项出现在下拉菜单中。有关更多信息，请参阅 *Amazon CloudWatch 用户指南*中的[创建新日志组](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/Working-with-log-groups-and-streams.html#Create-Log-Group)。

如果您使用控制台之外的 CloudWatch 操作创建或使用 CloudWatch 日志组作为目标，请确保正确设置权限。如果您使用控制台向 EventBridge 规则添加日志组，则该日志组的基于资源的策略会自动更新。但是，如果您使用 AWS Command Line Interface 或 S AWS DK 来指定日志组，则必须更新该日志组的基于资源的策略。以下示例策略说明了您必须在日志组的基于资源的策略中定义的权限：

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Action": [
        "logs:CreateLogStream",
        "logs:PutLogEvents"
      ],
      "Effect": "Allow",
      "Principal": {
        "Service": [
          "events.amazonaws.com",
          "delivery.logs.amazonaws.com"
        ]
      },
      "Resource": "arn:aws:logs:us-east-1:222222222222:log-group:/aws/events/*:*",
      "Sid": "TrustEventsToStoreLogEvent"
    }
  ]
}
```

------

您无法使用控制台为日志组配置基于资源的策略。要向基于资源的策略添加所需的权限，请使用 CloudWatch [PutResourcePolicy](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_PutResourcePolicy.html)API 操作。然后，您可以使用 [describe-resource-policies](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/logs/describe-resource-policies.html)CLI 命令来检查您的策略是否已正确应用。

**为资源事件创建规则并指定 CloudWatch 日志组目标**

1. 打开 Amazon EventBridge 控制台，网址为[https://console.aws.amazon.com/events/](https://console.aws.amazon.com/events/)。

1. 选择 AWS 区域 要在其中创建规则的。

1. 选择**创建规则**，然后输入有关该规则的所有信息，例如事件规律或计划详细信息。

   有关创建就绪性 EventBridge 规则的更多信息，请参阅[使用监控准备情况检查资源 EventBridge](eventbridge-readiness.md#RCEventBridgeCreateRule)。

1. 在 **“选择目标”** 页面上，选择**CloudWatch**作为您的目标。

1. 从下拉菜单中选择一个 CloudWatch 日志组。

# 区域切换配额
<a name="quotas.region-switch"></a>

Amazon 应用程序恢复控制器（ARC）中的区域切换受以下配额约束。


| 实体 | 配额 | 
| --- | --- | 
|  每个账户的计划数量  |  10 您可以[请求提高配额](https://console.aws.amazon.com/servicequotas/home?region=us-east-1#!/services/arc-region-switch/quotas)。  | 
|  每个计划的执行块数量  |  100  | 
|  每个计划的区域切换计划执行块数量  |  25  | 
|  每一步的并行执行块的数量  |  20  | 
|  每个触发条件的 CloudWatch 警报数量  |  10  | 