You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Network Load Balancer时如何基于连接数触发ASG动态扩缩容策略?

针对Network Load Balancer后端ASG的平均连接数动态扩缩容配置方案

Network Load Balancer(NLB)本身没有提供Application Load Balancer那样的预置请求数 per target扩缩容指标,但可以通过NLB自带的CloudWatch流指标配合ASG的自定义动态策略实现需求,具体配置方式如下:

步骤1:确认NLB目标组指标正常上报

NLB默认会向CloudWatch上报连接数相关指标,先确认数据正常:

  • 打开CloudWatch控制台,进入「指标」-「所有指标」,选择AWS命名空间 AWS/NetworkELB
  • 按「Target Group」维度筛选,找到ASG绑定的目标组对应的两个核心指标:
    • ActiveFlowCount:统计周期内的平均活跃连接数,适合长连接场景的扩缩容依据
    • NewFlowCount:统计周期内的平均新建连接数,适合短连接场景的扩缩容依据
  • 确认对应指标有连续数据上报即可。

步骤2:配置动态扩缩容策略

推荐优先选择目标跟踪策略,和你之前使用的ALB请求数策略逻辑一致,无需手动配置告警,ASG会自动调整实例数将指标维持在目标值附近:

  1. 进入EC2控制台对应Auto Scaling Group的详情页,切换到「自动扩缩」标签
  2. 点击「创建动态扩缩容策略」,策略类型选择「目标跟踪策略」
  3. 指标来源选择「自定义指标」,按以下参数填写:
    • 指标命名空间:AWS/NetworkELB
    • 指标名称:根据业务场景选ActiveFlowCount/NewFlowCount
    • 维度添加:TargetGroup = 你的目标组ARN、LoadBalancer = 你的NLB ARN
    • 统计方式:Average(平均值)
    • 目标值:填写你期望的单实例平均连接数阈值,例如预期单实例最大承载200个活跃连接,就填200
    • 勾选「将指标数据除以实例组大小」,该选项会自动将目标组总连接数除以当前ASG实例数,计算出单实例平均连接数,完全匹配你的需求
  4. 根据业务特性设置扩缩容冷却时间,保存策略即可。

如果需要自定义不同阈值对应不同的扩缩容步长,可以选择步进扩缩容方案:先在CloudWatch分别配置扩容、缩容的连接数阈值告警,再到ASG中绑定告警、设置对应扩缩容的实例数量/比例即可。

注意事项

  • NLB指标默认采集粒度为1分钟,可根据业务对扩缩容灵敏度的需求调整策略的评估周期
  • 缩容冷却时间建议设置得比扩容更长,避免业务波动导致实例频繁上下线
  • 配置完成后建议通过压测工具模拟连接数上涨,验证扩缩容逻辑是否符合预期

内容的提问来源于stack exchange,提问作者Cyril N.

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 03:45:04