从AWS VPC实例访问Internet而不使用公共IP地址

时间:2016-10-27 14:47:44

标签: amazon-web-services networking amazon-ec2 amazon-vpc vpc

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

实际上,我们有这个设置,并且运行良好(插入笑脸图标)。出于所有意图和目的,我们在这里反映了亚马逊概述的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上的资源时 - 我们的想法是不要有任何公共子网,而是要通过我们的VPN路由来自EC2实例的所有流量,然后输出'标准'我们企业互联网接入的路径。但是,我们在设置时遇到了问题。

可以在亚马逊的常见问题解答中突出显示这一事实: https://aws.amazon.com/vpc/faqs/

  

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

     

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

     
      
  1. 没有公共IP地址的实例可以通过NAT网关或NAT实例路由其流量以访问Internet。这些实例使用NAT网关或NAT实例的公共IP地址来遍历Internet。 NAT网关或NAT实例允许出站通信,但不允许Internet上的计算机启动与私有寻址实例的连接。

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

  4.   

我们正在努力避免选项#1,因为涉及成本(以及复杂性和安全性问题)。 #2对我们来说是一个完美的解决方案,但理解设置它的过程一直困扰着我们。

任何人都可以向我们介绍我们需要做的事情(或指向我们正确的资源),以确保EC2实例*可以通过VPN,通过我们的公司数据中心和我们现有的互联网路由流量来访问互联网接入点?

* 以及私有子网内的任何内容

1 个答案:

答案 0 :(得分:4)

如果您使用的是场景#2,那么AWS端的所有操作都是为了确保发往互联网的流量0.0.0.0/0被路由到您的虚拟专用网关。

一旦流量到达那里,它将转到您的客户网关,并进入您的公司数据中心。如果可能的话,这取决于你当地的IT人员,以获得互联网目标流量。但就此而言,它不再是AWS问题。