【问题标题】:When exactly is new instance being added into ELB?究竟什么时候将新实例添加到 ELB 中?
【发布时间】:2013-09-06 01:34:01
【问题描述】:

我已经使用自动缩放组运行 LBS,它可能会在每次需要时启动一个新实例(例如,在高负载期间)。

到目前为止,它仅根据 AMI id 启动新实例,但我想对我们的基础架构进行木偶化。我不想在每次更改后构建全新的 AMI。因此,我想将 AMI 与干净的操作系统 + 正确配置的 puppet 代理一起使用。

我正在努力寻找的是亚马逊何时(在哪一点)将新实例添加到负载均衡器中?显然我不希望将死机添加到 LB 中。 并且在应用整个 puppet 配置之前,机器可能会被认为是死机,这在启动后可能需要一些时间。

LB 是否只是等到该机器上的端口 80 可用,或者启动脚本中有任何命令确保所有服务都在运行,然后通过一些 API 通知 AWS 实际将自己添加到 LB 中?

【问题讨论】:

    标签: amazon-web-services load-balancing puppet


    【解决方案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

    【讨论】:

    • 这意味着,Web 服务器必须作为最后一件事启动(所有其他服务,如 memcache 等必须已经运行并正确配置)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-04-15
    • 2014-09-09
    • 2017-12-11
    • 2023-02-25
    • 2015-10-12
    • 2019-12-31
    • 1970-01-01
    相关资源
    最近更新 更多