A company is deploying a web application on Amazon EC2 instances behind an Application Load Balancer (ALB). The ALB is internet-facing and uses a public subnet. The EC2 instances are in private subnets. The application needs to be accessible from the internet. The security group for the ALB allows inbound HTTP and HTTPS from 0.0.0.0/0. The security group for the EC2 instances allows inbound traffic from the ALB's security group. The route tables for the private subnets have a default route to a NAT gateway. Users report that they cannot access the application. The ALB target group shows the instances as unhealthy. What is the MOST likely cause?
Health checks fail if security group blocks traffic.
Why this answer
When using an Application Load Balancer (ALB), the target group health checks originate from the ALB's nodes. The security group for the EC2 instances must allow inbound traffic from the ALB's security group on the health check port, typically port 80 or 443. If this rule is missing, the health checks fail and the instances are marked unhealthy, preventing traffic from being forwarded.
Option B is wrong because the ALB is described as internet-facing and deployed in a public subnet. Option C is wrong because an internet gateway route is attached to the public subnet where the ALB resides, not to the ALB itself. Option D is wrong because the NAT gateway handles outbound traffic from the private subnets, not inbound health check traffic from the ALB.