mirror of
https://github.com/empayre/fleet.git
synced 2024-11-06 17:05:18 +00:00
2fbe53b6c9
* Reorganized infrastructure, updated for frontend's loadtesting * Add changes suggested by @chiiph * Moved files per suggestion by Ben * Update docs with new links * Add config for multi account assume role
82 lines
2.6 KiB
HCL
82 lines
2.6 KiB
HCL
# Security group for the public internet facing load balancer
|
|
resource "aws_security_group" "lb" {
|
|
name = "${var.prefix} load balancer"
|
|
description = "${var.prefix} Load balancer security group"
|
|
vpc_id = module.vpc.vpc_id
|
|
}
|
|
|
|
# Allow traffic from public internet
|
|
resource "aws_security_group_rule" "lb-ingress" {
|
|
description = "${var.prefix}: allow traffic from public internet"
|
|
type = "ingress"
|
|
|
|
from_port = "443"
|
|
to_port = "443"
|
|
protocol = "tcp"
|
|
// Internet connectivity here is by design
|
|
cidr_blocks = ["0.0.0.0/0"] #tfsec:ignore:aws-vpc-no-public-ingress-sgr
|
|
|
|
security_group_id = aws_security_group.lb.id
|
|
}
|
|
|
|
resource "aws_security_group_rule" "lb-http-ingress" {
|
|
description = "${var.prefix}: allow traffic from public internet"
|
|
type = "ingress"
|
|
|
|
from_port = "80"
|
|
to_port = "80"
|
|
protocol = "tcp"
|
|
// Internet connectivity here is by design
|
|
cidr_blocks = ["0.0.0.0/0"] #tfsec:ignore:aws-vpc-no-public-ingress-sgr
|
|
|
|
security_group_id = aws_security_group.lb.id
|
|
}
|
|
|
|
# Allow outbound traffic
|
|
resource "aws_security_group_rule" "lb-egress" {
|
|
description = "${var.prefix}: allow all outbound traffic"
|
|
type = "egress"
|
|
|
|
from_port = 0
|
|
to_port = 0
|
|
protocol = "-1"
|
|
// Egress filtering is not currently provided by our Terraform templates.
|
|
cidr_blocks = ["0.0.0.0/0"] #tfsec:ignore:aws-vpc-no-public-egress-sgr:exp:2022-10-01
|
|
|
|
security_group_id = aws_security_group.lb.id
|
|
}
|
|
|
|
# Security group for the backends that run the application.
|
|
# Allows traffic from the load balancer
|
|
resource "aws_security_group" "backend" {
|
|
name = "${var.prefix} backend"
|
|
description = "${var.prefix} Backend security group"
|
|
vpc_id = module.vpc.vpc_id
|
|
|
|
}
|
|
|
|
# Allow traffic from the load balancer to the backends
|
|
resource "aws_security_group_rule" "backend-ingress" {
|
|
description = "${var.prefix}: allow traffic from load balancer"
|
|
type = "ingress"
|
|
|
|
from_port = "8080"
|
|
to_port = "8080"
|
|
protocol = "tcp"
|
|
source_security_group_id = aws_security_group.lb.id
|
|
security_group_id = aws_security_group.backend.id
|
|
}
|
|
|
|
# Allow outbound traffic from the backends
|
|
resource "aws_security_group_rule" "backend-egress" {
|
|
description = "${var.prefix}: allow all outbound traffic"
|
|
type = "egress"
|
|
|
|
from_port = 0
|
|
to_port = 0
|
|
protocol = "-1"
|
|
// Egress filtering is not currently provided by our Terraform templates.
|
|
cidr_blocks = ["0.0.0.0/0"] #tfsec:ignore:aws-vpc-no-public-egress-sgr:exp:2022-10-01
|
|
|
|
security_group_id = aws_security_group.backend.id
|
|
} |