配置经典负载均衡器的空闲连接超时
对于客户端通过经典负载均衡器发出的每个请求,负载均衡器将维护两个连接。前端连接位于客户端和负载均衡器之间。后端连接位于负载均衡器和注册的 EC2 实例之间。负载均衡器具有应用于其连接的已配置空闲超时期限。超过空闲超时期限后,如果没有发送或接收任何数据,负载均衡器将关闭连接。为确保长时间运行的操作 (例如文件上传) 有足够时间来完成,请在到达每个空闲超时期限前发送至少 1 个字节的数据,并根据需要增大空闲超时期限的长度。
如果您使用 HTTP 和 HTTPS 侦听器,建议为实例启用 HTTP 保持活动选项。您可以在 实例的 Web 服务器设置中启用 保持活动选项。启用保持活动选项后,可使负载均衡器重复使用后端连接,直到保持活动超时过期。为确保由负载均衡器负责关闭与您的实例的连接,请确保设置的 HTTP 保持活动时间值大于为负载均衡器配置的空闲超时设置。
请注意,TCP 保持活动探测器不会阻止负载均衡器终止连接,因为它们不在有效负载中发送数据。
使用控制台配置空闲超时
默认情况下,Elastic Load Balancing 将负载均衡器的空闲超时设置为 60 秒。使用以下过程为空闲超时设置不同的值。
配置负载均衡器的空闲超时设置
-
通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/
。 -
在导航窗格上的 Load Balancing(负载均衡)下,选择 Load Balancers(负载均衡器)。
-
选择您的负载均衡器。
-
在 Description 选项卡上,选择 Edit idle timeout。
-
在 Configure Connection Settings 页面上,键入 Idle timeout 的值。空闲超时的范围为 1 到 4,000 秒。
-
选择 Save。
使用 Amazon 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"
}