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

DNS层面实现流量镜像(Mirror traffic)至两个不同负载均衡器(load balancer)的可行性咨询

DNS层面实现流量镜像(Mirror traffic)至两个不同负载均衡器(load balancer)的可行性咨询

首先直接给结论:单纯依靠DNS原生机制,没办法实现你要的「同一个请求同时发送到生产和stage两个负载均衡器」的流量镜像效果。

为什么这么说呢?DNS的核心作用是把域名解析成对应的IP地址(或者AWS里的Alias指向负载均衡器)。哪怕你给Route53的子域名配置多个目标记录(比如两个Alias分别指向生产和stage的LB),这本质上是流量分流——比如轮询策略会把请求交替发到两个LB,基于客户端IP的策略会把同一客户端的请求固定发到其中一个LB,但任何一个请求都只会被路由到其中一个目标,不可能同时到达两个LB。这和你要的「镜像」(生产处理请求的同时,stage也收到完全相同的请求)根本不是一回事。

那怎么满足你的需求,同时又尽量避免额外性能损耗呢?推荐用AWS负载均衡器本身自带的流量镜像(Traffic Mirroring)功能,这是最适合你的方案:

  • 不管你用的是Application Load Balancer (ALB) 还是Network Load Balancer (NLB),AWS都支持直接在生产LB上配置镜像规则,指定stage的LB作为镜像目标。
  • 这个过程完全不需要修改设备上的域名,也不需要额外加中间代理层——流量复制是AWS内部网络层面完成的,性能开销极低,几乎不会影响生产流量的正常处理。
  • 你可以选择镜像所有流量,或者通过规则过滤只镜像特定路径/方法的请求,灵活性很高。

举个简单的操作逻辑:登录AWS控制台,找到你的生产ALB/NLB,进入「流量镜像」配置页面,添加一个镜像目标,选择stage环境的LB,设置好镜像比例(一般设100%就是全量镜像),保存后生效即可。之后设备发往生产的每个请求,都会被自动复制一份发到stage的LB上。

最后再强调下:DNS做不到真正的镜像,别在这上面浪费时间了,用AWS LB原生的镜像功能是最直接、性能影响最小的解决方案。

备注:内容来源于stack exchange,提问作者BUCKSHOT

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.17 10:54:52