amazon-web-services - 两个 EC2 实例在私有网络中看不到对方
问题描述
我最初的目标:在 AWS 上创建一个 OpenVPN 访问服务器,这样我就只能使用 VPN 连接到另一个 EC2 实例。不允许第二个 EC2 实例具有任何类型的公共访问权限。
这对我不起作用,因为 VPN 不允许我连接到 EC2 实例。我总是超时。经过一些故障排除后,我发现他们不在同一个专用网络中,因此他们看不到对方。它们在同一个 VPC 和同一个子网中。安全组都是开放的。我意识到这可能是 OpenVPN 和我的配置的问题。
第二个 EC2 实例是一个普通的 Windows Server 2019 实例。
所以我打开了第三个 EC2 实例,它也运行 Windows Server 2019。我使用远程桌面来控制第二个 EC2 实例。打开 cmd 并使用后ipconfig
,apr -a
我无法在本地网络中再次找到第三个 EC2 实例。再次向我展示他们不在同一个本地网络中。如何设置 EC2 实例,使它们都在同一个本地网络上?
解决方案
看来你的情况是:
- 您希望在 VPC 中拥有私有资源(无法从 Internet 访问)
- 您希望能够通过 OpenVPN 从 Internet 访问这些资源
架构应该是:
- 具有至少一个公有子网和至少一个私有子网的 VPC
- 将 OpenVPN 服务器放在具有安全组的公共子网中,该安全组允许从您的计算机在 Internet 上进行入站 VPN 访问(看来这对您有用)
- 将所有其他资源放在私有子网中
- 与其他资源关联的安全组应允许来自 OpenVPN 服务器(它们可以通过 ID 引用 OpenVPN 安全组)或 VPC 的 CIDR 范围的入站访问(从而允许资源在内部相互通信VPC)
- 如果您希望其他实例具有出站 Internet 访问权限(例如,用于下载软件),那么您还需要公共子网中的NAT网关,私有子网的路由表指向目标的 NAT 网关
0.0.0.0/0
您可能还需要调整Windows 实例上的防火墙设置以允许所有必要的流量。
推荐阅读
- database - 由于 Oracle DB 从 12c 升级到 19c,对现有 SQL、PL/SQL 脚本和数据模型有何影响?
- python - 错误/警告 *** MULE MSG QUEUE 已满:缓冲区大小 212992 字节(您可以使用 --mule-msg-size 调整它)***
- rust - 如何在 rust 中为泛型结构指定泛型特征
- python-2.7 - Python V2 EOL 之后在 Pypi 上访问 Python V2 包
- php - 对于每个问题 Laravel Blade
- postgresql - 使用 Sqitch 迁移的数据库播种
- azure - Azure API 管理订阅的自定义 API 密钥
- c# - 如何读取 .TDAT 文件?
- macos - WxWidgets Build on OSX 10.15.4 错误(尝试不同的 SDK)
- javascript - 如何在 React 的主组件中的 onClick 事件中显示来自子组件的相应元素?