A terraform module which provisions a DNS record that points to an Application LB with a single listener
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.
Name | Version |
---|---|
terraform | >= 0.13 |
Name | Version |
---|---|
aws | n/a |
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 |
Name | Type |
---|---|
aws_lb.main | resource |
aws_lb_listener.main | resource |
aws_lb_listener_rule.main | resource |
aws_lb_target_group.default | resource |
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) |
{ |
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 |
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 |
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.
This module is under Apache License 2.0 - see the LICENSE file for details.