我有一个ELB的连接耗尽。 根据http://docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/TerminologyandKeyConcepts.html#conn-drain上的文档, 取消注册或不健康的实例将保持现有的连接打开:
连接耗尽导致ELB负载均衡器停止向注销实例或不健康实例发送新请求,同时保持现有连接处于打开状态。
我想对ELB中的EC2节点进行一些维护。 这将是很好的优雅地把他们轮stream手动。 我尝试了健康检查失败并手动从ELB中删除EC2实例。 这两个操作都会终止与实例的现有连接。
我如何手动设置一个EC2实例来注销或不健康的状态,以便它将继续服务于现有的连接,但不接受新的连接?
您也许可以设置一个新的安全组,拒绝来自ELB的入站连接,但允许出站连接回来。
当需要执行维护时,可以将受影响的EC2实例切换到这个新的安全组,并等待其余的连接断开。
我不知道的唯一的事情是如果改变安全组将杀死现有的连接。 我不相信,但我还没有testing,以确定。
连接排水只适用于networking级别,ELB不知道你的会话状态。 请看这个旧的答案。 ELB是否耗尽tcp基础?