【问题标题】:ELB health check behavior - Health ThresholdELB 健康检查行为 - 健康阈值
【发布时间】:2014-10-02 04:09:39
【问题描述】:

在设置 ELB 健康检查的对话框中指出:

如果一个实例没有通过健康检查,它会被自动移除 从负载均衡器。自定义健康检查以满足您的 具体需求。

我知道当运行状况检查失败时,它将从 ELB 后面删除实例。我的问题是围绕“健康阈值”设置。当您将鼠标悬停在那里的帮助上时,它会显示:

在声明 EC2 之前连续健康检查成功的次数 实例健康。

如果实例被声明为健康,它是否会被拉回负载均衡组?

【问题讨论】:

    标签: amazon-web-services amazon-elb


    【解决方案1】:

    这在一定程度上取决于您如何配置环境。

    例如,如果您使用 ELB 手动注册 EC2 实例...它将根据您的运行状况检查结果显示“InService”或“OutOfService”状态。除了决定是否将流量路由到 EC2 实例之外,此时不采取任何操作。 如果它是“OutOfService”,它可以通过超过您定义的健康阈值再次自动变为“InService”

    在这种情况下,您的“OutOfService”实例仍与负载均衡器相关联,但负载均衡器在恢复健康状态之前不会使用它。负载均衡器将继续 ping 您的实例,直到您手动从负载均衡器中删除该实例,或修复导致该实例停止服务的问题。

    但在其他情况下,负载均衡器将没有机会无限期地继续 ping 您的实例:

    • 如果您的运行状况不佳的实例是 has specified ELB health checks 的自动缩放组的成员,则会安排替换它。这将终止现有实例,并启动一个与您的 ELB 关联的新实例。

    • 如果您的实例在很长一段时间内处于 OutOfService 状态,它可能无法恢复服务。一个简单的解决方法是从负载均衡器中注销实例,然后重新注册。

    【讨论】:

    • 谢谢你的回答,但我还是有点困惑。你是说 ELB 永远不会从实例列表中物理删除失败的实例(这是我解释帮助文本的方式),而是只会停止向它发送流量?
    • 好的——刚刚做了一个测试,你是对的。它仅将状态设置为 OutOfService 或 InService。它不会从实例列表中物理删除节点。
    • @avvi 太棒了!澄清一下:终止实例实际上是一个单独的(但相关的)活动,与scaling 的关系比负载平衡更重要。 EC2 Auto Scaling 可以通过监控 ELB 健康检查并终止不健康的实例来与 ELB 集成。
    猜你喜欢
    • 2017-07-16
    • 2020-12-18
    • 2021-05-30
    • 2019-10-25
    • 2018-10-29
    • 2021-09-13
    • 2019-11-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多