无法ping通AWS EC2实例

我已经设置了AWS EC2实例并正在运行。 当我尝试从我的本地盒子ping,它不可用。

我需要做什么,以确保url可供所有人使用? 我需要打开一些端口还是给一些权限?

添加新的EC2安全组入站规则

  • types: 自定义ICMP规则
  • 协议: 回声请求
  • 端口: N / A
  • 来源:你的select(我会select任何地方都可以从任何机器ping)

您必须编辑EC2实例所属的安全组并允许访问(或者创build一个新实例并将实例添加到该实例)。

默认情况下,一切都被拒绝。 您需要添加到安全组的例外取决于您需要提供给互联网的服务。

如果它是一个networking服务器,你将需要允许访问端口0.0.0.0/0 ( 这意味着任何IP地址 )。

要允许ping实例,您需要启用ICMP通信。

AWS Web Console提供相关下拉列表中最常用的一些选项。

安全组中的自定义ICMP规则不是我所要做的。 但以下规则将起作用:

 Type: All ICMP Protocol: TCP Port range: 0 - 65535 Source: Anywhere - 0.0.0.0/0 

这样做后,你将能够ping其他实例。 你应该看到像这样的东西:

 PING 10.0.0.15 (10.0.0.15): 56 data bytes 64 bytes from 10.0.0.14: icmp_seq=1 ttl=64 time=3.9 ms 64 bytes from 10.0.0.14: icmp_seq=2 ttl=64 time=3.9 ms 64 bytes from 10.0.0.14: icmp_seq=3 ttl=64 time=10.6 ms 64 bytes from 10.0.0.14: icmp_seq=4 ttl=64 time=40.6 ms 64 bytes from 10.0.0.14: icmp_seq=5 ttl=64 time=3.8 ms 64 bytes from 10.0.0.14: icmp_seq=6 ttl=64 time=5.3 ms 64 bytes from 10.0.0.14: icmp_seq=7 ttl=64 time=6.5 ms 64 bytes from 10.0.0.14: icmp_seq=8 ttl=64 time=3.5 ms 64 bytes from 10.0.0.14: icmp_seq=9 ttl=64 time=21.0 ms 64 bytes from 10.0.0.14: icmp_seq=10 ttl=64 time=3.5 ms 64 bytes from 10.0.0.14: icmp_seq=11 ttl=64 time=3.5 ms 64 bytes from 10.0.0.14: icmp_seq=12 ttl=64 time=59.7 ms 64 bytes from 10.0.0.14: icmp_seq=13 ttl=64 time=3.5 ms 64 bytes from 10.0.0.14: icmp_seq=14 ttl=64 time=3.5 ms 64 bytes from 10.0.0.14: icmp_seq=15 ttl=64 time=4.8 ms 64 bytes from 10.0.0.14: icmp_seq=16 ttl=64 time=3.1 ms 64 bytes from 10.0.0.14: icmp_seq=17 ttl=64 time=3.1 ms 64 bytes from 10.0.0.14: icmp_seq=18 ttl=64 time=3.0 ms 64 bytes from 10.0.0.14: icmp_seq=19 ttl=64 time=3.1 ms --- 10.0.0.14 ping statistics --- 20 packets transmitted, 19 packets received, 5% packet loss round-trip min/avg/max = 3.0/9.9/59.7 ms 

而已。

迟了几年,但希望这会帮助别人…

1)首先确保EC2实例具有公共IP。 如果有一个公共的DNS公共IP地址(下面圈出),那么你应该是好的。 这将是您ping的地址。 AWS公有DNS地址

2)接下来确保亚马逊networking规则允许回应请求 。 转到EC2的安全组

  • 点击右键,select入站规则
  • 答:select添加规则
  • B:select自定义ICMP规则 – IPv4
  • C:select回声请求
  • D:select任意位置或我的IP
  • E:select保存

添加安全组ICMP规则以允许Ping和回声

3)接下来,Windows防火墙默认阻止入站Echo请求。 通过创build一个Windows防火墙例外允许回声请求…

  • 转到“ 开始”,然后键入具有高级安全性的Windows防火
  • select入站规则

添加Windows Server ICMP规则以允许Ping和回声

4)完成! 希望你现在应该能够ping你的服务器。

使用All ICMP创build一个新的安全组为我工作。

那些SSH, Broswer, Ping from system aws ec2并想从SSH, Broswer, Ping from system然后在下面访问实例的人是这些入站规则:

在这里输入图像说明

如果你在任何地方将规则设置为“自定义ICMP”规则和“回显回复”,就像冠军一样工作。 “回应请求”是回答ping的错误规则。

在ping两个系统时,默认情况下启用SSH(如果通过putty或terminal连接)。为了允许ping,我为每个实例(入站)添加了安全组。

在这里输入图像说明

我有同样的问题,从linux服务器连接到EC2,你有两个确保从EC2添加“所有ICMP”的东西,如上所示,这一点是行不通的,你必须更新Ansible到最新的版本2.4,它不适用于我以前的版本2.2。

是的,你需要打开对港口的访问。 看看安全组http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html

您的EC2实例需要连接到允许访问您所需的安全组。

我有一个更深的问题 – 我创build了一个VPC,子网和适当的安全组,但忽略添加一个Internet网关并将其与我的子网相关联。 由于这是我第一次得到“Can not ping ec2”的谷歌search结果,所以我在这里发布这些信息,以防其他人(或者将来)对我有用。

ping不起作用时需要记住的三件事情。

  1. 确保实例正在运行。
  2. 为http端口(80)创build安全组以运行。
  3. 确保Apache正在从您的SSH服务运行。

有时候,当你使用免费(t2.micro)时,ping将不起作用。 在这种情况下,停止并启动它应该工作的实例。

AWS#EC2#安全组#http端口

对于一个安全组来说, terraform特定的指令,因为-1对我来说不是很明显。

 resource "aws_security_group" "Ping" { vpc_id = "${aws_vpc.MyVPC.id}" ingress { from_port = -1 to_port = -1 protocol = "icmp" cidr_blocks = ["0.0.0.0/0"] ipv6_cidr_blocks = ["::/0"] } } 
  1. 确保你正在使用你的aws ec2实例的公网IP来ping。

  2. 编辑附加到EC2实例的安全组,并为ICMP协议添join站规则。

  3. 尝试ping,如果这不解决,然后在安全组中添加ICMP的出站规则。

我想提到一些罕见的ISP引起的问题。 偶尔跟随发生在我身上的BSNL。 它是那些需要数小时才能从日常生活中解脱出来的奇怪问题之一。 在这种情况下,可能会提出与ISP的问题或更改ISP。

  1. Amazon实例可以从浏览器访问(所有打开的端口)
  2. 同样不能从控制台ping通
  3. ssh / telnet也不起作用。

您必须在安全组中打开以下安全端口。 每个规则都是为了不同的目的,如下所示。

在这里输入图像说明

  1. 所有ICMP的ping。

  2. 用于访问HTTP端口上的URL的HTTP。

  3. 用于访问安全HTTP端口上的URL的HTTPS。

根据您的要求,您可以更改来源

在ec2实例中访问新端口时。 你有2个地方添加。 1.安全组入站端口。 2.防火墙设置入站规则。