Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Terraform
  3. terraform-aws-alb

terraform-aws-alb

Apache-2.0HCLv10.5.0

A Terraform module for provisioning AWS Application Load Balancers (ALB) and Network Load Balancers (NLB) with comprehensive configuration options.

Visit WebsiteGitHubGitHub
468 stars705 forks0 contributors

What is terraform-aws-alb?

terraform-aws-alb is a Terraform module that automates the provisioning of AWS Application Load Balancers (ALB) and Network Load Balancers (NLB). It solves the problem of manually configuring complex load balancer setups by providing a reusable, declarative code module that handles listeners, target groups, security groups, and DNS records. This module ensures consistent and repeatable deployments across different environments.

Target Audience

DevOps engineers, SREs, and cloud infrastructure teams managing AWS environments with Terraform. It is particularly useful for organizations that need to deploy scalable, secure load balancers as part of their CI/CD pipelines or infrastructure automation.

Value Proposition

Developers choose this module because it significantly reduces boilerplate Terraform code, encapsulates AWS best practices, and provides a battle-tested abstraction maintained by the Terraform AWS Modules community. Its comprehensive feature set and flexibility make it a reliable alternative to writing custom load balancer configurations from scratch.

Overview

Terraform module to create AWS Application/Network Load Balancer (ALB/NLB) resources 🇺🇦

Use Cases

Best For

  • Setting up HTTPS redirects and SSL termination for web applications
  • Implementing authentication with AWS Cognito or OIDC providers at the load balancer level
  • Deploying network load balancers for TCP/UDP-based services
  • Managing complex listener rules with path-based routing and weighted target groups
  • Integrating load balancers with Route53 for DNS management
  • Enforcing security policies through integrated security groups and WAF associations

Not Ideal For

  • Projects needing only a basic, single-listener load balancer without routing rules or authentication
  • Teams using infrastructure-as-code tools other than Terraform, like CloudFormation or CDK
  • Scenarios requiring fine-grained control over every AWS resource attribute, as the module abstracts some configurations
  • Environments where load balancer resources must be managed in isolation without integrated security groups or DNS

Pros & Cons

Pros

Unified ALB/NLB Support

Allows deploying both Application and Network Load Balancers through a single module interface, reducing code duplication for teams managing multiple service types.

Advanced Routing Features

Configures complex listener rules including HTTPS redirects, Cognito/OIDC authentication, and weighted forwarding, as shown in the README examples with detailed HCL snippets.

Integrated Security and Logging

Automatically creates and manages security groups with customizable ingress/egress rules, and enables comprehensive logging (access, connection, health check) with S3 integration via simple input maps.

Ecosystem Integration

Facilitates Route53 DNS record creation and WAF associations directly within the module, streamlining common production setups without additional Terraform resources.

Cons

Configuration Complexity Overhead

The deeply nested input structures for listeners and target groups, especially with rules, require careful setup and can be error-prone or difficult to debug for newcomers.

Overkill for Simple Setups

For basic load balancer configurations, the module's extensive parameters and optional resources introduce unnecessary complexity compared to using the AWS provider directly.

Opinionated Abstraction Limits

While flexible, the module's design may not immediately support every AWS feature or edge case, potentially requiring workarounds or manual resource additions for advanced scenarios.

Frequently Asked Questions

Quick Stats

Stars468
Forks705
Contributors0
Open Issues0
Last commit5 months ago
CreatedSince 2017

Tags

#cloud-infrastructure#devops#infrastructure-as-code#terraform-module#route53#aws#load-balancer

Built With

T
Terraform
A
AWS

Links & Resources

Website

Included in

Terraform6.3k
Auto-fetched 1 day ago

Related Projects

terraform-aws-eksterraform-aws-eks

Terraform module to create Amazon Elastic Kubernetes (EKS) resources 🇺🇦

Stars4,975
Forks4,400
Last commit7 days ago
terraform-aws-vpcterraform-aws-vpc

Terraform module to create AWS VPC resources 🇺🇦

Stars3,236
Forks4,628
Last commit3 months ago
stackstack

A set of Terraform modules for configuring production infrastructure with AWS

Stars2,091
Forks410
Last commit3 years ago
typhoontyphoon

Minimal and free Kubernetes distribution with Terraform

Stars2,045
Forks324
Last commit7 days ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub