我关注本教程将介绍如何在 Ubuntu 上设置 EC2 实例但是当我尝试在我的 IP 地址上执行 ssh 命令时,操作超时了。
所以我尝试 ping 它,但没有任何效果。请求超时
知道如何做才能让它工作吗?我的仪表板上的状态为绿色。
谢谢 !
答案1
AWS 安全组默认阻止 ICMP(包括 ping、traceroute 等)。您需要明确启用它。
答案2
您需要向您的服务器的安全组添加一条规则:
在 EC2 仪表板的“安全组”中,选择您的实例的组,单击“入站”选项卡,在类型字段中选择“自定义 ICMP 规则”,选择“回显请求”,然后单击“添加规则”。
答案3
您需要做的是向安全组添加一条规则。步骤如下。
- 进入 EC2 仪表板并单击“正在运行的实例”
- 在“安全组”中,选择您需要添加安全性的实例组。
- 点击“入站”标签
- 点击“编辑”按钮(将打开一个弹出窗口)
- 点击“添加规则”
- 选择“自定义 ICMP 规则 - IPv4”作为类型
- 选择“Echo Request”作为协议(端口范围默认显示为“N/A”)
- 输入“0.0.0.0/0”作为源
- 点击“保存”
这将添加新条目。完成上述配置后,您应该能够 ping 刚刚设置的亚马逊 Web 服务 EC2 实例。
答案4
如果您想使用 AWS CLI 允许 ICMP,请执行以下操作:
$ # Create a security group
$ aws ec2 create-security-group --group-name icmp-sg-1 --description 'icmp security group'
$ # Modify sec group to allow ICMP from everywhere
$ aws ec2 authorize-security-group-ingress --group-id <sg-id of icmp-sg-1> --protocol icmp --port -1 --cidr 0.0.0.0/0
$ # Now attach the sec group to a new/existing instance
需要注意的是--port
指的是ICMP类型。参考:http://docs.aws.amazon.com/cli/latest/reference/ec2/authorize-security-group-ingress.html