我试过寻找这个问题的答案,但我不确定它是否有一个特定的术语,到目前为止我找不到任何信息。
如果我有一个使用一些 Web 服务的流行应用程序,我显然会使用负载均衡器在我的服务之间分配负载。从理论上讲,最终用户只是点击了一个主机名,这将被解析到负载均衡器,然后负载均衡器将这些请求转发到 Web 服务实例。如果我的 Web 服务随后还调用了另一个外部/第 3 方 Web 服务,那么这个第 3 方是否会看到来自相关 Web 服务器的单个 IP?
例如,如果第 3 方 Web 服务说我必须提供 3 个 IP 地址,并且只有这 3 个可以访问他们的服务,那么这将如何工作,记住我的负载均衡器后面可能有 6 个实例,并且可能需要其中任何一个实例请求?由于请求是从单个 Web 服务器发出的,我猜它不会“退出”负载均衡器。尽管这是一个非常笼统的问题,但如何在 AWS 基础设施上进行设置的示例将很有用
谢谢
该请求通常不会通过您的负载均衡器发送到第 3 方 API。
但这仍然是可能的。
这几乎就是所有可以在这里回答的问题,真正发生的事情取决于您如何设计网络。
每个网络服务器都可能直接请求它。
传出请求可能会被 NAT 处理,并且看起来都来自一个 IP。
您可能已经设置了代理并且所有请求都通过它。
而且可能还有更多我现在想不到的可能性……
您可以通过将应用服务器放在 VPC 中的私有子网中来完成您需要的操作,该 VPC 将 0.0.0.0/0 路由到公共子网中的 NAT 实例。对第 3 部分服务的所有请求都将从 NAT 的外部 IP 出现(分配一个弹性 IP 以保持一致)。
NAT 将成为这些请求的瓶颈,因此您需要确保它已充分扩展。如果您有 3 个 IP 可以列入白名单,则可以将您的应用服务器和 NAT 设备放在 3 个 AZ 中,每个 AZ 中都有一个单独的 NAT 实例。
http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_NAT_Instance.html