0

我知道安全组是 STATEFUL,这意味着如果入站或出站流量被统治,则在另一个绑定中将有一个关联规则来发送流量。

考虑到这一点,我创建了一个自定义 VPC 和一个公共子网。我已成功通过 ssh-ed 连接到我的网络中的一个公共实例。但是,我无法从同一子网中的一台公共机器 ping 到另一台!即使我添加了这个入站规则

所有流量 所有 ALL sg-xxx

上述规则应自动考虑到同一安全组中的每个实例的出站。但它没有

因此,我必须再次手动添加出站规则:

所有交通 所有所有 sg-xxx

为什么会这样?

4

1 回答 1

1

看来你的情况是:

  • 同一子网中的两个实例(称为 A 和 B)
  • 安全已应用于两个实例
  • 安全组已配置允许所有流量的入站规则
  • 无法从一个实例 ping 到另一个实例

实例 A 要 ping 实例 B,需要执行以下操作:

  • 与实例 A关联的安全组上的出站规则,它允许 ICMP 流量
  • 与Instance B关联的安全组上的入站规则,它允许 ICMP 流量
  • 由于安全组的状态特性,从实例 B 到实例 A 的返回流量将被允许离开实例 B
  • 由于安全组的状态特性,从实例 B 到实例 A 的返回流量将被允许进入实例 A

由于您对两个实例使用相同的安全组,因此您需要同时允许入站和出站访问。或者,您可以使用两个不同的安全组

  • 实例 A 上的一个安全组允许出站流量
  • 实例 B 上的一个安全组允许入站流量

要理解的重要概念是安全组定义入站/出站规则。与同一安全组关联的多个实例将规则分别应用于每个实例。与网络子网不同,具有相同安全组的实例不在安全组“内部”——它们只是具有相同的规则。

于 2016-07-19T12:41:50.513 回答