【发布时间】:2019-10-03 02:18:11
【问题描述】:
我有两个 AWS EC2 实例尝试通过自定义 TCP 端口相互通信。每个实例都有自己的安全组,但两者都不能相互通信。
这是我的设置:
EC2 实例 1
- 名称:instance-1
- 公网IP地址:aaa.bbb.ccc.ddd
- 安全组 ID:sg-xxxxxxxxxx1
- SG 入站规则:无
- SG 出站规则:
- 类型:所有流量,协议:全部,端口范围:全部,目的地:0.0.0.0/0
EC2 实例 2
- 名称:instance-2
- 公网IP地址:www.xxx.yyy.zzz
- 安全组 ID:sg-xxxxxxxxxx2
- SG 入站规则:
- 类型:自定义 TCP 规则,协议:TCP,端口范围:12345,来源:sg-xxxxxxxxxx1
SG 出站规则:
- 类型:所有流量,协议:全部,端口范围:全部,目的地:0.0.0.0/0
问题
每当 instance-1 尝试向www.xxx.yyy.zzz:12345 发起 TCP 请求时,连接就会超时。
如果我将以下入站规则添加到实例 2 的 SG,它就可以正常工作:
- 类型:所有流量,协议:全部,端口范围:12345,来源:0.0.0.0/0
总结
我需要实例 1 与实例 2 通信,但不允许来自任何地方的流量访问端口 12345。有没有办法做到这一点?
【问题讨论】:
-
似乎 instance-1 正在尝试通过公共 IP 连接到 instance-2。或者没有按照您的描述设置安全组。与其总结 SG 规则,不如编辑您的问题并为相关组添加
aws ec2 describe-security-groups的确切输出。 -
啊!好点子!假设他们通过私有 IP 地址连接,配置似乎是正确的。使用公共 IP 地址将不起作用。
标签: amazon-web-services amazon-ec2 aws-security-group