我正在构建一个EC2实例Auto Scale组的标准堆栈,通过ALB接收流量 .
实例将端口80暴露给整个VPC,并且ALB向外部公开端口443以获得来自Internet的流量 .
我想只从ALB启用端口80访问,而不是从整个VPC启用 .
如何在Terraform中定义安全组,将实例的端口80仅暴露给ALB,而不是暴露给VPC的其他部分?
也许这有用:
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 .
您可以为负载均衡器创建安全组(aws_security_group),并使用aws_security_group_rule授予对端口80的访问权限 .
然后,在服务器的安全组中,您希望仅允许从负载均衡器安全组的端口80访问它们,如此 source_security_group_id = "${aws_security_group.mylb.id}"
source_security_group_id = "${aws_security_group.mylb.id}"
这有意义吗?如果没有,我可以进一步阐述 .
2 回答
也许这有用:
var.alb_sg_id可以替换为您的实际alb安全组ID .
您可以为负载均衡器创建安全组(aws_security_group),并使用aws_security_group_rule授予对端口80的访问权限 .
然后,在服务器的安全组中,您希望仅允许从负载均衡器安全组的端口80访问它们,如此
source_security_group_id = "${aws_security_group.mylb.id}"
这有意义吗?如果没有,我可以进一步阐述 .