本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
网络负载均衡器
Network Load Balancer 是客户的单一联系点。客户端向网络负载均衡器发送请求,网络负载均衡器将请求发送到一个或多个可用区域中的目标,例如EC2实例。
要配置 Network Load Balancer,您需要创建目标组,然后向目标组注册目标。如果您确保每个已启用的可用区都至少有一个注册目标,则您的网络负载均衡器最为有效。您还可以创建侦听器来检查来自客户端的连接请求,并将来自客户端的请求路由到目标组中的目标。
网络负载均衡器支持客户端通过对VPC等互连VPN AWS Direct Connect、 AWS 托管和第三方VPN解决方案进行连接。
内容
负载均衡器状态
Network Load Balancer 可能处于以下状态之一:
provisioning
-
Network Load Balancer 正在设置中。
active
-
Network Load Balancer 已完全设置完毕,可以路由流量。
failed
-
无法设置 Network Load Balancer。
IP 地址类型
您可以设置客户端可以在您的 Network Load Balancer 上使用的 IP 地址类型。
网络负载均衡器支持以下 IP 地址类型:
ipv4
-
客户端必须使用IPv4地址(例如 192.0.2.1)连接到 Network Load Balancer。IPv4已启用网络负载均衡器(面向互联网和内部)支持TCPUDPUDP、TCP _ 和侦听器。TLS
dualstack
-
客户端可以使用地址(例如 192.0.2.1)和IPv4IPv6地址(例如,2001:0 db 8:85 a 3:0:0:8 a2e:0370:7334)连接到 Network Load Balancer。支持 Dualstack 的网络负载均衡器(面向互联网和内部)支持和侦听器。TCP TLS
注意事项
-
Network Load Balancer 根据目标组的 IP 地址类型与目标通信。
-
当你为网络负载均衡器启用双栈模式时,Elastic Load Balancing 会为网络负载均衡器提供AAAADNS记录。使用IPv4地址与 Network Load Balancer 通信的客户端会解析 A DNS 记录。使用IPv6地址与 Network Load Balancer 通信的客户端会解析AAAADNS记录。
-
为了防止意外访问互联网,禁止通过互联网网关访问您的内部 dualstack Network Load Balancer。但是,这并不能阻止其他互联网访问(例如,通过对等互连、Transit Gateway 或 AWS VPN)。 AWS Direct Connect
-
有关 IP 地址类型的更多信息,请参阅更新 Network Load Balancer 的 IP 地址类型。
连接空闲超时
对于客户端通过 Network Load Balancer 发出的每个TCP请求,都会跟踪该连接的状态。如果客户端或目标通过连接发送数据的间隔超过空闲超时期限,则连接将关闭。如果客户机或目标在空闲超时时间过后发送数据,则它会收到一个TCPRST数据包,表明该连接已失效。
我们将TCP流的空闲超时值设置为 350 秒。您无法修改此值。客户端或目标可以使用 TCP keepalive 数据包来重置空闲超时。为维护TLS连接而发送的 Keepalive 数据包不能包含数据或有效负载。
当TLS侦听器收到来自客户端或目标的 TCP keepalive 数据包时,Network Load Balancer 会生成 TCP keepalive 数据包,并每 20 秒将它们发送到前端和后端连接。您不能修改此行为。
当网络负载均衡器UDP处于无连接状态时,Network Load Balancer 会根据源和目标 IP 地址和端口保持UDP流量状态。这可确保属于同一个流中的数据包始终发送到相同的目标。空闲超时时间过后,Network Load Balancer 会将传入UDP的数据包视为新流,并将其路由到新的目标。Elastic Load Balancing 将UDP流的空闲超时值设置为 120 秒。
EC2实例必须在 30 秒内响应新请求才能建立返回路径。
负载均衡器属性
以下是网络负载均衡器的负载均衡器属性:
access_logs.s3.enabled
-
指示是否启用存储在 Amazon S3 中的访问日志。默认为
false
。 access_logs.s3.bucket
-
访问日志所用的 Amazon S3 存储桶的名称。如果启用访问日志,则此属性是必需的。有关更多信息,请参阅 存储桶要求。
access_logs.s3.prefix
-
Amazon S3 存储桶中位置的前缀。
deletion_protection.enabled
-
指示是否启用删除保护。默认为
false
。 ipv6.deny_all_igw_traffic
-
阻止互联网网关 (IGW) 访问网络负载均衡器,防止通过互联网网关意外访问您的内部网络负载均衡器。
false
对于面向 Internet 的网络负载均衡器和内部网络负载均衡器,true
该值设置为。此属性不阻止非IGW互联网访问(例如,通过对等互连、Transit Gateway 或 AWS VPN)。 AWS Direct Connect load_balancing.cross_zone.enabled
-
指示是否启用了跨可用区负载均衡。默认为
false
。 dns_record.client_routing_policy
-
表示流量在网络负载均衡器可用区域之间的分布情况。可能的值为
availability_zone_affinity
(100% 可用区亲和性)、partial_availability_zone_affinity
(85% 可用区亲和性)和any_availability_zone
(0% 可用区亲和性)。
跨可用区负载均衡
默认情况下,每个 Network Load Balancer 节点仅在其可用区内的注册目标之间分配流量。如果您开启跨区域负载均衡,则每个 Network Load Balancer 节点将在所有已启用的可用区域中的注册目标之间分配流量。您也可以开启目标组级别的跨区域负载均衡。有关更多信息,请参阅 Elastic Load Balancing 用户指南中的 目标组的跨区域负载均衡 和跨区域负载均衡。
DNS名字
每个 Network Load Balancer 都会收到一个默认的域名系统 (DNS) 名称,其语法如下:name
-id
.elb。region
.amazonaws.com。例如, my-load-balancer-1234567890abcdef。elb.us-east-2.amazonaws.com。
如果您希望使用更易于记忆的DNS名称,则可以创建一个自定义域名并将其与 Network Load Balancer 的DNS名称相关联。当客户端使用此自定义域名发出请求时,DNS服务器会将其解析为 Network Load Balancer 的DNS名称。
首先,向经认可的域名注册商注册域名。接下来,使用您的DNS服务(例如域名注册商)创建DNS记录,将请求路由到您的 Network Load Balancer。有关更多信息,请参阅您的DNS服务文档。例如,如果您使用 Amazon Route 53 作为DNS服务,则会创建指向您的网络负载均衡器的别名记录。有关更多信息,请参阅 Amazon Route 53 开发人员指南中的将流量路由到ELB负载均衡器。
Network Load Balancer 的每个已启用的可用区都有一个 IP 地址。这些是 Network Load Balancer 节点的 IP 地址。Network Load Balancer 的DNS名称解析为这些地址。例如,假设您的 Network Load Balancer 的自定义域名是example.networkloadbalancer.com
。使用以下nslookup命令dig或命令确定 Network Load Balancer 节点的 IP 地址。
Linux 或 Mac
$
dig +short
example.networkloadbalancer.com
Windows
C:\>
nslookup
example.networkloadbalancer.com
Network Load Balancer 有其节点的DNS记录。您可以使用具有以下语法的DNS名称来确定 Network Load Balancer 节点的 IP 地址:az
.name
-id
.elb。region
.amazonaws.com。
Linux 或 Mac
$
dig +short
us-east-2b.my-load-balancer-1234567890abcdef.elb.us-east-2.amazonaws.com
Windows
C:\>
nslookup
us-east-2b.my-load-balancer-1234567890abcdef.elb.us-east-2.amazonaws.com