ELB 连接排空配置
ELB Connection Draining Configuration
所以,我们有点迷失了使用 AWS ELB 连接耗尽功能。
我们有一个 Auto Scaling 组,我们有一个具有独立会话(每个实例上的会话)的应用程序。我们通过 HTTP 在端口 80 上配置了 ELB 侦听器,转发到端口 8080(这当然是部署应用程序的端口),我们创建了一个 LBCookieStickinessPolicy。我们还启用了 120 秒的连接耗尽。
- 我们想要的行为:
我们想缩减一个实例,但由于会话粘附到每个实例,我们希望 "maintain" 该会话持续 120 秒(或连接耗尽配置)。
- 我们的行为:
我们尝试过注销、设置为待机、终止、停止、设置为不健康的实例。但无论我们做什么,实例都会立即关闭,导致会话突然结束。此外,我们更改了 ELB 侦听器配置以通过 TCP 工作,但没有成功。
想法?
连接耗尽是指与客户端打开的 tcp 连接,它与您实例上的会话无关。如果您执行 TCP 直通而不是 http 侦听器,您也许可以使用 keep-alives 做一些事情。
最好的方法是设置要在您的实例之间共享的会话,然后在负载均衡器上禁用粘性。
所以,我们有点迷失了使用 AWS ELB 连接耗尽功能。 我们有一个 Auto Scaling 组,我们有一个具有独立会话(每个实例上的会话)的应用程序。我们通过 HTTP 在端口 80 上配置了 ELB 侦听器,转发到端口 8080(这当然是部署应用程序的端口),我们创建了一个 LBCookieStickinessPolicy。我们还启用了 120 秒的连接耗尽。
- 我们想要的行为: 我们想缩减一个实例,但由于会话粘附到每个实例,我们希望 "maintain" 该会话持续 120 秒(或连接耗尽配置)。
- 我们的行为: 我们尝试过注销、设置为待机、终止、停止、设置为不健康的实例。但无论我们做什么,实例都会立即关闭,导致会话突然结束。此外,我们更改了 ELB 侦听器配置以通过 TCP 工作,但没有成功。
想法?
连接耗尽是指与客户端打开的 tcp 连接,它与您实例上的会话无关。如果您执行 TCP 直通而不是 http 侦听器,您也许可以使用 keep-alives 做一些事情。
最好的方法是设置要在您的实例之间共享的会话,然后在负载均衡器上禁用粘性。