【问题标题】:Access Internet from AWS VPC instance without public IP address从无公网 IP 地址的 AWS VPC 实例访问 Internet
【发布时间】:2017-03-10 07:41:48
【问题描述】:

我们正在设置一个 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 实例的网络服务器。我们网络上的任何人都可以通过 URL 访问在 EC2 上运行的 Web 服务器。所有这些都按预期工作。

当 EC2 实例需要访问 Internet 上的资源时,问题就来了 - 我们的想法是我们没有任何公共子网,而是通过我们的 VPN 将来自 EC2 实例的所有流量路由到“标准”路径之外我们公司的互联网接入。但是我们在设置时遇到了问题。

亚马逊的常见问题解答中强调了它可以做到的事实: https://aws.amazon.com/vpc/faqs/

问。没有公网 IP 地址的实例如何访问互联网?

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

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

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

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

谁能指导我们完成我们需要做的事情(或将我们指向正确的资源)以确保 EC2 实例* 可以通过将流量路由到 VPN、通过我们的公司数据中心和我们现有的互联网来访问互联网接入点?

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

【问题讨论】:

  • 如果您希望 VPN 正常工作,VPC 需要直接连接到 Internet。 VPN 流量通过 Internet 发送到您的站点。

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


【解决方案1】:

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

一旦流量到达那里,它将进入您的客户网关,并进入您的公司数据中心。如果可能的话,这取决于您当地的 IT 人员来获取以 Internet 为目的地的流量。但到那时,这不再是 AWS 问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-12-29
    • 2015-07-29
    • 2019-07-09
    • 2016-10-02
    • 2015-05-10
    • 2021-05-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多