【问题标题】:EC2 security groups cannot communicate with each otherEC2 安全组无法相互通信
【发布时间】: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


【解决方案1】:

您无法使用安全组作为传入源访问公共 IP。

当您将安全组指定为规则的源或目标时,该规则会影响与该安全组关联的所有实例。根据与源安全组关联的实例的私有 IP 地址(而不是公共 IP 或弹性 IP 地址)允许传入流量。有关 IP 地址的更多信息,请参阅 Amazon EC2 实例 IP 寻址。

使用私有 IP 地址或使用公共 IP 作为来源。

参考文献

Security Group Connection Tracking

【讨论】:

  • 使用私有IP地址而不是公共IP地址修复它。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-04-18
  • 2022-01-21
  • 2021-07-22
  • 2017-04-18
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多