在没有公网IP地址的情况下,通过AWS VPC实例访问Internet



我们正在设置一个Amazon VPC,我们将(目前)在其中提供一个EC2实例和一个RDS实例。这是为了"扩展我们的数据中心",应该只使用私有子网。

所以实际上,我们有这个设置,它工作得很好(插入笑脸图标)。出于所有意图和目的,我们在这里镜像Amazon概述的VPC场景4:http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Scenario4.html

tl;dr:一个VCP,带一个VPN连接到我们的公司网络。VPN使用虚拟专用网关(VPC端)和客户网关(我们端)来允许我们根据需要访问EC2, EC2包含一个根据需要连接到RDS实例的web服务器。我们网络上的任何人都可以通过URL访问EC2上运行的web服务器。

当EC2实例需要访问Internet上的资源时,问题就出现了——我们的想法是不使用任何公共子网,而是将来自EC2实例的所有流量通过我们的VPN路由到我们公司Internet访问的"标准"路径。但是我们在设置这个时遇到了麻烦。

亚马逊的常见问题解答中强调了这一点:https://aws.amazon.com/vpc/faqs/

Q。没有公共IP地址的实例如何访问Internet?

没有公共IP地址的实例可以通过以下两种方式访问Internet:

  1. 没有公网IP地址的实例可以通过NAT网关或NAT实例访问Internet。这些实例使用NAT网关或NAT实例的公网IP地址来穿越Internet。NAT网关或NAT实例允许出站通信,但不允许Internet上的机器发起到私有地址实例的连接。

  2. 对于具有硬件VPN连接或Direct Connect连接的vpc,实例可以将其Internet流量通过虚拟专用网关路由到您现有的数据中心。从那里,它可以通过您现有的出口点和网络安全/监控设备访问互联网。

我们试图避免选择#1,因为这涉及到成本(以及复杂性和安全性问题)。#2对我们来说是完美的解决方案,但我们已经有一段时间没有理解设置它的过程了。

谁能告诉我们需要做什么(或指出正确的资源)来确保EC2实例*可以通过VPN路由流量,通过我们的公司数据中心和我们现有的互联网接入点访问互联网?

* 和私有子网内的任何内容

如果您使用的是场景#2,那么在AWS端所要做的就是确保前往互联网0.0.0.0/0的流量被路由到您的虚拟专用网关。

一旦流量转向那里,它将进入您的客户网关,并进入您的公司数据中心。如果可能的话,这取决于你当地的It人员在那一端获得互联网流量。但到那时,这就不再是AWS的问题了。

最新更新