Which Load Balancer and Scaling Combo Best Serves a TCP App?

SAA-C03 By islever Editorial Last updated

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

A company recently launched a new application for its customers. The application runs on multiple Amazon EC2 instances across two Availability Zones. End users use TCP to communicate with the application. The application must be highly available and must automatically scale as the number of users increases. Which combination of steps will meet these requirements MOST cost-effectively? (Choose two.)
  1. Add a Network Load Balancer in front of the EC2 instances. Correct Answer
  2. Configure an Auto Scaling group for the EC2 instances. Correct Answer
  3. Add an Application Load Balancer in front of the EC2 instances.
  4. Manually add more EC2 instances for the application.
  5. Add a Gateway Load Balancer in front of the EC2 instances.

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

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?

ALB listeners only support HTTP, HTTPS and gRPC at Layer 7, so they cannot forward a plain TCP workload. A Network Load Balancer handles TCP at Layer 4 with less per-connection processing.

Does the Auto Scaling group alone satisfy the high availability requirement?

No. Spreading instances across two AZs helps, but the app still needs a single resilient entry point. The NLB provides healthy-target routing across both AZs as capacity changes.

More SAA-C03 FAQ →

Community Votes

AB
100%

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

  1. blehbleh 👍 7
    This 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.
  2. LeonSauveterre 👍 1
    Even 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.
  3. Dantecito 👍 1
    TCP = NLB highly available and automatically scale = Auto scaling group
  4. 1a0d459 👍 4
    TCP - NLB
  5. classic_manda 👍 1
    Answer is B and C
Show 2 more comments
  1. Ghoneam 👍 1
    ALB for TCP
  2. siheom 👍 1
    VOTE BC

Reader comments & corrections

No reader corrections yet — spotted an error or have a note? Share it below.

Log in to comment, report an error, or add a note about this question.

Submitted for moderation before publishing. Keep it helpful and respectful.

Practice All SAA-C03 Questions

Access 120 questions with complete answers and detailed explanations.

View Full SAA-C03 Practice Test →

← Back to SAA-C03 Study Guide