Elastic Load Balancing
传统负载均衡器
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 Amazon AWS 入门

配置传统负载均衡器的空闲连接超时

对于客户端通过传统负载均衡器发出的每个请求,负载均衡器将维护两个连接。一个连接指向客户端,另一个连接指向已注册的 EC2 实例。对于每个连接,负载均衡器管理空闲超时,当在指定时间段内没有通过连接发送任何数据时,将触发空闲超时。超过空闲超时期限后,如果没有发送或接收任何数据,负载均衡器将关闭连接。

默认情况下,Elastic Load Balancing 将两个连接的空闲超时设置为 60 秒。因此,如果在请求过程中,实例未至少每 60 秒发送一些数据,负载均衡器可以关闭连接。为确保长时间运行的操作 (例如文件上传) 有足够时间来完成,请在到达每个空闲超时期限前发送至少 1 个字节的数据,并根据需要增大空闲超时期限的长度。

如果您使用 HTTP 和 HTTPS 侦听器,建议为实例启用 HTTP 保持活动选项。您可以在 Web 服务器设置或实例的内核设置中启用保持活动选项。启用保持活动选项后,负载均衡器可以重复使用与您的实例的连接,这可以减少 CPU 使用率。为确保由负载均衡器负责关闭与您的实例的连接,请确保设置的 HTTP 保持活动时间值大于负载均衡器上的空闲超时设置。

请注意,TCP 保持活动探测器不会阻止负载均衡器终止连接,因为它们不在有效负载中发送数据。

使用控制台配置空闲超时

使用以下过程设置负载均衡器的空闲超时。

配置负载均衡器的空闲超时设置

  1. 打开 Amazon EC2 控制台 https://console.amazonaws.cn/ec2/

  2. 在导航窗格上的 LOAD BALANCING 下,选择 Load Balancers

  3. 选择您的负载均衡器。

  4. Description 选项卡上,选择 Edit idle timeout

  5. Configure Connection Settings 页面上,键入 Idle timeout 的值。空闲超时的范围为 1 到 4,000 秒。

  6. 选择 Save

使用 AWS CLI 配置空闲超时

使用以下 modify-load-balancer-attributes 命令设置负载均衡器的空闲超时:

aws elb modify-load-balancer-attributes --load-balancer-name my-loadbalancer --load-balancer-attributes "{\"ConnectionSettings\":{\"IdleTimeout\":30}}"

以下为响应示例:

{ "LoadBalancerAttributes": { "ConnectionSettings": { "IdleTimeout": 30 } }, "LoadBalancerName": "my-loadbalancer" }