配置区域自动移位时的最佳实践 - Amazon Route 53 应用程序恢复控制器
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

配置区域自动移位时的最佳实践

在 Amazon Route 53 应用程序恢复控制器中启用区域自动切换时,请注意以下最佳做法和注意事项。

区域自动换档包括两种类型的交通换档:自动换档和练习跑分区换档。

  • 借 Amazon 助自动切换,可在活动期间代表您转移可用区的应用程序资源流量,从而缩短恢复时间。

  • 在练习跑中,Route 53 ARC 会代表你开始区域移动。区域转移将资源的流量从可用区域转移出来,然后按每周的节奏再次转移回来。练习运行可帮助您确保已为区域中的可用区纵向扩展了足够的容量,以便您的应用程序能够容忍丢失一个可用区。

对于自动换档和练习跑,需要记住几个最佳做法和注意事项。在启用可用区自动转移或为资源配置练习运行之前,请先阅读以下主题。

主题

限制客户端与您的终端保持连接的时间

当 Amazon Route 53 应用程序恢复控制器将流量从损坏中转移出去时,例如使用区域转移或区域自动切换,Route 53 ARC 用来转移应用程序流量的机制是 DNS 更新。DNS 更新会导致所有新连接都被定向到远离受损位置。但是,在客户端重新连接之前,具有已打开连接的客户端可能会继续向受损位置发出请求。为确保快速恢复,我们建议您限制客户端与您的终端保持连接的时间。

如果您使用 Application Load Balancer,则可以使用该keepalive选项来配置连接的持续时间。我们建议您降低该keepalive值,使其与应用程序的恢复时间目标保持一致,例如 300 秒。在选择keepalive时间时,请考虑此值是在更频繁地重新连接(这可能会影响延迟)和更快地将所有客户端从受损的可用区或区域移出受损的可用区或区域之间进行权衡。

有关为 Application Load Balancer 设置keepalive选项的更多信息,请参阅《Application Load Balancer 用户指南》中的 HTTP 客户端保持连接时长

预先扩展您的资源容量并测试流量的转移

当 Amazon 将流量从一个可用区转移出来进行区域转移或自动切换时,重要的是剩余的可用区能够满足更高的资源请求速率。这种模式称为静态稳定性。有关更多信息,请参阅 Amazon Builders' Library 中的“使用可用区的静态稳定性”白皮书

例如,如果您的应用程序需要 30 个实例来为其客户端提供服务,则应跨三个可用区预置 15 个实例,总共预置 45 个实例。通过这样做,当流量从一个可用区域 Amazon 转移出去时(使用自动换档或在练习运行期间),仍然Amazon 可以跨两个可用区为应用程序的客户端提供剩余的 30 个实例。

Route 53 ARC 中的区域自动切换功能可帮助您快速从可用区 Amazon 的事件中恢复,前提是您的应用程序的资源已预先缩放,可以在失去一个可用区的情况下正常运行。在为资源启用可用区自动转移之前,请在 Amazon Web Services 区域的所有已配置可用区中扩展您的资源容量。然后,对资源启动可用区转移,以测试当流量从可用区转移出去时,您的应用程序是否仍能正常运行。

使用可用区转移进行测试后,启用可用区自动转移并为应用程序资源配置练习运行。使用区域自动转移进行定期练习运行可帮助您持续确保容量仍得到适当扩展。由于跨可用区有足够的容量,您的应用程序可以在自动转移期间不间断地继续为客户端提供服务。

有关为资源启动可用区转移的更多信息,请参阅Amazon Route 53 应用程序恢复控制器中的可用区转移

注意资源类型和限制

可用区自动转移支持将由可用区转移支持的所有资源的流量移出可用区。通常,支持已关闭跨区负载均衡的网络负载均衡器和应用程序负载均衡器。在一些特定的资源场景中,可用区自动转移不会将流量从可用区转移出来进行自动转移。

例如,如果可用区中的负载均衡器目标组没有任何实例,或者所有实例都运行状况不佳,则负载均衡器进入打开失败状态。如果在这种情况下为负载均衡器 Amazon 启动自动切换,则自动切换不会更改负载均衡器使用的可用区,因为负载均衡器已经处于失效打开状态。这是预料之中的行为。 Amazon Web Services 区域 如果所有可用区都无法打开(不正常),Autoshift 不会导致一个可用区运行状况不佳,也不会将流量转移到其他可用区。

第二种情况是,如果为作为加速器端点的 Application Load Balancer Amazon 启动自动换档。 Amazon Global Accelerator与可用区转移一样,Global Accelerator 中作为加速器端点的应用程序负载均衡器不支持自动转移。

要查看有关受支持资源的详细信息(包括所有需要注意的要求和例外情况),请参阅可用区转移和可用区自动转移支持的资源

为练习跑指定警报

对于使用区域自动移位的练习跑,您至少要配置一个警报(结果警报)。或者,您也可以配置第二个警报(屏蔽警报)。

在考虑为资源练习跑配置的 CloudWatch 警报时,请记住以下几点:

  • 对于必需的结果警报,我们建议您将 CloudWatch 警报配置为在资源或应用程序的指标表明将流量从可用区转移出去会对性能产生不利影响时进入ALARM状态。例如,您可以确定资源的请求速率阈值,然后将警报配置为在超出该阈值时进入 ALARM 状态。您负责配置适当的警报,从而使 Amazon 结束练习运行并返回 FAILED 结果。

  • 我们建议您遵循架构Amazon 完善的框架,该框架建议您将关键绩效指标 (KPI) 作为警报来实现。 CloudWatch如果您这样做,则可以使用这些警报来创建复合警报以用作安全触发器,以防止在练习运行可能导致应用程序未达到 KPI 要求的情况下启动练习运行。当警报不再处于 ALARM 状态时,Route 53 ARC 将在下次为资源安排练习运行时启动练习运行。

  • 对于练习运行阻止警报,如果您选择对其进行配置,则可以选择跟踪用于指示您不想启动练习运行的特定指标。

  • 对于练习运行警报,您可以为每个警报指定亚马逊资源名称 (ARN),您必须先在 Amazon 中配置该名称。 CloudWatch您指定的 CloudWatch 警报可以是复合警报,这样您就可以为应用程序和资源添加多个指标和检查,从而触发警报进入ALARM状态。有关更多信息,请参阅 Amazon CloudWatch 用户指南中的合并警报

  • 确保您为练习跑指定的 CloudWatch 警报与您为其配置练习跑的资源位于同一区域。

评估练习跑的结果

Route 53 ARC 会报告每次练习运行的结果。练习跑后,评估结果,并确定是否需要采取行动。例如,您可能需要扩展容量或调整警报的配置。

以下是可能的练习运行结果:

  • 已成功:在练习运行期间,结果警报未进入 ALARM 状态,练习运行完成了整整 30 分钟的测试周期。

  • 已失败:在练习运行期间,结果警报进入了 ALARM 状态。

  • 已中断:练习运行结束的原因并非结果警报进入 ALARM 状态。练习运行可能因各种原因而中断,包括以下几个原因:

    • 练习跑之所以结束,是因为在该地区 Amazon 开始了自动换档 Amazon Web Services 区域 或者该地区出现了警报情况。

    • 练习运行之所以结束,是因为已删除资源的练习运行配置。

    • 练习运行之所以结束,是因为已为可用区中的资源启动客户发起的可用区转移,而练习运行可用区转移已将流量从可用区中转移出去。

    • 练习跑已结束,因为无法再访问为练习跑配置指定的 CloudWatch 警报。

    • 练习运行之所以结束,是由于为练习运行指定的阻止警报进入 ALARM 状态。

    • 练习运行因未知原因而结束。

  • 待处理:练习运行处于活动状态(正在进行中)。目前还没有结果可以返回。