选择您的 Cookie 首选项

我们使用必要 Cookie 和类似工具提供我们的网站和服务。我们使用性能 Cookie 收集匿名统计数据,以便我们可以了解客户如何使用我们的网站并进行改进。必要 Cookie 无法停用,但您可以单击“自定义”或“拒绝”来拒绝性能 Cookie。

如果您同意,AWS 和经批准的第三方还将使用 Cookie 提供有用的网站功能、记住您的首选项并显示相关内容,包括相关广告。要接受或拒绝所有非必要 Cookie,请单击“接受”或“拒绝”。要做出更详细的选择,请单击“自定义”。

负载均衡一个层 - AWS OpsWorks

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

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

负载均衡一个层

重要

该 AWS OpsWorks Stacks 服务于 2024 年 5 月 26 日终止,新客户和现有客户均已禁用。我们强烈建议客户尽快将其工作负载迁移到其他解决方案。如果您对迁移有疑问,请通过 re AWS : Post 或通过 Pre mium Su AWS pp ort 与 AWS Support 团队联系。

AWS OpsWorks Stacks 提供了两个负载平衡选项,即 Elastic L oad Balancing 和 HAProxy,它们通常用于在应用服务器层的实例之间平衡负载。本主题介绍这两个选项各自的优点和限制,帮助您决定在向一个层添加负载均衡时应该选择哪个选项。在某些情况下,最佳方法是同时使用这两个选项。

SSL 终止

内置 HAProxy 层不处理 SSL 终止;您必须在服务器上终止 SSL。这种方法的好处是,通信内容在抵达服务器之前都是加密的。不过,服务器必须处理解密工作,这会增加服务器负载。另外,您必须将您的 SSL 证书放到应用服务器上,这样用户访问起来才更容易。

借助 Elastic Load Balancing,您可以在负载均衡器上终止 SSL。这会减少您应用服务器上的负载,但负载均衡器和服务器之间的通信不会经过加密。Elastic Load Balancing 还使您可以在服务器上终止 SSL,但是设置起来有点儿复杂。

扩展

如果传入流量超过 HAProxy 负载均衡器的容量,则必须手动增加其容量。

Elastic Load Balancing 会自动扩展以处理传入流量。要确保 Elastic Load Balancing 负载均衡器一上线就有足够能力处理预期的负载,您可以对其进行预热

负载均衡器故障

如果托管您的 HAProxy 服务器的实例出现故障,则可能会使您的整个站点处于离线状态,直到您可以重启该实例。

Elastic Load Balancing 的抗故障能力比 HAProxy. 例如,它在每个已注册 EC2 实例的可用区中配置负载平衡节点。如果在某区的服务中断,其他节点会继续处理输入通信量。有关更多信息,请参阅 Elastic Load Balancing Concepts

空闲超时

如果服务器空闲时间超过指定的空闲超时值,这两个负载均衡器都会终止连接。

  • HAProxy — 空闲超时值没有上限。

  • Elastic Load Balancing -空闲超时默认值为 60 秒,最高可达 3600 秒(60 分钟)。

Elastic Load Balancing 空闲时间限制对大多数目的来说是充足的。 HAProxy 如果您需要更长的空闲超时时间,我们建议您使用。例如:

  • 长期运行的 HTTP 连接,可用于推送通知。

  • 管理界面,可用于执行可能需要 60 分钟以上时间的任务。

基于 URL 的映射

您可能想要让负载均衡器基于输入请求的 URL 将该请求传递到特定的服务器。例如,假定您有十台应用服务器,这些服务器支持电子商务应用。其中八台服务器处理目录事项,剩余两台处理支付事项。您希望根据请求 URL 将所有与支付相关的 HTTP 请求定向到支付服务器。在这种情况下,您可以将所有 URLs 包括 “付款” 或 “结账” 的内容定向到其中一个支付服务器。

使用 HAProxy,您可以使用基于 URL 的映射将 URLs 包含指定字符串的指向特定服务器。要在 AWS OpsWorks Stacks 中使用基于 URL 的映射,必须通过覆盖内置食谱中的haproxy-default.erb模板来创建自定义 HAProxy 配置文件。haproxy有关更多信息,请参阅HAProxy 配置手册使用自定义模板。您不可以对 HTTPS 请求使用基于 URL 的映射。HTTPS 请求 HAProxy已加密,因此无法检查请求网址。

Elastic Load Balancing 对 URL 映射的支持有限。有关更多信息,请参阅 Elastic Load Balancing 的侦听器配置

建议:我们建议使用 Elastic Load Balancing 进行负载平衡,除非您的要求只能由来处理 HAProxy。在这种情况下,最好的方法可能是将 Elastic Load Balancing 用作前端负载均衡器,将传入流量分配到一组服务器,从而将两者 HAProxy 结合起来。要实现此目的,应按照以下步骤进行:

  • 在堆栈的每个可用区中设置一个 HAProxy 实例,将请求分发到该区域的应用程序服务器。

  • 将 HAProxy 实例分配给 Elastic Load Balancing 负载均衡器,然后由该负载均衡器将传入的请求分配给 HAProxy 负载均衡器。

这种方法允许您使用基于 URL HAProxy 的映射将不同类型的请求分发到相应的应用程序服务器。但是,如果其中一 HAProxy 台服务器离线,该站点将继续运行,因为 Elastic Load Balancing 负载均衡器会自动将传入流量分配到运行良好的 HAProxy 服务器。请注意,您必须使用 Elastic Load Balancing 作为前端负载均衡器; HAProxy 服务器无法将请求分发到其他 HAProxy 服务器。

隐私网站条款Cookie 首选项
© 2025, Amazon Web Services, Inc. 或其附属公司。保留所有权利。