Which solution will meet these requirements?
Deploy three NAT gateways, one in each public subnet. Assign the Elastic IP address to the NAT gateways. Turn on health checks for the NAT gateways. If a NAT gateway fails a health check, recreate the NAT gateway and assign the Elastic IP address to the new NAT gateway.
Replace the ALB with a Network Load Balancer (NLB). Assign the Elastic IP address to the NLB Turn on health checks for the NLIn the case of a failed health check, redeploy the NLB in different subnets.
Deploy a single NAT gateway in a public subnet. Assign the Elastic IP address to the NAT gateway. Use Amazon CloudWatch with a custom metric to monitor the NAT gateway. If the NAT gateway is unhealthy, invoke an AWS Lambda function to create a new NAT gateway in a different subnet. Assign the Elastic IP address to the new NAT gateway.
Assign the Elastic IP address to the ALB. Create an Amazon Route 53 simple record with the Elastic IP address as the value. Create a Route 53 health check. In the case of a failed health check, recreate the ALB in different subnets.
Explanations:
Deploying three NAT gateways is unnecessary for a single Elastic IP. Health checks for NAT gateways do not automatically recreate them; manual intervention is required. This option also does not specify how the Elastic IP would be reassigned to the new NAT gateway.
Replacing the ALB with a Network Load Balancer (NLB) does not address the need for NAT functionality to communicate with on-premises systems. NLBs do not support health checks that automatically redeploy the load balancer, making it impractical for failover.
A single NAT gateway in a public subnet can be assigned the Elastic IP address. Using CloudWatch to monitor the NAT gateway allows for automated recovery with a Lambda function, ensuring that the application can communicate with on-premises systems while mitigating failures effectively.
Assigning the Elastic IP to the ALB does not facilitate the necessary NAT functionality for outbound traffic. Route 53 health checks cannot recreate an ALB in different subnets automatically. This option does not adequately address the requirement to maintain connectivity with on-premises systems.