我已经运行了带自动缩放组的LBS,它可能会在每次必要时启动一个新实例(例如,在高负载期间)。
截至目前,它仅基于AMI id旋转新实例,但我想将我们的基础设施傀儡化。每次改变后我都不想建立全新的AMI。因此,我想将AMI与干净的OS +正确配置的木偶代理一起使用。
我正在努力寻找的是当(实际上)亚马逊实际将新实例添加到负载均衡器时?显然我不希望将死机添加到LB. 在应用整个puppet配置之前,机器可能被视为死机,启动后可能需要一些时间。
LB是否只等到该机器上的端口80可用,或者引导脚本中是否有任何命令,这确保所有服务都在运行,然后通过某些API通知AWS实际将其自身添加到LB中?
答案 0 :(得分:1)
你有几个选择。您可以通过TCP端口在实例上设置运行状况检查,也可以ping目标URL。这是在ELB本身的健康检查部分(在gui中)配置的。
如果您要使用ping选项:如果您的实例在端口80 / index.html上可用,则运行状况检查将失败,直到该页面启动并可用。一旦index.html页面可用,它将被列为“在服务中”,然后ELB将流量引导到它。
如果您选择了TCP选项:基本上,只要实例启动并且安全组已添加到该选项,负载均衡器就会将该实例视为“在服务中”。
您可能希望为特定用例选择ping选项
以下是有关此主题的一些其他文档:http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/as-add-elb-healthcheck.html