Ski*_*kip 2 nlb amazon-web-services
问题:
当我在实例 10.141.80.140 上并卷曲 NLB 的 DNS 时,
我没有收到任何响应。
我希望 NLB 重定向到 10.141.80.140,但它没有发生。
当我在 10.141.80.140 上时,NLB DNS 仅不会重定向 - 重定向可以从同一子网中的其他实例进行
细节:
问题:
在 NLB 侦听器目标组中,有什么会阻止 NLB 解析实例的请求,该请求将路由回实例?
这是一个众所周知的行为,我很乐意解释。网络负载均衡器引入了源地址保留功能 - 传入连接的原始 IP 地址和源端口保持不变。当目标响应请求时,VPC 内部会捕获此数据包并将其转发到 NLB,后者将其转发到其目的地。
这种行为有一个副作用:当操作系统内核检测到出口数据包的目标地址是本地地址之一时,它会直接将此数据包转发给应用程序。
例如,给定以下组件:
后端实例的地址为 10.0.0.55,有一个 Web 服务器侦听端口 8080。它有一个安全组,允许所有传入的本地流量。
如果实例尝试与 NLB 建立通信;通信流程如下:
公共 NLB 不会发生这种情况,因为实例需要在 VPC 中执行 NAT 以使用其公共 IP 地址将请求发送到 NLB。内核不会在内部转发数据包。
最后,一种可能的解决方法是根据后端的 IP 地址而不是它们的实例 ID 来注册后端;使用这种方法,NLB 转发的流量将包含 NLB 内部 IP 作为源 IP,禁用“源地址保留”功能。不幸的是,如果您使用 AutoScaling Group 启动实例,则它只能通过其 ID 注册启动的实例。对于 ECS 任务,将网络配置为“awsvpc”会强制 NLB 通过其 IP 注册每个目标。
| 归档时间: |
|
| 查看次数: |
610 次 |
| 最近记录: |