【问题标题】:2 ec2 instances in same subnet with same security group, but 1 is not accessible同一子网中具有相同安全组的 2 个 ec2 实例,但 1 个不可访问
【发布时间】:2022-01-03 18:13:13
【问题描述】:

我在同一个 VPC 和同一个子网中有 2 个 EC2 实例,它们都附加了相同的安全组。但是 1 个实例具有在启动实例时分配的公共 IP(比如说公共 IP 实例)。另一个只有私有 IP,但我创建并附加了一个弹性 IP(比如说弹性 IP 实例)。所以这两个实例现在都有公共 ip。

但是我可以使用在启动期间分配的公共 ip 访问 ec2 实例,而不是使用弹性 ip 的实例。两者都有相同的用户数据脚本。我只是尝试使用实例 ip 地址通过浏览器访问实例。

我试过到处搜索,似乎通过弹性 ip 访问 ec2 实例应该没有任何区别,但它似乎不起作用。通过弹性 ip 进行实例访问需要什么,或者我做错了什么。

【问题讨论】:

  • 安全组规则到底是什么?您能否从第一个实例到达第二个实例(如果安全组允许?)。您能否通过 ssh 连接到第二个实例(如果它是基于 linux/unix 的实例)。

标签: amazon-web-services amazon-ec2 user-data elastic-ip


【解决方案1】:

看来你的情况是:

  • 您使用安装 Web 服务器的用户数据脚本启动了一个 Amazon EC2 实例
  • 启动实例时,未为其分配公共 IP 地址
  • 您后来添加了一个弹性 IP 地址
  • 您无法通过该服务器上的 HTTP 访问内容

当公有子网中的 EC2 实例没有 IP 地址时,无法访问 Internet。因此,当您的用户数据脚本运行并尝试安装 Web 服务器时,它无法从 Internet 下载软件。因此,实例上没有安装 Web 服务器。

您可以通过登录实例并再次运行安装脚本来纠正此问题。由于您添加了弹性 IP 地址,这一次它将起作用。

或者,终止实例并启动另一个实例,确保在启动时为其分配一个公共 IP 地址。

【讨论】:

  • 非常感谢。这就是问题所在。不敢相信,我为此浪费了好几天。
猜你喜欢
  • 2020-12-29
  • 2021-08-28
  • 2020-12-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-05-27
  • 1970-01-01
相关资源
最近更新 更多