首页 > 解决方案 > 两个 EC2 实例在私有网络中看不到对方

问题描述

我最初的目标:在 AWS 上创建一个 OpenVPN 访问服务器,这样我就只能使用 VPN 连接到另一个 EC2 实例。不允许第二个 EC2 实例具有任何类型的公共访问权限。

这对我不起作用,因为 VPN 不允许我连接到 EC2 实例。我总是超时。经过一些故障排除后,我发现他们不在同一个专用网络中,因此他们看不到对方。它们在同一个 VPC 和同一个子网中。安全组都是开放的。我意识到这可能是 OpenVPN 和我的配置的问题。

第二个 EC2 实例是一个普通的 Windows Server 2019 实例。

所以我打开了第三个 EC2 实例,它也运行 Windows Server 2019。我使用远程桌面来控制第二个 EC2 实例。打开 cmd 并使用后ipconfigapr -a我无法在本地网络中再次找到第三个 EC2 实例。再次向我展示他们不在同一个本地网络中。如何设置 EC2 实例,使它们都在同一个本地网络上?

标签: amazon-web-servicesamazon-ec2amazon-vpc

解决方案


看来你的情况是:

  • 您希望在 VPC 中拥有私有资源(无法从 Internet 访问)
  • 您希望能够通过 OpenVPN 从 Internet 访问这些资源

架构应该是:

  • 具有至少一个公有子网和至少一个私有子网的 VPC
  • 将 OpenVPN 服务器放在具有安全组的公共子网中,该安全组允许从您的计算机在 Internet 上进行入站 VPN 访问(看来这对您有用)
  • 将所有其他资源放在私有子网中
  • 与其他资源关联的安全组应允许来自 OpenVPN 服务器(它们可以通过 ID 引用 OpenVPN 安全组)或 VPC 的 CIDR 范围的入站访问(从而允许资源在内部相互通信VPC)
  • 如果您希望其他实例具有出站 Internet 访问权限(例如,用于下载软件),那么您还需要公共子网中的NAT网关,私有子网的路由表指向目标的 NAT 网关0.0.0.0/0

您可能还需要调整Windows 实例上的防火墙设置以允许所有必要的流量。


推荐阅读