Skip to content

A terraform module which provisions an AWS Application LB with a single listener

License

Notifications You must be signed in to change notification settings

mickykurniawan/terraform-aws-alb-single-listener

 
 

Repository files navigation

terraform-aws-alb-single-listener

Terraform Version Release Last Commit Issues Pull Requests License Open Source Love

Table of Content

Description

A terraform module which provisions a DNS record that points to an Application LB with a single listener

Examples

Terraform Version

This module was created on 4/17/2018. The latest stable version of Terraform which this module tested working is Terraform 0.13.7 on 07/10/2021.

Requirements

Name Version
terraform >= 0.13

Providers

Name Version
aws n/a

Modules

Name Source Version
random_lb github.com/traveloka/terraform-aws-resource-naming.git v0.20.0
random_tg github.com/traveloka/terraform-aws-resource-naming.git v0.20.0

Resources

Name Type
aws_lb.main resource
aws_lb_listener.main resource
aws_lb_listener_rule.main resource
aws_lb_target_group.default resource

Inputs

Name Description Type Default Required
cluster_role Primary role/function of the cluster. Example value: 'app', 'fe', 'mongod', etc string n/a yes
description Will be used in resources' Description tag string n/a yes
environment Will be used in resources' Environment tag string n/a yes
lb_idle_timeout The LB's idle timeout string 60 no
lb_internal Whether the LB will be public / private string "1" no
lb_ip_address_type The LB's ip address type string "ipv4" no
lb_logs_s3_bucket_name The S3 bucket that will be used to store LB access logs string n/a yes
lb_name The name of the LB, will override the default <service_name>-<lb_type>-<random_string> name string "" no
lb_security_groups List of security group IDs for the LB list(string) n/a yes
lb_subnet_ids List of subnet IDs of the LB list(string) n/a yes
lb_tags The additional LB tags that will be merged over the default tags map(string) {} no
listener_certificate_arn The LB listener's certificate ARN string n/a yes
listener_port The LB listener's port string 443 no
listener_protocol The LB listener's protocol string "HTTPS" no
listener_rules A map of listener rules for the LB: priority --> {target_group_arn:'', conditions:[]}. 'target_group_arn:null' means the built-in target group map {} no
listener_ssl_policy The LB listener's SSL policy string "ELBSecurityPolicy-2016-08" no
product_domain Abbreviation of the product domain the created resources belong to string n/a yes
service_name The service name that will be used in tags and resources default name string n/a yes
tg_deregistration_delay The default target group's deregistration delay string 300 no
tg_health_check The default target group's health check configuration, will be merged over the default (see locals.tf) map(string) {} no
tg_name The default target group's name, will override the default <service_name>-default name string "" no
tg_port The default target group's port string 5000 no
tg_protocol The default target group's protocol string "HTTP" no
tg_protocol_version The default target group's protocol version string "HTTP1" no
tg_stickiness The default target group's stickiness configuration map(string)
{
"cookie_duration": 1,
"enabled": true,
"type": "lb_cookie"
}
no
tg_tags The additional Target Group tags that will be merged over the default tags map(string) {} no
tg_target_type The type of target that you must specify when registering targets with this target group. string "instance" no
vpc_id The default target group's VPC string n/a yes

Outputs

Name Description
lb_arn The ARN of the ALB
lb_arn_suffix The ARN suffix of the ALB, useful with CloudWatch Metrics
lb_dns The DNS name of the load balancer
lb_zone_id The canonical hosted zone ID of the load balancer (to be used in a Route 53 Alias record)
listener_arn The ARN of the listener
listener_id The ID of the listener
tg_arn The arn of the default target group
tg_arn_suffix The arn suffix of the default target group, useful with CloudWatch Metrics
tg_name The name of the target group

Contributing

This module accepting or open for any contributions from anyone, please see the CONTRIBUTING.md for more detail about how to contribute to this module.

Authors

License

This module is under Apache License 2.0 - see the LICENSE file for details.

About

A terraform module which provisions an AWS Application LB with a single listener

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages

  • HCL 100.0%