How Should Traffic Route Only to Healthy Application Servers?
A company runs a three-tier web application on AWS. The application includes web servers, application servers, and database servers. The application servers process requests from the web servers. The company wants to ensure high availability of the application. Therefore, the company needs to monitor the health of the application servers and route traffic only to healthy instances. Which solution will meet these requirements?
Community Insight
The question tests Layer 7 health checking and traffic routing for an application tier; the trap is choosing a Network Load Balancer or Route 53 health check that does not manage per-instance target health.
This SOA-C03 scenario tests how to keep a three-tier application highly available by monitoring application-server health and routing traffic only to healthy targets. The page confirms that an Application Load Balancer with target-group health checks satisfies the requirement.
A common wrong choice is B, because Route 53 and an NLB sound highly available, but Route 53 health checks drive DNS failover while the NLB does not provide the same HTTP-aware target health routing as an ALB for the application tier.
Community Discussion (1 comments)
Comments & Corrections
No comments yet — spotted an error or have a note? Share it below.
Expert Analysis
Why the Answer Is Correct
An ALB is a Layer 7 load balancer that performs health checks against each registered application server, removes unhealthy targets from its target group, and sends requests only to healthy instances. It can span multiple Availability Zones and integrates with Auto Scaling, matching the requirement to monitor application-server health and route traffic only to healthy instances. Because the application servers process HTTP(S) requests from the web tier, an ALB is the appropriate load-balancing layer. Its health check can use an application-specific path and expected response, making the check meaningful for this tier rather than merely testing port availability. Bad_Mat selected option A, and the phrase "with health checks for the application servers" directly captures the needed mechanism.Why the Other Options Are Wrong
B uses a Route 53 health check plus an NLB; Route 53 health checks are for DNS failover and do not provide per-target application-server health routing behind a load balancer. An NLB operates primarily at Layer 4 and, while it has health checks, it does not offer the same HTTP-aware application routing model as an ALB for this web tier. C uses a Lambda restart action and a CloudWatch alarm; alarms can notify or automate remediation, but they do not inherently remove an unhealthy instance from the traffic path, and restarting can cause loops without load balancer health checks. D monitors a CloudWatch metric and uses an NLB, but a CloudWatch metric by itself does not route traffic, and the NLB still lacks the ALB's application-level target health behavior needed here.Community Comment Notes
The only visible learner input is Bad_Mat's vote for option A, which is consistent with the AWS-recommended pattern for this scenario. The fragment "with health checks for the application servers" points to the key control: health checks must actually govern traffic routing, not just raise alarms. No community comment argues for the NLB, Route 53, or Lambda alternatives, so there is no substantive counterpoint to address. Learners should still verify the target group health-check path and thresholds rather than relying on vote count.Official Reference
Exam Strategy
When a question says “route traffic only to healthy instances,” look for a load balancer whose target-group health checks remove unhealthy targets. Prefer ALB for HTTP/HTTPS application tiers and reserve NLB for Layer 4/TCP or extreme-performance cases unless the scenario explicitly requires it.
Frequently Asked Questions
Why is a Route 53 health check with an NLB wrong for healthy application servers?
Route 53 health checks support DNS failover, not per-target routing inside the application tier. An ALB's target-group health checks remove individual unhealthy application servers from traffic.
Why can't a CloudWatch alarm alone keep traffic off an unhealthy application server?
A CloudWatch alarm can trigger notifications or a Lambda action, but it does not automatically deregister the instance from a load balancer's healthy target pool. The ALB health check performs that routing decision.
Related Analysis
Practice All SOA-C03 Questions
Access 100 questions with complete answers and detailed explanations.
View Full SOA-C03 Practice Test →