访问没有公网 IP 的 EC2 实例

Was*_*Dev 3 amazon-web-services

我有两个 EC2 实例,一个具有公共 IPv4 公共 IP,一个没有。我拥有两者的密码并且可以成功登录其中一个(使用 IPv4 公共 IP),但无法访问另一个。我假设没有 IPv4 公共 IP 的需要一个公共 IP,但看起来我无法创建一个。当我尝试 RDP 进入这台机器时,我收到以下消息的错误:

未启用对服务器的远程访问。远程计算机已关闭。远程计算机在网络上不可用。

以下是我尝试远程访问这台机器的步骤:

  1. 我确实有一个用于此 EC2 的 VPC,并且我验证了它对端口 3389(RDP 端口)的所有外部访问开放。
  2. 我的客户端机器可以成功访问 RDP,因为它可以登录到另一个 EC2 实例。
  3. 当我查看实例时 - 我只是在这里猜测这是问题所在 - 这些与我可以访问的实例不同:

公共 DNS (IPv4)

IPv4公网IP 【可访问的机器有这个设置,不可访问的没有】

IPv6 IP

私有 DNS [详细信息已填写]

私有IP [详细信息已填写]

  1. 我没有看到列出的这台机器的 DNS 名称,作为 IP 的替代。当我尝试通过单击实例、单击连接并下载 RDP 文件来启动它时,它尝试连接的 IP 地址是私有 IP。我还尝试连接到私有 DNS - RDP 会抛出一个错误,表明它找不到那台计算机。
  2. 如果我单击实例,单击Actions并选择Manage IP Addresses,我没有看到列出任何公共 IP。同样,另一台机器也有。
  3. 我也在这里验证了一些步骤

在这种情况下,(a) 我如何通过 RDP 访问这个 EC2 实例,以及 (b)(或者 - 如果这是唯一必要的事情)在这种情况下我如何分配公共 IP 地址。如果后者是不可能的,甚至有可能访问机器 - AWS 允许某人创建他们无法访问的机器似乎很奇怪。

小智 5

发生这种情况是因为它没有关联的弹性 IP,因此只能使用内部 IP 从 VPC 内部访问它。

我可以想到三个选项来解决这个问题。

选项1:

为实例分配弹性 IP。

进入 EC2 仪表板,然后在 NETWORK & SECURITY 菜单中转到 Elastic IPs。

单击分配新地址。

右键单击新 IP 并选择关联地址。

将其与没有弹性 IP 的 EC2 实例相关联。

现在您可以再次尝试连接到实例,RDP IP 将是弹性 IP,而不是 VPC 私有 IP。

选项 2:

如果您需要此 EC2 实例与 Internet 保持断开连接,您可以使用私有 IP 和 RDP 兼容软件从同一 VPC 内的另一个 EC2 实例进行连接。

选项 3:

转到 VPC 仪表板,然后转到 VPN 连接,创建 VPN 连接并连接到它,以便能够使用私有 IP 将 RDP 连接到 EC2 实例。