Terraform:用于将ASG连接到ALB的安全组

时间:2017-11-01 09:24:37

标签: load-balancing terraform vpc

我的设置

我正在构建一个EC2实例Auto Scale组的标准堆栈,通过ALB接收流量。

实例将端口80暴露给整个VPC,ALB向外部公开端口443以接收来自Internet的流量。

我的问题

我想仅从ALB启用端口80访问,而不是从整个VPC启用。

我的问题

如何在Terraform中定义安全组,将实例的端口80仅暴露给ALB,而不是暴露给VPC的其他部分?

2 个答案:

答案 0 :(得分:0)

也许这很有帮助:

resource "aws_security_group_rule" "opened_to_alb" {
  type                     = "ingress"
  from_port                = 80
  to_port                  = 80
  protocol                 = "tcp"
  source_security_group_id = "${var.alb_sg_id}"
  security_group_id        = "${aws_security_group.your_sg.id}"
}

var.alb_sg_id可以替换为您的实际alb安全组ID。

答案 1 :(得分:0)

您可以为负载均衡器创建一个安全组(aws_security_group),并使用aws_security_group_rule授予对端口80的访问权限。

然后,在服务器的安全组中,您只希望只允许来自负载均衡器安全组的端口80对它们的访问,就像source_security_group_id = "${aws_security_group.mylb.id}"

这有意义吗?如果没有,我可以进一步阐述。