本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
Amazon EC2 Auto Scaling 中的恢复功能
AWS 全球基础设施围绕 AWS 区域和可用区构建。AWS 区域提供多个在物理上独立且隔离的可用区,这些可用区与延迟率低、吞吐量高且冗余性高的网络连接在一起。利用可用区,您可以设计和操作在可用区之间无中断地自动实现失效转移的应用程序和数据库。与传统的单个或多个数据中心基础设施相比,可用区具有更高的可用性、容错性和可扩展性。
有关 AWS 区域和可用区的更多信息,请参阅 AWS 全球基础设施
要从可用区设计的地理冗余中获益,请执行以下操作:
-
在多个可用区之间跨越您的自动扩缩组。
-
在每个可用区内至少维护一个实例。
-
附加负载均衡器以在同一可用区之间分配传入流量。如果您使用应用程序负载均衡器,则请通过启用跨区域负载均衡来确保每个 EC2 实例获得相似的流量。这有助于限制失效转移事件期间增加的负载对现有实例的影响,并比没有跨区域负载平衡时具有更高的弹性。
-
确保正确配置了 Elastic Load Balancing 运行状况检查,并在自动扩缩组上启用了这些检查。然后,如果实例的运行状况检查失败,则 Elastic Load Balancing 会停止向其发送流量并将流量重新路由到运行状况良好的实例,而 Amazon EC2 Auto Scaling 会替换运行状况不佳的实例。
Amazon EC2 Auto Scaling 通过以下方式帮助支持您的应用程序弹性需求:
-
检查实例是否存在运行状况和可访问性问题。如果某个实例运行状况不佳,则它将自动终止该实例,并启动新实例。
-
如果动态扩展策略生效,则根据传入流量自动扩展容量。
-
检测支持扩展策略的 Amazon CloudWatch 指标的可靠性问题,并在缺乏可靠性指标(例如缺少数据点)时暂停横向缩减活动。
-
尝试在您的组扩展时在每个已启用的可用区中维持相同数量的实例。
-
使用可用区以保持高可用性。当可用区运行状况不佳时,Amazon EC2 Auto Scaling 将执行以下操作:
-
在为自动扩缩组启用的其他可用区中启动新实例。
-
当运行状况不佳的可用区恢复正常状态时,在所有已启用的可用区中重新分配实例。
-
-
如果某个实例无法在指定的可用区中启动,则继续尝试在其他已启用的可用区中启动实例。
-
自动向与自动扩缩组关联的负载均衡器注册和取消注册实例。这样,您无需单独注册和取消注册实例。
-
Amazon EC2 Auto Scaling 服务 API 的控制面板中断不会影响现有自动扩缩组的扩缩。
相关资源
有关 Amazon EBS 提供的帮助支持数据弹性需求的功能的信息,请参阅《Amazon EBS User Guide》中的 Resilience in Amazon Elastic Block Store。