Auto Scaling 组的区域偏移 - Amazon A EC2 uto Scaling
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

Auto Scaling 组的区域偏移

区域转移是 Amazon 应用程序恢复控制器 (ARC) 中的一项功能。通过区域切换,您只需一个操作即可快速从可用区中的应用程序损坏中恢复。当您为 Auto Scaling 组启用区域偏移时,该组将在 ARC 区域偏移服务中注册。然后,您可以使用、或 API 开始区域移动 Amazon Web Services Management Console Amazon CLI,Auto Scaling 组会将处于活动区域偏移状态的可用区视为受损。

Auto Scaling 分组区域偏移概念

在继续操作之前,请确保您熟悉以下与与 ARC 区域偏移集成相关的核心概念。

ARC 区域偏移

启用 Auto Scaling 功能后,Auto Scaling 可以将 Auto Scaling 组注册为 ARC 区域偏移。注册后,您可以使用 ARC ListManagedResources API 查看您的资源。有关更多信息,请参阅《Amazon 应用程序恢复控制器 (ARC) 开发人员指南》中的 ARC 中的区域偏移

可用区再平衡

Auto Scaling 会尝试保持每个可用区域的容量平衡。当可用区之间出现不平衡时,Auto Scaling 会自动尝试修复不平衡问题。有关更多信息,请参阅 实例分配

动态扩展

动态扩展会根据您在扩展策略中选择的指标来扩展 Auto Scaling 组的所需容量。有关更多信息,请参阅 Amazon A EC2 uto Scaling 的动态扩展

运行状况检查

Auto Scaling 会定期检查 Auto Scaling 组内所有实例的运行状况,以确保它们正在运行且状态良好。当检测到运行状况不佳的实例时,Auto Scaling 会将其标记为替换。有关更多信息,请参阅 自动扩缩组中实例的运行状况检查

实例刷新

您可以使用实例刷新以更新自动扩缩组中的实例。实例刷新开始后,Auto Scaling 会尝试替换 Auto Scaling 组中的所有实例。有关更多信息,请参阅 使用实例刷新更新自动扩缩组中的实例

已预先缩放

您可以容忍单个可用区的损失,因为剩余的可用区中有足够的容量供应用程序使用。

横向扩展

当您增加 Auto Scaling 组的所需容量时,Auto Scaling 会尝试启动其他实例以满足新的所需容量。默认情况下,Auto Scaling 以平衡的方式启动实例,以在 Auto Scaling 组中每个已启用的可用区域中保持相等的容量。

Auto Scaling 群组的区域偏移是如何运作的

假设您有一个包含以下可用区域的 Auto Scaling 组:

  • us-east-1a

  • us-east-1b

  • us-east-1c

您已在所有可用区域中启用区域移动,并注意到其中出现故障us-east-1a,因此可以触发区域偏移。当触发区域偏移时,会发生以下行为。us-east-1a

  • 向@@ 外扩展 — Auto Scaling 将在运行状况良好的可用区(us-east-1bus-east-1c)中启动所有新的容量请求。

  • 动态扩展 — Auto Scaling 将阻止扩展策略减少所有可用区域中的所需容量。Auto Scaling 不会阻止扩展策略增加所有可用区域中的所需容量。

  • 实例刷新 — Auto Scaling 将延长在区域偏移处于活动状态时延迟的任何实例刷新过程的超时时间。

下表描述了触发区域偏移时每个选项的运行状况检查行为。us-east-1a

可用区运行状况检查行为选择受损 Health Check 行为

替换不健康的

所有可用区(us-east-1aus-east-1bus-east-1c)中显示运行状况不佳的实例将被替换。

忽略不健康

显示为运行状况不佳的实例将在us-east-1bus-east-1c中替换。可用区中的实例不会被有效的区域移动 (us-east-1a) 所取代。

使用区域偏移的最佳实践

为了在使用区域转移时保持应用程序的高可用性,我们建议采用以下最佳实践:

  • 监控 EventBridge 通知以确定何时出现持续的可用区损坏事件。有关更多信息,请参阅 使用 EventBridge 处理 Auto Scaling 事件

  • 使用具有适当阈值的扩展策略,确保您有足够的容量来容忍可用区的损失。

  • 将实例维护策略设置为最低健康百分比为 100。使用此设置,Auto Scaling 会等待新实例准备就绪,然后再终止运行状况不佳的实例。

对于预先缩放的客户,我们还建议采取以下措施:

  • 选择 I gnore un healthy 作为受损可用区的运行状况检查行为,因为在受损事件期间,您无需更换运行状况不佳的实例。

  • 在 ARC 中为你的 Auto Scaling 组使用分区自动移位。ARC 中的区域自动切换功能允许在 Amazon 检测 Amazon 到可用区存在障碍时将资源的流量从可用区转移出去。有关更多信息,请参阅《A mazon 应用程序恢复控制器 (ARC) 开发人员指南》中的 ARC 中的区域自动切换

对于禁用跨区域负载均衡器的客户,我们还建议采取以下措施:

  • 仅在可用区分配中使用平衡

  • 如果您在 Auto Scaling 组和负载均衡器上都使用区域偏移,请先取消您的 Auto Scaling 组的区域偏移。然后,等待所有可用区域的容量均衡,然后再取消负载均衡器上的区域切换。

  • 由于启用区域转移并使用禁用跨区域的负载均衡器时可能会出现容量不平衡,因此 Auto Scaling 包含一个额外的验证步骤。如果您遵循最佳实践,则可以通过选中 Amazon Web Services Management Console 复选框或使用CreateAutoScalingGroupUpdateAutoScalingGroup、或中的skip-zonal-shift-validation标志来确认这种可能性AttachTrafficSources

有关在 Auto Scaling 群组中使用区域偏移的更多信息,请参阅 Amazon 计算博客在 Amazon Aut EC2 o Scaling 中使用区域偏移