经典负载均衡器的侦听器 - Elastic Load Balancing

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

经典负载均衡器的侦听器

在开始使用 Elastic Load Balancing 之前,您必须为经典负载均衡器配置一个或多个侦听器。侦听器是用于检查连接请求的进程。使用前端(客户端到负载均衡器)连接的协议和端口和后端(负载均衡器到后端实例)连接的协议和端口配置侦听器。

Elastic Load Balancing 支持以下协议:

  • HTTP

  • HTTPS(安全HTTP)

  • TCP

  • SSL(安全TCP)

该HTTPS协议使用该SSL协议在HTTP层上建立安全连接。您也可以使用该SSL协议在TCP层上建立安全连接。

如果前端连接使用TCP或SSL,则您的后端连接可以使用或TCP。SSL如果前端连接使用HTTP或HTTPS,则您的后端连接可以使用或HTTP。HTTPS

后端实例可以侦听端口 1-65535。

负载均衡器可以侦听以下端口:1–65535

协议

典型 Web 应用程序的通信可以穿过硬件和软件的各个分层。每层都会提供特定的通信功能。对通信功能的控制可依次由一层传递至下一层。开放系统互联 (OSI) 定义了一个模型框架,用于在这些层中实现标准通信格式(称为协议)。有关更多信息,请参阅维基百科中的OSI模型

使用 Elastic Load Balancing 时,您需要对分层 4 和分层 7 有基本的了解。第 4 层是传输层,它描述了客户端和您的后端实例之间通过负载均衡器建立的传输控制协议 (TCP) 连接。分层 4 是可为您的负载均衡器配置的最低分层。第 7 层是应用层,描述了超文本传输协议 (HTTP) 和HTTPS(安全HTTP)从客户端到负载均衡器以及从负载均衡器到您的后端实例的(安全)连接的使用情况。

安全套接字层 (SSL) 协议主要用于加密互联网等不安全网络上的机密数据。该SSL协议在客户端和后端服务器之间建立安全连接,并确保在您的客户端和服务器之间传递的所有数据都是私有和完整的。

TCP/SSL协议

当您同时使用TCP(第 4 层)进行前端和后端连接时,您的负载均衡器会在不修改标头的情况下将请求转发到后端实例。您的负载均衡器收到请求后,它会尝试在侦听器配置中指定的端口上打开与后端实例的TCP连接。

由于负载均衡器会拦截客户端与您的后端实例之间的流量,因此您的后端实例的访问日志中将包含负载均衡器的 IP 地址而不是原始客户端的 IP 地址。您可以启用代理协议,它会添加一个包含客户端的连接信息(如源 IP 地址、目标 IP 地址和端口号)的标头。该标头随后作为请求的一部分发送到后端实例。您可以解析请求的第一行来检索连接信息。有关更多信息,请参阅 为您的 Classic Load Balancer 配置代理协议

通过使用此配置,您将不会收到会话粘性或 X-Forwarded 标头的 Cookie。

HTTP/HTTPS协议

当您同时使用HTTP(第 7 层)进行前端和后端连接时,您的负载均衡器会先解析请求中的标头,然后再将请求发送到后端实例。

对于HTTP/HTTPS负载均衡器后面的每个已注册且运行良好的实例,Elastic Load Balancing 都会打开并维护一个或多个TCP连接。这些连接可确保始终有一个已建立的连接随时可以接收HTTP/HTTPS请求。

HTTP请求和HTTP响应使用标头字段来发送有关HTTP消息的信息。Elastic Load Balancing 支持 X-Forwarded-For 标头。因为负载均衡器会拦截客户端和服务器之间的流量,因此您的服务器访问日志中将仅含有负载均衡器的 IP 地址。要查看客户端的 IP 地址,请使用 X-Forwarded-For 请求标头。有关更多信息,请参阅 X-Forwarded-For

使用 HTTP /时HTTPS,可以在负载均衡器上启用粘性会话。粘性会话将用户的会话绑定到特定后端实例。这样可以确保在会话期间,来自同一用户的所有请求均将被发送到相同的后端实例中。有关更多信息,请参阅 为经典负载均衡器配置粘性会话

并非所有HTTP扩展都支持负载均衡器。如果负载均衡器由于意外方法、响应代码或其他非标准的 HTTP 1.0/1.1 实现而无法终止请求,则可能需要使用TCP侦听器。

HTTPS/SSL听众

您可以使用以下安全功能创建负载均衡器。

SSL服务器证书

如果您使用HTTPS或SSL进行前端连接,则必须在负载均衡器上部署 X.509 证书(SSL服务器证书)。负载均衡器先解密来自客户端的请求,然后再将请求发送到后端实例(称为SSL终止)。有关更多信息,请参阅 SSL/经典负载均衡器的TLS证书

如果您不希望负载均衡器处理SSL终止(称为SSL卸载),则可以同时TCP用于前端和后端连接,并在处理请求的注册实例上部署证书。

SSL谈判

Elastic Load Balancing 提供预定义的SSLSSL协商配置,用于在客户端和您的负载均衡器之间建立连接时进行协商。SSL协商配置提供了与各种客户端的兼容性,并使用称为密码的高强度加密算法。然而,某些使用案例可能需要对网络中的所有数据进行加密且只允许使用特定密码。某些安全合规性标准(例如PCISOX、等)可能需要客户端提供一组特定的协议和密码,以确保满足安全标准。在这种情况下,您可以根据自己的特定要求创建自定义SSL协商配置。您的密码和协议应在 30 秒内生效。有关更多信息,请参阅 SSL经典负载均衡器的协商配置

后端服务器身份验证

如果您使用HTTPS或SSL作为后端连接,则可以启用注册实例的身份验证。之后您即可使用身份验证过程来确保实例仅接受加密的通信,并确保每个已注册实例具有正确的公有密钥。

有关更多信息,请参阅配置后端服务器身份验证