无法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的地址。
2)接下来确保亚马逊networking规则允许回应请求 。 转到EC2的安全组 。
- 点击右键,select入站规则
- 答:select添加规则
- B:select自定义ICMP规则 – IPv4
- C:select回声请求
- D:select任意位置或我的IP
- E:select保存
3)接下来,Windows防火墙默认阻止入站Echo请求。 通过创build一个Windows防火墙例外允许回声请求…
- 转到“ 开始”,然后键入具有高级安全性的Windows防火
- select入站规则
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不起作用时需要记住的三件事情。
- 确保实例正在运行。
- 为http端口(80)创build安全组以运行。
- 确保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"] } }
-
确保你正在使用你的aws ec2实例的公网IP来ping。
-
编辑附加到EC2实例的安全组,并为ICMP协议添join站规则。
-
尝试ping,如果这不解决,然后在安全组中添加ICMP的出站规则。
我想提到一些罕见的ISP引起的问题。 偶尔跟随发生在我身上的BSNL。 它是那些需要数小时才能从日常生活中解脱出来的奇怪问题之一。 在这种情况下,可能会提出与ISP的问题或更改ISP。
- Amazon实例可以从浏览器访问(所有打开的端口)
- 同样不能从控制台ping通
- ssh / telnet也不起作用。
您必须在安全组中打开以下安全端口。 每个规则都是为了不同的目的,如下所示。
-
所有ICMP的ping。
-
用于访问HTTP端口上的URL的HTTP。
-
用于访问安全HTTP端口上的URL的HTTPS。
根据您的要求,您可以更改来源
在ec2实例中访问新端口时。 你有2个地方添加。 1.安全组入站端口。 2.防火墙设置入站规则。