Which Load Balancer and Scaling Combo Best Serves a TCP App?
Short answer
AB Add a Network Load Balancer in front of the EC2 instances and configure an Auto Scaling group for the TCP application.
Question
Key Takeaways
The question tests matching load balancer type to protocol (TCP at Layer 4 = NLB) while simultaneously satisfying elasticity, and the trap is reflexively reaching for the more familiar Application Load Balancer.
A TCP-based application spread across two Availability Zones needs both high availability and automatic scaling at the lowest cost, which points to a Network Load Balancer plus an EC2 Auto Scaling group. This page explains why the Layer 4 NLB — not the ALB or GWLB — is the correct front end for raw TCP traffic and how the Auto Scaling group delivers elasticity.
Common mistake: Choosing the Application Load Balancer (option C) because it is the most commonly used ELB in AWS examples — but ALB listeners only support HTTP, HTTPS and gRPC, so it cannot serve a plain TCP workload.
Expert Analysis
Why the Answer Is Correct
The application's end users communicate over TCP, and AWS prescribes the Network Load Balancer for TCP/UDP/TLS traffic because it operates at Layer 4 and forwards connections without terminating or inspecting application-layer protocols. Placing an NLB in front of the EC2 instances in both Availability Zones gives a single highly available entry point with a static IP per AZ. Adding an Auto Scaling group (option B) satisfies the second requirement: the fleet automatically grows and shrinks as user numbers change, and it also keeps capacity balanced across the two AZs. Together the pair meets both the availability and the elasticity requirements, and because NLB is a Layer 4 service with lower per-connection processing than a Layer 7 load balancer, it is the more cost-effective front end for this workload.
Why the Other Options Are Wrong
Option C (Application Load Balancer) is the classic distractor: an ALB is a Layer 7 load balancer whose listeners accept HTTP, HTTPS and gRPC, not arbitrary TCP, so it simply cannot front this application. Option D (manually adding EC2 instances) fails the automatic scaling requirement, is operationally fragile, and typically costs more than a scaling policy because humans over-provision. Option E (Gateway Load Balancer) is designed to insert third-party virtual network appliances such as firewalls and intrusion detection systems into the traffic path; it is not a general application front end. Note that the question asks for a combination, so only one load balancer option plus the scaling option can be correct.
Community Comment Notes
Commenters converge strongly on the same reasoning: as Dantecito puts it, "TCP = NLB highly available and automatically scale = Auto scaling group", and 1a0d459 simply states "TCP - NLB". blehbleh warns against tool-driven mistakes, noting "TCP best option is NLB" and describing chatbots that first suggest an Application Load Balancer until asked to justify it for TCP. LeonSauveterre adds a cost angle, explaining that an ALB still does Layer 7 processing per connection, so it consumes more resources than an NLB doing Layer 4 forwarding. A couple of voters (Ghoneam, siheom, classic_manda) picked B and C, but no commenter offered a technical justification for the ALB, and ALB listeners cannot serve plain TCP.
Official Reference
- https://docs.aws.amazon.com/elasticloadbalancing/latest/network/introduction.html
- https://docs.aws.amazon.com/autoscaling/ec2/userguide/what-is-amazon-ec2-auto-scaling.html
These links open the official vendor documentation in a new tab.
Exam Strategy
When a question names the transport protocol, treat it as a direct pointer to the load balancer tier: TCP/UDP/TLS means Network Load Balancer, HTTP/HTTPS/gRPC means Application Load Balancer, and appliance insertion means Gateway Load Balancer. Then scan the remaining options only for the elasticity or availability mechanism the scenario still lacks, such as an Auto Scaling group.
Frequently Asked Questions
Why is an Application Load Balancer wrong for this TCP application?
Does the Auto Scaling group alone satisfy the high availability requirement?
Community Votes
100% of anonymous learners picked answer AB. Votes are pick records left by other test-takers — they are not the verified answer.
Discussion 7 contributions
Compiled from public community threads and reader submissions, lightly edited for clarity. Handles and vote tallies are shown as recorded, and comments reflect the views of individual contributors.
From public community threads 7
-
blehbleh 👍 7This is A and B. TCP best option is NLB. I know tons of you want to use chat GPT and it's going to tell you application load balancer, then ask chatgpt if an application load balancer really is the best option for TCP and it will be like "aw dang dawg, its not, you're right". Then it will switch to A and B. Because chatgpt doesn't know everything. It's a great tool but you still need to research because it doesn't have all the answers.
-
LeonSauveterre 👍 1Even for basic TCP, ALBs are still operating at Layer 7 to some extent. They have to do more processing per connection than an NLB, which operates at Layer 4. This translates to higher resource consumption on the ALB side, even for simple TCP forwarding. Also, both ALBs and NLBs have similar pricing structures based on 1. Hourly usage: You pay for the time the load balancer is running. This is generally comparable between the two. 2. Load Balancer Capacity Units (LCUs) For TCP traffic, NLBs are significantly more efficient in terms of LCU consumption, especially regarding new connections and bytes processed. Even with low connection rates, the overhead of the ALB's Layer 7 processing will usually result in higher LCU consumption and therefore higher costs.
-
Dantecito 👍 1TCP = NLB highly available and automatically scale = Auto scaling group
-
1a0d459 👍 4TCP - NLB
-
classic_manda 👍 1Answer is B and C
Show 2 more comments
-
Ghoneam 👍 1ALB for TCP
-
siheom 👍 1VOTE BC
Reader comments & corrections
No reader corrections yet — spotted an error or have a note? Share it below.
Related Analysis
Practice All SAA-C03 Questions
Access 120 questions with complete answers and detailed explanations.
View Full SAA-C03 Practice Test →