mirror of
https://github.com/farcasclaudiu/terraform-course.git
synced 2026-06-22 07:01:56 +03:00
04cc267e86
* codepipeline
54 lines
1.3 KiB
Terraform
54 lines
1.3 KiB
Terraform
resource "aws_lb" "demo" {
|
|
name = "demo"
|
|
subnets = module.vpc.public_subnets
|
|
load_balancer_type = "network"
|
|
enable_cross_zone_load_balancing = true
|
|
}
|
|
|
|
resource "aws_lb_listener" "demo" {
|
|
load_balancer_arn = aws_lb.demo.arn
|
|
port = "80"
|
|
protocol = "TCP"
|
|
|
|
default_action {
|
|
target_group_arn = aws_lb_target_group.demo-blue.id
|
|
type = "forward"
|
|
}
|
|
lifecycle {
|
|
ignore_changes = [
|
|
default_action,
|
|
]
|
|
}
|
|
}
|
|
|
|
resource "aws_lb_target_group" "demo-blue" {
|
|
name = "demo-http-blue"
|
|
port = "3000"
|
|
protocol = "TCP"
|
|
target_type = "ip"
|
|
vpc_id = module.vpc.vpc_id
|
|
deregistration_delay = "30"
|
|
|
|
health_check {
|
|
healthy_threshold = 2
|
|
unhealthy_threshold = 2
|
|
protocol = "TCP"
|
|
interval = 30
|
|
}
|
|
}
|
|
resource "aws_lb_target_group" "demo-green" {
|
|
name = "demo-http-green"
|
|
port = "3000"
|
|
protocol = "TCP"
|
|
target_type = "ip"
|
|
vpc_id = module.vpc.vpc_id
|
|
deregistration_delay = "30"
|
|
|
|
health_check {
|
|
healthy_threshold = 2
|
|
unhealthy_threshold = 2
|
|
protocol = "TCP"
|
|
interval = 30
|
|
}
|
|
}
|