我有一个在AWS中运行的EC2实例。当我试图从我的本地盒子ping它是不可用的。

我如何能使实例pingable?


当前回答

有两件事需要考虑。

检查安全组规则。 包括如下所示的入站规则。

类型:自定义ICMPV4, 协议:ICMP, Portrange: Echo Request, 来源:0.0.0.0/0

检查EC2实例的防火墙状态。 在/etc/ufw/before.rules中追加如下内容 -p icmp——icmp-type echo-request -j ACCEPT

其他回答

我有一个更深层次的问题——我已经创建了VPC、子网和适当的安全组,但忽略了添加Internet网关并将其与子网关联。因为这是我的第一个谷歌结果“不能ping ec2”,我把这个信息贴在这里,以防它被证明对别人有用(或将来我自己)。

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

类型:自定义ICMP规则 协议:Echo Request 端口:N / A 来源:你的选择(我会选择任何地方,以便能够从任何机器ping)

terrraform安全组的特定指令,因为-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 -首先确保EC2实例有一个公共IP。

如果有一个公共DNS或公共IP地址(下面圈出来),那么你应该是好的。这将是你ping的地址。

2 -亚马逊网络规则

接下来,确保Amazon网络规则允许Echo请求。进入EC2的安全组。

右键单击,选择入站规则 A:选择“添加规则” B:选中“自定义ICMP规则- IPv4” C:选择“Echo Request” D:选择“任何地方”或“我的IP” E:选择保存

3 -访问控制列表(如适用)

注:谢谢santosh的这一个。

您的VPC连接到一个网络,这个网络可能也有一些acl阻止它。

A: Go to the Your VPCs --> Default --> Network ACLs --> Details(Tab) --> and select the Main network ACL. (it should bring you to Network ACLs with the network id filter applied) B: Then Select the Network ACL ID (screenshot not shown) C: Under Inbound rules tab, if the current rules don't already allow ICMP, then select Edit Inbound Rule --> Add a New Rule D: Select All ICMPs - IPv4 E: Select Anywhere or type another network CIDR F: Select Allow (0.0.0.0/0 is all) G: Select Save Changes H: do the same for Outbound rules tab (if needed)

4 - Windows防火墙例外:

接下来,Windows防火墙会默认阻止入站Echo请求。通过创建windows防火墙异常允许Echo请求…

点击“开始”,输入“高级安全的Windows防火墙” 选择入站规则

完成了!

希望您现在能够ping通服务器。

安全组使您能够控制到实例的流量,包括可以到达实例的流量类型。

1. Check the Security Groups (Enabled the PORTS to be OPEN)
2. Check the correct VPC 
3. Attached the correct Subnet 
4. AWS EC2 to be in Public Subnet 
5. Enable Internet Gateway 

打开AWS EC2中的端口,检查此链接正式的AWS链接