我编写了一个自定义发布脚本来管理EC2自动扩展应用程序的版本。处理工作如此......
这一切都运行得很好,除非每次运行时,对ELB的监视都会显示很多后端连接错误。
我不知道为什么会发生这种情况,因为如果为ELB启用“连接耗尽”选项(它是),它应该(基于我的理解)仍然是服务当前连接。
我想也许ASG在连接完成之前终止了实例,所以我改变了我的脚本,首先从ELB注销实例,然后等待一段时间再更改ASG的所需容量。然而,这没有任何区别。一旦实例从ELB注销(即使它们仍在运行且运行正常),也会发生后端连接错误。
似乎它忽略了连接耗尽选项,只是在实例取消注册后立即删除连接。
这是我用来取消注册实例的命令......
aws elb deregister-instances-from-load-balancer --load-balancer-name $elb_name --instances $old_instances
在从ASG中删除实例之前,是否有一些首选方法可以从ELB中正常删除实例?
答案 0 :(得分:2)
进一步调查表明发生了后端连接错误,因为当从ELB中删除旧实例时,新实例尚未准备好承担全部负载。它们很健康,但似乎需要更多的变暖。
我正在调整运行状况检查设置,以便在开始尝试提供请求之前为实例提供更多时间。我可能还需要更改apache2设置以更快地准备好它们。