AWS 安全组包括另一个安全组

Posted

技术标签:

【中文标题】AWS 安全组包括另一个安全组【英文标题】:AWS Security group include another Security Group 【发布时间】:2018-01-07 02:01:46 【问题描述】:

来自文档:http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html#security-group-rules

来源或目的地:来源(入站规则)或目的地 (出站规则)的流量。指定以下选项之一:

(...)

另一个安全组。这允许实例 关联指定安全组访问实例 与此安全组关联。这不会从 源安全组到这个安全组。您可以指定其中之一 以下安全组:

当前的安全组。

有人试过吗?

我创建了 2 个盒子 BoxA、BoxB。我在端口“所有端口”上创建了一个从源 GroupA 入站的安全组 GroupA。如果我尝试在端口 9000 上从 BoxA 远程登录 BoxB,而 BoxB 在端口 9000 上有一个 simpleHttpServer,我什么也得不到。

我会做错什么?

【问题讨论】:

【参考方案1】:

我找到了答案:Can't communicate between two ec2 instances in the same security group via public ip address?

需要使用私有 IP 或将公共 IP 列入白名单。我希望它在文档中有所描述。

【讨论】:

在文档中有描述:docs.aws.amazon.com/AWSEC2/latest/UserGuide/…“当您指定一个安全组作为规则的源或目标时,该规则会影响与该安全组关联的所有实例。传入流量基于在与源安全组关联的实例的私有 IP 地址上(而不是公共 IP 或弹性 IP 地址)"【参考方案2】:

我对在添加新规则时在源(入站规则)和目标(出站规则)中添加另一个安全组的确切含义感到困惑。我发现下面给出的解释(来源:https://docs.aws.amazon.com/vpc/latest/userguide/VPC_SecurityGroups.html#SecurityGroupRules)非常有用。

"当您将安全组指定为规则的源时,允许来自与指定协议和端口的源安全组关联的网络接口的流量。传入流量基于私有与源安全组关联的网络接口的 IP 地址(而不是公共 IP 或弹性 IP 地址)。将安全组添加为源不会添加源安全组中的规则。"

【讨论】:

【参考方案3】:

我也遇到了这个问题,发现将公共 IP 添加到另一个安全组,然后选择该安全组作为源不起作用。

我找到了一种解决方法,您可以允许多个安全组访问一个 EC2,这对我有用。

【讨论】:

以上是关于AWS 安全组包括另一个安全组的主要内容,如果未能解决你的问题,请参考以下文章

Terraform 0.11:无法将动态安全组添加到 aws 实例

AWS 安全组难题

AWS 安全组设置指南

markdown Docker Swarm端口要求,包括Swarm模式1.12+和Swarm Classic,以及AWS安全组样式表

markdown Docker Swarm端口要求,包括Swarm模式1.12+和Swarm Classic,以及AWS安全组样式表

markdown Docker Swarm端口要求,包括Swarm模式1.12+和Swarm Classic,以及AWS安全组样式表