通过 VPN 从 AWS 连接到第三方

Connect via VPN to third party from AWS

我们有许多第三方系统,它们不属于我们的 AWS 帐户,也不在我们的控制之下,每个系统都有一个内部 iis 服务器设置了 dns,只能从本地计算机使用。这个 iis 服务器拥有一个 API,我们希望能够从我们的 EC2 实例中使用它。

我的想法是在 ec2 实例和第 3 方系统之间建立某种类型的 vpn 连接,以便 ec2 实例可以使用相同的内部 dns 调用 api。

AWS 提供直接连接,为了做到这一点,正确的路径是否正确?如果是,任何人都可以提供有关如何前进的任何帮助,如果不是,正确的路线是什么?


基本上我们有一个第三方系统,在这个第三方系统上是一个 IIS 服务器 运行ning 一些包含 API 的软件。所以从本地机器我可以 运行 http://<domain>/api/get 并且它 returns JSON 很多代码。然而,为了进入第三方系统,我们通过个人笔记本电脑上的 VPN 连接。我们需要我们在 AWS 中的 EC2 实例能够访问这个 API,因此需要通过相同的 VPN 连接来连接到第三方。所以我想我需要在 AWS 中有一个单独的 VPC。

最佳答案取决于您的预算、带宽和安全要求。

Direct Connect 非常棒。此服务提供从您的存在点到亚马逊的专用物理网络连接。一旦配置了 Direct Connect 并且 运行 您将通过此连接配置 VPN (IPSEC)。负面:安装光纤的交付周期长且相对昂贵。正面、高安全性和可预测的网络性能。

可能根据您的情况,您需要考虑在 public Internet 上设置 VPN。根据您的要求,我建议在通过 VPN 链接的两端安装 Windows 服务器。如果您具备 Windows 可用的网络技能,这将为您提供一个易于维护的系统。

另一个不错的选择是在两个 Linux 系统上安装 OpenSwan。 OpenSwan 提供网络间的 VPN 和路由。

Windows 或 Linux (OpenSwan) 的设置时间很简单。您可以在一两天内配置所有内容。

Windows 和 OpenSwan 都支持集线器架构。您的 VPC 中的一个系统和每个数据中心中的一个系统。

根据每个数据中心安装的路由器,您或许可以使用 AWS 虚拟专用网关。路由器在每个数据中心都设置有连接信息,然后您将虚拟专用网关连接到路由器。如果您的数据中心安装了正确的硬件(例如亚马逊支持的路由器,数量相当多),这实际上是一个非常好的设置。

注意:您可能无法使用 VPN 客户端,因为客户端不会将两个网络路由到一起,只会将一个系统路由到一个网络。

您可能需要在您的 VPC 中设置一个 DNS 转发器以与您的私有 DNS 服务器通信。

也许sshuttle可以满足您的需求。从技术上讲,您可以在 EC2 和远程 ssh 主机之间打开 ssh 隧道。它还可以处理在远程端解析 dns 请求。这不是完美的解决方案,因为典型的 VPN 具有故障转移功能,但您可以将其用作起点。稍后,可能作为回退,或用于测试目的。