2015-01-07 82 views
1

有一个快速的问题,可能是完全愚蠢的,但它是在清晨。所以我有一个标准的AWS VPC,ELB,NAT实例和2个EC2实例作为应用程序代码。通过网络图像的外观,互联网网关将流量传递给ELB和NAT实例。我的问题是为什么前面或后面的ELB不是NAT实例?看起来,如果所有流量都在那里通过,此VPC中的单个瓶颈可能就是NAT实例。AWS NAT实例和ELB瓶颈

vpc, elb, nat, aws

+1

NAT只用于出站访问。如果您的应用程序需要经常通过NAT访问互联网,那么也许它是完美的瓶颈 – BMW

+0

,谢谢。 –

回答

16

的NAT(网络地址转换)服务器用于提供一个专用子网出境 Internet连接的Amazon EC2实例。

传入流量将通过负载均衡器进入,任何对此流量的响应也将通过负载均衡器退出。 Elastic Load Balancing服务会根据流量自动调整(对流量转移也有收费)。

如果私有子网中的EC2实例希望启动与Internet的连接(例如,下载更新或与Amazon S3进行通信),它将无法将负载均衡器的流量“发送出去”。相反,该子网将配置为路由流量到NAT服务器,该服务器充当从因特网请求数据的代理。

NAT服务器可能会变成瓶颈。如果是这样,请修改实例以使用更大的实例类型 - 这不仅增加了CPU和RAM,还增加了网络带宽。

在某些情况下,人们也可以使用NAT服务器传入流量 - 无论是作为一个跳箱子为管理目的(登录到一个实例中的私人子网),或者转发至特定端口一个私人服务器(通过端口转发)。但是,最好的做法是将这些功能分为不同的实例以实现安全性和管理目的。

附加信息:自从写了这个答案后,AWS推出了一个可以自动缩放的Managed NAT Gateway。它在单个AZ中创建,因此您可能希望在两个AZ中运行它以实现高可用性。

+0

太好了,回答谢谢。 –

+0

好的和详细的答案,但使用更大的NAT服务器实例不能很好地扩展。 – Vame

0

我不知道如何它的工作,如果loadbalacer被终止在APP层,那么在这些子网中推出的情况下将与IGW不是NAT实例配置的路由表,which raises a question how to make outbound traffic on the public network which is configured over a loadbalalncer