在 Terraform 中定义 AWS 安全组时,您可以设置inbound
/ingress
配置。但是,这些入口配置可以还指向其他安全组。Terraform 文档只是说“(可选)如果使用 EC2-Classic,则列出安全组组名;如果使用 VPC,则列出组 ID。”
这有什么用?我在 AWS 管理控制台中没有看到任何可以重现此情况的地方。
resource "aws_security_group" "new_security_group" {
vpc_id = "${var.vpc_id}"
ingress {
protocol = "tcp"
security_groups = ["${var.load_balancer_security_group_id}"]
from_port = 80
to_port = 80
}
ingress {
protocol = "tcp"
security_groups = ["${var.load_balancer_security_group_id"]
from_port = 443
to_port = 443
}
}
在我遇到的示例中,每个入口端口都引用为弹性负载均衡器设置的完全独立的安全组。
答案1
这允许您设置规则,例如“允许 Web 服务器安全组访问端口 3306 上的数据库安全组”,也可以通过 AWS 控制台进行设置 - 只需在设置规则时在 IP 字段中开始输入安全组的名称即可。