我试过寻找这个问题的答案,但我不确定是否有一个特定的术语,到目前为止我找不到任何信息。
如果我有一个stream行的应用程序,消耗一些Web服务,我显然会使用负载平衡器来分配我的服务负载。 从理论上讲,最终用户只是击中一个主机名,并将其parsing为负载均衡器,然后将这些请求转发给Web服务实例。 如果我的networking服务也打电话给另一个外部/第三方的networking服务,这个第三方会看到有问题的networking服务器的个人IP?
例如,如果第三方Web服务说我必须提供3个IP地址,并且只有这3个可以访问他们的服务,那么这个工作如何考虑,我可以在我的负载均衡器之后有6个实例,并且可以要求其中的任何一个请求? 由于请求是从一个单独的Web服务器,我猜它不会“出去”的负载平衡器。 虽然这是一个相当普遍的问题,但是如何在AWS基础架构上设置这个例子将是有用的
谢谢
您可以通过将您的应用程序服务器放置在VPC中的专用子网中,将0.0.0.0/0路由到公有子网中的NAT实例来完成所需的工作。 所有对第三方服务的请求都将显示在NAT的外部IP(分配弹性IP以保持一致)。
NAT将成为这些请求的瓶颈,所以你需要确保它已经足够的扩展了。 如果您有三个IP可以列入白名单,那么可以将您的应用程序服务器和NAT设备跨越3个AZ,并在每个AZ中使用一个单独的NAT实例。
http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_NAT_Instance.html
请求通常不会通过您的负载均衡器转到第三方API。
但是这仍然是可能的。
这几乎可以在这里得到解答,真正发生的事情取决于你如何devise你的networking。
每个Web服务器都可能直接请求它。
传出的请求可能会被NAT转换,并且似乎都是来自一个IP。
您可能已经设置了一个代理服务器,并且所有的请求都会被覆盖。
而且现在我可能想不到更多的可能性