At the moment, AWS ALBs can't be associated with elastic IPs. This module provides a way to resolve this problem by implementing the solution based on the following article: https://aws.amazon.com/blogs/networking-and-content-delivery/using-static-ip-addresses-for-application-load-balancers/
- Public facing NLB with a set of elastic IPs, one for each public subnet
- Internal ALB
- S3 access log bucket for both LBs
- Lambda function that is responsible for the attachment of ALB IPs to the NLB target group
- S3 bucket and cloudwatch resources that accompany the lambda function above
Name | Description | Type | Default | Required |
---|---|---|---|---|
alb_sg_id | ALB security group id | string |
n/a | yes |
deletion_protection_enabled | Indicates if load balancers can be deleted | bool |
n/a | yes |
invocations_before_deregistration | The number of required Invocations before an IP address is de-registered. | number |
3 |
no |
max_lookup_per_invocation | The max times of DNS lookup per invocation. | number |
50 |
no |
name | Solution name | string |
n/a | yes |
private_subnets | List of private subnet ids | list(string) |
n/a | yes |
public_subnets | List of public subnet ids | list(string) |
n/a | yes |
tags | Map of tags that should be applied to all resources | map(string) |
n/a | yes |
vpc_id | VPC that will host this solution | string |
n/a | yes |
Name | Description |
---|---|
external_nlb_arn | ARN of the externally facing NLB |
external_nlb_dns_name | DNS name of the externally facing NLB |
external_nlb_zone_id | Zone id of the externally facing NLB |
internal_alb_arn | ARN of the internally facing ALB |
internal_alb_dns_name | DNS name of the internally facing ALB |
internal_alb_zone_id | Zone id of the internally facing ALB |