【问题标题】:Is it possible to match the public IP when using a security group as source in security group rules?在安全组规则中使用安全组作为源时是否可以匹配公共 IP?
【发布时间】:2020-06-06 07:19:52
【问题描述】:

我有两套系统,位于两个不同的可用区,每个区都有自己的安全组 A 和 B。

在区域 A 的安全组中,我创建了一个入站规则,允许来自区域 B 安全组中虚拟机的所有传入流量。

这适用于私有 IP:当使用 A 的私有 IP 时,B 中的虚拟机可以连接到 A 中的虚拟机。但这不适用于公共 IP。

现在,我明白了为什么它不起作用 (AWS security group that allows instances within VPC to connect doesn't work over public IP),但是有没有一种简单的方法可以配置区域 A 安全组,以便也允许与安全组 B 关联的所有公共 IP?

也就是说,不跟踪公共 IP 并在“安全组 B”规则旁边的入站规则中手动(或通过 API)维护它们?

【问题讨论】:

  • 你为什么要他们通过公共 IP 连接呢?不确定您的具体用例是什么,但同一 vpc 中的 ec2 实例通常会通过私有 IP 相互通信。
  • B 可以在本地,也可以在另一个云上。因此,我必须对配置进行特殊处理,而不是使用 A 中主机的公共 DNS。我知道我在通过公共 IP 路由时为流量付费,但这没关系,一致性更重要。
  • 我仍然不同意,如果 B 和 A 在同一个 VPC 中,那么流量应该通过互联网出去,然后才回来。安全、成本和延迟影响是不必要的。但是,如果您决定采用这种方式,那么您的选择是编写安全组更新的脚本。不过,EIP 不应该经常更改。另一个考虑是使用 Cloudformation 来管理这些资源,然后对脚本中实例的任何更新都会对安全组的规则进行类似的更改。

标签: amazon-ec2


【解决方案1】:

安全组没有引用“安全组 X 中的资源使用的所有公共 IP 地址”的功能。

公共 IP 地址按资源分配,不与安全组关联。

您需要使用相关公共 IP 地址手动更新安全组。或者,如果资源都在您的 AWS 账户中,您可以编写一个循环遍历资源的脚本,获取它们的公共 IP 地址并将它们添加到安全组中。

【讨论】:

    猜你喜欢
    • 2021-05-08
    • 2018-03-20
    • 2019-02-02
    • 1970-01-01
    • 2022-01-11
    • 2015-10-08
    • 2021-08-16
    • 1970-01-01
    • 2019-07-28
    相关资源
    最近更新 更多