我正在尝试将来自亚马逊网络负载平衡器的传入流量传递到应用程序负载平衡器,我正在使用NLB,因为它具有弹性IP附件,并且我希望它充当ALB的代理。那有可能吗?
最佳答案
可能,但是有点困惑。
问题在于应用程序负载平衡器可以按比例放大,缩小,缩小和/或缩小,并且在每种情况下,平衡器的内部IP地址都可以更改...但是NLB要求其目标使用静态地址。
因此,从低层次上讲,这意味着每次ALB的IP更改时,都必须修改NLB目标组。
AWS已发布了一个官方解决方案来实现此目的,它会按计划使用Lambda函数来捕获ALB的地址并在结果更改时更新NLB配置。
https://aws.amazon.com/blogs/networking-and-content-delivery/using-static-ip-addresses-for-application-load-balancers/
在此,一个值得注意的限制是该解决方案不允许您标识客户端IP地址。当流量通过NLB时,它会丢失,因为NLB仅在目标是实例(不是IP地址)或目标了解客户端的代理协议(protocol)并且在NLB上启用了功能时才保留源IP。 ,但ALB不支持这种配置。通过上面链接中显示的设置,ALB将X-Forwarded-For
中最右边的地址设置为NLB的内部地址。
关于amazon-web-services - 从NLB到ALB的AWS Pass流量?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50981864/