Terraform Manifest Upgrades
Step-01: c10-02-ALB-application-loadbalancer.tf
# Terraform AWS Network Load Balancer (NLB)
module " nlb" {
source = " terraform-aws-modules/alb/aws"
version = " 9.4.0"
name_prefix = " mynlb-"
load_balancer_type = " network"
vpc_id = module.vpc.vpc_id
dns_record_client_routing_policy = " availability_zone_affinity"
security_groups = [module.loadbalancer_sg.security_group_id]
# https://github.com/hashicorp/terraform-provider-aws/issues/17281
subnets = module.vpc.public_subnets
# For example only
enable_deletion_protection = false
# Listeners
listeners = {
# Listener-1: TCP Listener
my -tcp = {
port = 80
protocol = " TCP"
forward = {
target_group_key = " mytg1"
}
}# End Listener-1: TCP Listener
# Listener-2: TLS Listener (SSL)
my -tls = {
port = 443
protocol = " TLS"
certificate_arn = module.acm.acm_certificate_arn
forward = {
target_group_key = " mytg1"
}
}# End Listener-2: TLS Listener (SSL)
}# End Listeners Block
# Target Groups
target_groups = {
# Target Group-1: mytg1
mytg1 = {
create_attachment = false
name_prefix = " mytg1-"
protocol = " TCP"
port = 80
target_type = " instance"
deregistration_delay = 10
health_check = {
enabled = true
interval = 30
path = " /app1/index.html"
port = " traffic-port"
healthy_threshold = 3
unhealthy_threshold = 3
timeout = 6
}# End Health Check Block
}# End Target Group-1: mytg1
}
tags = local .common_tags
}# End NLB Module