从EC2实例连接到公共IP地址时出现问题

时间:2016-10-29 13:39:54

标签: amazon-web-services deployment amazon-ec2 ip-address elastic-ip

我刚刚设置应用程序并且当前遇到连接到我的IP地址的问题。

最近,我启动了我的第一个AWS实例,它在将其附加到弹性IP(尝试附加到我的GoDaddy域)之前工作正常。实例状态是"运行"并且一切看起来都很健康,但是当我转到公共IP /弹性IP时,我收到一条错误消息:"无法访问此站点。 XX.XXX.XX.XXX拒绝连接"。我正在使用Mac,而我的网络服务器正在侦听端口80。

我检查过的事情:

  • 互联网连接正常工作
  • 不使用任何防火墙/ anitvirus
  • 清空所有缓存/ Cookie
  • 不使用代理服务器
  • 我的安全组

  • - 入站端口80,8080,22和3389;

  • - 出站端口8080,所有流量。

  • 我的VPC

  • - 验证子网ID并且"可用"

  • - 路线表172.31.0.0/16& 0.0.0.0/0是"活跃",未传播

有人可以提供帮助,请指出我做错了什么吗?

2 个答案:

答案 0 :(得分:1)

在关联弹性IP后,我总是在AWS上重启我的Linux服务器。通常我不会盲目地建议重新启动Linux服务器,但我发现在这种情况下它很有用。在重新启动之前,您应该考虑几件事情。确保您没有专门针对易失性存储的重要文件就是一个例子。

重新“...当我 转到 公共IP /弹性IP ......”你怎么去地址?听起来你正试图用网络浏览器连接。

  • 您是否尝试通过其他协议(例如ssh)从Mac连接?这将是确认您的弹性IP生效的另一种方法
  • 您是否尝试过更直接地连接到网络服务器?喜欢从服务器的shell使用wget?您可以使用私有IP地址或localhost,因此无法帮助诊断弹性IP地址。

答案 1 :(得分:0)

弹性IP地址附加到Amazon EC2实例不会更改实例本身的任何内容。它纯粹是在Amazon VPC中分配公共IP地址。

Amazon EC2实例通常不知道自己的公共IP地址。相反,发送到公共IP地址的流量将通过Internet网关路由,然后路由到实例的私有IP地址。只要您没有以某种方式在实例中配置旧的公共IP地址,弹性IP地址的分配应该不是问题。

您可以删除弹性IP地址并再次尝试连接 - 实例将再次收到自动分配的IP地址(无论何时启动/停止实例,都可能会更改。)

您可以尝试的一些事情是:

  • 使用相同的安全组连接到同一子网中的另一个实例。如果这样可行,那么您就知道问题出在实例本身而不是网络上。
  • 尝试使用非响应实例的私有IP地址同一子网中的另一个实例连接到无响应的实例。这将消除潜在的网络问题。

尝试从Internet连接到EC2实例时要始终检查的标准事项是:

  • Internet Gateway 附加到VPC
  • 您正通过公共IP地址
  • 引用该实例
  • 实例是在公有子网中启动的,这意味着子网与路由到路由表的路由表相关联
  • 安全组允许来自您的IP地址和端口的入站流量(出站流量配置无关紧要,因为安全组是有状态的)
  • 网络ACL 未阻止流量(默认情况下,它允许所有入站和出站流量)
  • 实例侦听端口(例如端口22上的Linux SSH,端口3389上的Windows RDP)
  • 实例上没有基于主机的防火墙阻止流量(例如Windows防火墙)