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

我如何能使实例pingable?


当前回答

默认情况下,EC2由AWS安全组(EC2和VPC中的服务)保护。缺省情况下,安全组不允许任何包含ping的ICMP请求。允许:

Goto: AWS EC2实例 定位:绑定到该实例的安全组(可以有多个安全组) 检查:协议(ICMP)端口入站规则(0 - 65535)如果不存在,您可以添加它,并允许它在指定的源IP或另一个安全组上使用。

其他回答

您必须编辑EC2实例所属的Security Group并允许访问(或者创建一个新的Security Group并将该实例添加到其中)。

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

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

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

AWS Web控制台在相关下拉列表中提供了一些最常用的选项。

您需要在安全组中打开以下安全端口。每条规则用于不同的目的,如下所示。

所有ICMP用于ping。 HTTP用于访问HTTP端口上的URL。 HTTPS访问安全HTTP端口上的URL。

根据您的要求,您可以更改SOURCE

转到EC2实例的安全组并编辑入站规则allow 0.0.0.0/0 for ICMP。

它会起作用的。

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"]
  }
}

我想提到一些ISP引起的罕见问题。我偶尔也会用BSNL。这是一个奇怪的问题,它占用了你日常生活中的几个小时。在这种情况下,人们可能会提出与ISP或更换ISP的问题。

Amazon实例可以从浏览器访问(所有开放端口) 控制台无法ping通 SSH / Telnet也不能正常使用。