带有 Terraform 的 AWS - 安全组规则中的安全组参数

AWS with Terraform - security groups argument inside a security group rule

当您查看 terraform's docs for security group 时,您可以看到有一个选项可以在 ingress/egress 安全规则中定义一个 security_groups 参数。

这对我来说似乎很奇怪,但也许我在这里遗漏了什么。

但没有提到真实世界的用例。

我的问题是:在哪些情况下我们要使用这种配置?

您可以使用此语法将这些 ingress/egress 规则应用于属于特定安全组的任何基础结构。

此Terraform代码,例如:

ingress {
    from_port = "80"
    to_port   = "80"
    protocol  = "tcp"

    security_groups = [
      "${aws_security_group.elb_sg.id}",
    ]
}

将允许对属于 elb_sg 安全组的任何基础设施进行 HTTP 访问。如果您有大量基础架构需要 ingress/egress 访问权限并且不想单独命名所有部分,这将很有帮助。

另一个例子:您可以为 Elastic Search 集群创建一个安全组,然后声明 EC2 应用程序服务器安全组的所有元素都应该 ingress/egress 使用此语法访问该集群。