acm_cert_arn |
TLS certificate ARN from the AWS Certicate Manager console if you created the TLS certificate manually. Depends on the use_route53_hostedzone_for_acm variable. Format: arn:aws:acm:REGION:EXAMPLE:certificate/EXAMPLE423b3-EXAMPLE-CERTIFICATE |
string |
null |
no |
acm_unique_id |
Unique id to be appended on ACM resource names. |
string |
n/a |
yes |
alb_deregistration_delay |
Amount time in seconds for Elastic Load Balancing to wait before changing the state of a deregistering target from draining to unused |
number |
300 |
no |
alb_enable_deletion_protection |
Whether to protect the LoadBalancer from deletion. |
bool |
false |
no |
alb_health_check_enabled |
Whether health checking is enabled |
bool |
true |
no |
alb_health_check_healthy_threshold |
Number of consecutive health check successes required before considering a target healthy. The range is 2-10. |
number |
2 |
no |
alb_health_check_interval |
Approximate amount of time, in seconds, between health checks of an individual target. The range is 5-300. |
number |
70 |
no |
alb_health_check_matcher |
Response codes to use when checking for a healthy responses from a target |
string |
"200,201,301,302" |
no |
alb_health_check_path |
Destination for the health check request |
string |
"/" |
no |
alb_health_check_port |
The port the load balancer uses when performing health checks on targets |
string |
"80" |
no |
alb_health_check_protocol |
Protocol the load balancer uses when performing health checks on targets. |
string |
"HTTP" |
no |
alb_health_check_timeout |
Amount of time, in seconds, during which no response from a target means a failed health check. The range is 2–120 seconds. |
string |
"60" |
no |
alb_health_check_unhealthy_threshold |
Number of consecutive health check failures required before considering a target unhealthy. |
string |
"5" |
no |
alb_idle_timeout |
Idle timeout for the LoadBalancer [0 - 4000] seconds |
number |
60 |
no |
alb_internal |
Whether to create a private LoadBalancer. |
bool |
false |
no |
alb_ip_address_type |
The type of IP addresses used by the target group, only supported when target type is set to ip. Possible values are ipv4 or ipv6 |
string |
"ipv4" |
no |
alb_load_balancer_type |
Type of the Elastic Loadbalancer |
string |
"application" |
no |
alb_port |
Port on which targets receive traffic, unless overridden when registering a specific target. |
number |
80 |
no |
alb_preserve_host_header |
Whether to preserve host header on the incoming requests. |
bool |
true |
no |
alb_sec_grp_egress |
A list of egress rule as objects for the ALB security group |
list(object({ cidr_blocks = list(string) description = string from_port = number ipv6_cidr_blocks = list(string) prefix_list_ids = list(string) protocol = string security_groups = list(string) to_port = number self = bool })) |
n/a |
yes |
alb_sec_grp_ingress |
A list of ingress rule as objects for the ALB security group |
list(object({ cidr_blocks = list(string) description = string from_port = number ipv6_cidr_blocks = list(string) prefix_list_ids = list(string) protocol = string security_groups = list(string) to_port = number self = bool })) |
n/a |
yes |
alb_target_type |
Type of target that you must specify when registering targets with this target group. https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_CreateTargetGroup.html |
string |
"instance" |
no |
alb_unique_id |
The unique string to identify LoadBalancer module resources; appended on the resource names. |
string |
n/a |
yes |
app_domain |
If using Route53 supply the domain on which the application will be accessed. It must be the same domain/subsdomain name used to generete the ACM certificate. |
string |
null |
no |
asg_ami_id |
The AMI ID from the product configuration page on AWS Marketplace. You must first subscribe to the product and then click on configuration button to view the AMI details. |
string |
n/a |
yes |
asg_delete_on_termination |
Whether to delete attached ELB volume on instance termination |
bool |
true |
no |
asg_detailed_monitoring |
Whether to enable detailed monitoring of the instances in the ASG |
bool |
true |
no |
asg_disk_size |
The disk size allocated for each instance |
number |
40 |
no |
asg_health_check_grace_period |
The disk size allocated for each instance |
number |
300 |
no |
asg_health_check_type |
The healthcheck type used by ASG. Can be ELB or EC2 |
string |
"ELB" |
no |
asg_instance_type |
The instance type used by ASG on the launced instances |
string |
"t2.small" |
no |
asg_root_device |
The root device for the instances. Default /dev/xvda for Amazon Linux instances used for this setup. |
string |
"/dev/xvda" |
no |
asg_scaling_alarms_config |
A map of objects with values for the Autosacling group alarms configurations. |
map(object({ enabled = bool threshold = number evaluation_periods = number period = number })) |
{ "cpu_scale_in": { "enabled": true, "evaluation_periods": 3, "period": 120, "threshold": 10 }, "cpu_scale_out": { "enabled": true, "evaluation_periods": 2, "period": 120, "threshold": 75 }, "net_in_scale_in": { "enabled": false, "evaluation_periods": null, "period": null, "threshold": null }, "net_in_scale_out": { "enabled": false, "evaluation_periods": null, "period": null, "threshold": null }, "net_out_scale_in": { "enabled": false, "evaluation_periods": null, "period": null, "threshold": null }, "net_out_scale_out": { "enabled": false, "evaluation_periods": null, "period": null, "threshold": null } } |
no |
asg_scaling_policy |
Definition for the autosacling group scaling policies |
map(map(number)) |
{ "scale_down": { "adjustment": -1, "cooldown": 300 }, "scale_up": { "adjustment": 1, "cooldown": 120 } } |
no |
asg_sec_grp_egress |
A list of egress rule as objects for the ASG security group |
list(object({ cidr_blocks = list(string) description = string from_port = number ipv6_cidr_blocks = list(string) prefix_list_ids = list(string) protocol = string security_groups = list(string) to_port = number self = bool })) |
n/a |
yes |
asg_sec_grp_ingress |
A list of ingress rule as objects for the ASG security group |
list(object({ cidr_blocks = list(string) description = string from_port = number ipv6_cidr_blocks = list(string) prefix_list_ids = list(string) protocol = string security_groups = list(string) to_port = number self = bool })) |
n/a |
yes |
asg_size_configuration |
The configuration for the ASG size. The warmpool variable define the instances that will be prepared in adavance and their waiting states. |
object({ max_size = number min_size = number warm_pool_pool_state = string # ["Hibernated" "Stopped" "Running" "Hibernated"] warm_pool_prep_capacity = number warm_pool_prep_min_size = number warm_pool_reuse_on_scale = bool }) |
{ "max_size": 2, "min_size": 1, "warm_pool_pool_state": "Hibernated", "warm_pool_prep_capacity": 1, "warm_pool_prep_min_size": 1, "warm_pool_reuse_on_scale": true } |
no |
asg_unique_id |
The unique string to identify ASG module resources; appended on the resource names. |
string |
n/a |
yes |
aws_account_id |
Current AWS account ID |
string |
n/a |
yes |
aws_elb_account_id |
Current AWS ELB Account ID obtain the ID for your region from https://docs.aws.amazon.com/elasticloadbalancing/latest/application/enable-access-logging.html |
string |
n/a |
yes |
aws_region |
AWS Region where the resources will be provisioned |
string |
n/a |
yes |
name |
Project name used to form part of most resource names. This will identify your created resources. |
string |
n/a |
yes |
route53_hosted |
If using Route53, supply the Route53 zone details |
object({ zone_id = string is_private = bool }) |
n/a |
yes |
use_route53_hostedzone_for_acm |
Indicates whether you are using a route53 hosted zone created in the current account you are using |
bool |
false |
no |
vpc_cidr |
Main VPC CIDR |
string |
"172.18.0.0/16" |
no |
vpc_name |
Names assigned to the vpc |
string |
"vpc" |
no |
vpc_private_subnets |
VPC Private subnet CIDRs |
list(string) |
[ "172.18.48.0/20", "172.18.64.0/20", "172.18.80.0/20" ] |
no |
vpc_public_subnets |
VPC Public subnet CIDRs |
list(string) |
[ "172.18.96.0/20", "172.18.112.0/20", "172.18.128.0/20" ] |
no |