我在AWS中配置了面向ALB的互联网,其中有两个侦听器(80和443),目标组位于专用网络(10.0.1.0/24)中。当ALB将http / https请求发送到10.0.1.0网络中的目标组时,请求如何发送回ALB? ALB具有公共IP,目标组没有到Internet的路由。我可以配置NAT网关并设置路由0.0.0.0/0以使用NAT网关。但网络响应将一直到互联网,然后回到ALB。非常不受欢迎。我无法将这些实例放在面向公众的子网中。
有人可以帮助完成这项工作吗?我想到了VPC端点,并使用负载均衡器配置了一个(我使用了ELB,因为我无法找到ALB端点服务)。现在,端点显示它在10.0.1.0子网中具有IP。但是,我不知道这是如何工作的。有人可以建议做些什么。感谢。
答案 0 :(得分:2)
不确定确切的问题是什么。但是,给您有关AWS ELB如何工作的简单说明。
在AWS Classic负载均衡器和应用程序负载均衡器中,涉及两个连接:
创建面向Internet的ELB时,可以选择两个子网。这些子网应该是具有到Internet网关的路由的公共子网。 ELB将在每个这些子网中至少启动一个ELB节点。 Internet上的客户端将能够通过IGW使用其公共IP连接到这些ELB节点。
一旦ELB收到来自客户端的请求,它将把请求转发到其后端目标。该通信使用ELB节点和目标实例的PRIVATE IP。因此,即使实例在专用子网中,ELB仍将能够将请求转发给它们,因为连接是通过使用路由表中“本地”路由的专用IP进行的。然后,目标服务器的响应将通过私有IP发送到ELB,然后通过公共IP转发给客户端。
Client <--public IP--> ELB <--private IP--> Targets
客户端和ELB之间的连接是通过公用IP,ELB和Web服务器之间的连接是通过专用IP,不需要到IGW或NAT的路由。
不用担心专用子网的NAT网关。只需确保创建ELB时选择的子网是公共的,并具有通往Internet网关的路由即可。