一、传统负载均衡器概述

负载均衡器在多个可用区中的多个 EC2 实例间分配应用程序的传入流量。这可以提高应用程序的容错能力。Elastic Load Balancing 将检测不正常实例,并且仅将流量路由到正常实例。

  • 可以根据需求变化在负载均衡器中添加和删除实例,而不会中断应用程序的整体请求;
  • Elastic Load Balancing 根据传输到应用程序的流量随时间的变化对负载均衡器进行扩展;
  • Elastic Load Balancing 能够自动扩展以处理绝大部分工作负载。
  • 侦听器使用配置的协议和端口来检查来自客户端的连接请求,并使用配置的协议和端口号将请求转发到一个或多个注册实例。可以向负载均衡器添加一个或多个侦听器。
  • 要确保注册实例能够处理每个可用区中的请求负载,每个可用区中向负载均衡器注册的实例的数量必须大致相同。
  • 默认情况下,负载均衡器在为负载均衡器启用的可用区之间均匀分配流量。

二、内部传统负载均衡器

内部负载均衡器的节点只有私有 IP 地址。内部负载均衡器的 DNS 名称可公开解析为节点的私有 IP 地址。因此,内部负载均衡器可路由的请求只能来自对负载均衡器的 VPC 具有访问权限的客户端。

   如果应用程序具有多个层 (例如,必须连接到 Internet 的 Web 服务器和只连接到 Web 服务器的数据库服务器),则可以设计一个同时使用内部负载均衡器和面向 Internet 的负载均衡器的架构。创建一个面向 Internet 的负载均衡器并向其注册 Web 服务器。创建一个内部负载均衡器并向它注册数据库服务器。Web 服务器接收来自面向 Internet 的负载均衡器的请求,并将数据库服务器的请求发送到内部负载均衡器。数据库服务器接收来自内部负载均衡器的请求。

亚马逊的负载均衡配置域名_亚马逊的负载均衡配置域名


  在创建内部负载均衡器后,它将接收以下格式的公有 DNS 名称:

internal-name-123456789.region.elb.amazonaws.com

DNS 服务器将负载均衡器的 DNS 名称解析为内部负载均衡器的负载均衡器节点的私有 IP 地址。每个负载均衡器节点均通过弹性网络接口连接到后端实例的私有 IP 地址。如果启用了跨区域负载均衡,则每个节点都将连接到每个后端实例,而不考虑可用区。否则,每个节点仅连接到其可用区内的实例。

三、侦听器

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

安全套接字层 (SSL) 协议主要用于对通过不安全网络 (如 Internet) 传输的机密数据进行加密。SSL 协议在客户端与后端服务器之间建立安全连接,确保在客户端和服务器之间传递的所有数据都是私有且完整的。

1、TCP/SSL 协议
  如果在前端和后端连接中均使用 TCP (分层 4),负载均衡器会将请求转发到后端实例,而不修改标头。负载均衡器收到请求之后,会尝试在侦听器配置中指定的端口上打开与后端实例的 TCP 连接。

2、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 请求标题。

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

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

3、HTTPS/SSL 侦听器

如果前端连接使用 HTTPS 或 SSL,则必须在负载均衡器上部署 X.509 证书 (SSL 服务器证书)。负载均衡器先解密来自客户端的请求,然后再将请求发送到后端实例 (称为 SSL 终端)。

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

亚马逊的负载均衡配置域名_ELB_02

亚马逊的负载均衡配置域名_亚马逊的负载均衡配置域名_03