View a markdown version of this page

教程:创建 active/passive 区域切换计划 - Amazon 应用程序恢复控制器(ARC)

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

教程:创建 active/passive 区域切换计划

本教程将指导您为在 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 路由控制块

  • 执行区域切换计划

先决条件

开始本教程之前,请确认您在这两个区域都具有先决条件:

  • IAM 角色,具有适当的权限

  • EC2 Auto Scaling 群组

  • 用于维护页面和屏蔽的 Lambda 函数

  • Aurora Global Database

  • ARC 路由控制

步骤 1:创建区域切换计划

  1. 在区域切换控制台中,选择创建区域切换计划

  2. 提供以下详细信息:

    • 主要区域:选择 us-east-1

    • 备用区域:选择 us-west-2

    • 所需的恢复时间目标(RTO)(可选)

    • IAM 角色:输入计划执行 IAM 角色。此 IAM 角色允许在执行期间切换区域以呼叫 AWS 服务。

  3. 选择创建

(可选)将来自不同 AWS 账户的资源添加到您的区域切换套餐中:

  1. 创建跨账户角色:

    • 在托管资源的账户中,创建 IAM 角色。

    • 针对计划将要访问的特定资源添加权限。

    • 添加允许执行角色代入新该色的信任策略。

    • 输入并记下您将用作共享密钥的外部 ID。

  2. 在您的计划中配置资源:

    • 将资源添加到计划时,请指定另外两个字段:

      • 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 条件。

  • 有关配置跨账户角色的更多信息,请参阅跨账户资源权限

在执行计划之前,区域切换将验证以下内容:

  • 执行角色可以代入跨账户角色。

  • 跨账户角色具有所需的权限。

  • 外部 ID 与信任策略相匹配。

步骤 2:构建计划的工作流程和执行块

  1. 在区域切换计划详细信息页面中,选择构建工作流程

  2. 选择为所有区域构建相同的激活工作流程

  3. 输入区域激活工作流程描述(可选)。这将用于在执行计划时轻松识别工作流程。

  4. 选择 保存并继续

添加 EC2 Auto Scaling 执行块

有关此执行块的更多信息,请参阅亚马逊 EC2 Auto Scaling 群组执行块

  1. 选择添加步骤,然后选择按顺序运行

  2. 选择 EC2 Auto Scaling 执行块,然后选择添加和编辑。您可以借助此块开始增加被动区域的容量。

  3. 在右窗格中,配置块:

    • 步骤名称:输入“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 执行区块示例策略

  4. 选择保存步骤

添加手动批准执行块

有关此执行块的更多信息,请参阅手动审批执行块

  1. 选择添加步骤

  2. 选择手动批准审批执行块并将其添加到设计窗口。通过此块,您可以继续操作之前进行人工验证。

  3. 在右窗格中,配置块:

    • 步骤名称:输入“Manual approval before setup”

    • 步骤描述(可选)

    • IAM 批准角色:用户要批准执行所必需代入的角色

    • 超时(可选)。超时后,执行将暂停,您可以选择重试、跳过或取消。

    有关此执行块所需的 IAM 权限的信息,请参阅手动审批执行块示例策略

  4. 选择保存步骤

为维护页面添加自定义操作 Lambda 执行块

有关此执行块的更多信息,请参阅自定义操作 Lambda 执行块

  1. 选择添加步骤

  2. 选择自定义操作 Lambda 执行块,然后选择添加和编辑。此块将在要激活的区域中发布维护页面。

  3. 在右窗格中,配置块:

    • 步骤名称:输入“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 执行块示例策略

  4. 选择保存步骤

添加 Aurora 全球数据库执行块

有关此执行块的更多信息,请参阅Amazon Aurora Global Database 执行块

  1. 选择添加步骤

  2. 选择 Aurora Global Database 执行块,然后选择添加和编辑。此块会触发 Aurora Global Database 切换(不会丢失数据)。有关更多信息,请参阅《Aurora 用户指南》中的在 Aurora Global Database 中使用切换或失效转移

  3. 在右窗格中,配置块:

    • 步骤名称:输入 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 执行块示例策略

  4. 选择保存步骤

添加 ARC 路由控制执行块

有关此执行块的更多信息,请参阅ARC 路由控制执行块

  1. 选择添加步骤

  2. 选择 ARC 路由控制执行块,然后选择添加和编辑。此块执行 DNS 故障转移以将流量转移到被动区域。

  3. 在右窗格中,配置块:

    • 步骤名称:输入 Toggle DNS

    • 步骤描述(可选)

    • 激活 us-east-1 中使用的路由控制:选择添加路由控制

    • 超时:输入超时值。

  4. 选择添加路由控制

    • 路由控制 ARN:控制 us-east-1 的路由控制的 ARN

    • 路由控制状态:选择开启

  5. 再次选择添加路由控制

    • 路由控制 ARN:控制 us-west-2 的路由控制的 ARN

    • 路由控制状态:选择关闭

  6. 选择保存

  7. 激活 us-west-2 中使用的路由控制:选择添加路由控制

  8. 选择添加路由控制

    • 路由控制 ARN:控制 us-west-2 的路由控制的 ARN

    • 路由控制状态:选择开启

  9. 再次选择添加路由控制

    • 路由控制 ARN:控制 us-east-1 的路由控制的 ARN

    • 路由控制状态:选择关闭

  10. 选择保存

  11. 选择保存步骤

    有关此执行块所需的 IAM 权限的信息,请参阅ARC 路由控制执行块策略示例

  12. 选择保存

步骤 3:执行计划

  1. 在区域切换计划详细信息页面的右上角,选择执行

  2. 输入执行详细信息:

    • 选择要激活的区域。

    • 选择计划执行模式。

    • (可选)查看执行步骤。

    • 确认计划执行。

  3. 选择启动

  4. 您可以在执行详细信息页面上查看计划执行的详细信息步骤。您可以看到计划执行中的每个步骤,包括开始时间、结束时间、资源 ARN 和日志消息。

受影响区域恢复后,您可以再次执行计划(更改您提供的参数)以激活原始区域,将应用程序操作切换回原始主区域。