alb
Terraform module for alb on aws
module "alb" {
source = "registry.patterneddesigns.ca/patterneddesigns/alb/aws"
version = "0.1.0"
# Required inputs
name = "..."
vpc_id = "..."
subnets = "..."
}Overview
The alb module creates AWS Application Load Balancers with production-ready defaults including:
- Target groups with configurable health checks
- HTTP and HTTPS listeners with SSL/TLS termination
- ACM certificate integration
- Access logging to S3
- Multi-AZ deployment for high availability
Category: Networking Provider: AWS Latest Version: 3.0.0
Quick Start
module "web_alb" {
source = "registry.patterneddesigns.ca/patterneddesigns/alb/aws"
version = "3.0.0"
name = "web-alb"
vpc_id = module.vpc.vpc_id
subnets = module.vpc.public_subnets
}
Key Features
Multi-AZ Deployment
Deploy across multiple availability zones for high availability:
module "ha_alb" {
source = "registry.patterneddesigns.ca/patterneddesigns/alb/aws"
version = "3.0.0"
name = "ha-alb"
vpc_id = module.vpc.vpc_id
subnets = module.vpc.public_subnets # Subnets in different AZs
}
SSL/TLS Termination
Terminate SSL at the load balancer with ACM certificates:
module "secure_alb" {
source = "registry.patterneddesigns.ca/patterneddesigns/alb/aws"
version = "3.0.0"
name = "secure-alb"
vpc_id = module.vpc.vpc_id
subnets = module.vpc.public_subnets
https_listeners = [{
port = 443
certificate_arn = aws_acm_certificate.main.arn
}]
}
Internal Load Balancer
Deploy private load balancers for internal services:
module "internal_alb" {
source = "registry.patterneddesigns.ca/patterneddesigns/alb/aws"
version = "3.0.0"
name = "internal-alb"
vpc_id = module.vpc.vpc_id
subnets = module.vpc.private_subnets
internal = true
}
Documentation
- Inputs - All input parameters
- Outputs - Output values
- Examples - Usage examples
- Use Cases - Common use cases
- Demonstrations - Step-by-step guides
Registry
Inputs
Name of the ALB. Must be unique within your account and region. Maximum 32 characters.
VPC ID for the ALB. The ALB must be created in the same VPC as your target resources.
List of subnet IDs for the ALB. Requires at least 2 subnets in different AZs.
Whether the ALB is internal. Set to true for internal ALBs (microservices, internal APIs) or false for internet-facing ALBs (public APIs, websites).
Outputs
ARN of the Application Load Balancer.
DNS name of the ALB. Use this for Route53 alias records.
Zone ID of the ALB for Route53 alias records.