【问题标题】:Is there a way to trigger a dynamic policy based on the number of connections?有没有办法根据连接数触发动态策略?
【发布时间】:2021-12-13 23:33:59
【问题描述】:

我有一个 Auto Scaling 组,我想根据我的服务器接收的连接数设置动态扩展策略。

这些服务器都在负载均衡器后面,我想根据平均连接数增加/减少服务器数量。

我尝试使用动态策略Application Load Balancer request count per target,但我的负载均衡器是网络负载均衡器,而不是应用程序负载均衡器,所以我无法让它工作。 (但它似乎是完美的)。

如何设置我的动态策略以根据连接数触发向上/向下?

【问题讨论】:

    标签: amazon-web-services autoscaling


    【解决方案1】:

    RequestCountPerTarget 指标是指对目标的平均 HTTP 请求数。由于网络负载均衡器是第 4 层设备,它们不知道 HTTP/HTTPS 或任何其他更高层协议。显然,他们可以路由 HTTP,因为 HTTP 是在 TCP 上运行的,但他们无法理解 HTTP 协议本身。

    据我所知,网络负载均衡器提供的RequestCountPerTarget 没有类似的指标。我们可以采取以下措施来克服这个问题:

    1. 从我们的后端为每个目标创建一个自定义指标,计算 HTTP 请求的数量。该指标可以是published to CloudWatch,可以用作自动缩放的输入。
    2. 为每个请求发布一个日志条目,并从日志中发布create a metric filter。虽然这不需要在后端更改代码,但拥有大量流量可能会导致日志流非常嘈杂,并且还会通过在 CloudWatch 中摄取大量分支条目而显着增加成本。

    【讨论】:

    • 感谢您提供的信息,事实上,我同意您关于 TCP 平衡器与 HTTP 的对比。现在,我为每个连接向 Cloudwatch 发送一个“计数”事件,但我估计我的事件大约是每小时 250k,所以每月大约是 186M。这在 Cloudwatch 将花费大约 186 美元,我想减少这个。你的第二个选项有点像。
    • 我目前最好的选择是每分钟在服务器上运行一个脚本,并使用 netstat 计算打开的连接数并发送该数字。
    猜你喜欢
    • 2020-09-22
    • 2011-11-05
    • 2021-09-26
    • 1970-01-01
    • 2011-04-30
    • 1970-01-01
    • 2012-03-02
    • 1970-01-01
    • 2016-04-26
    相关资源
    最近更新 更多