How to Balance TCP Port 1028 Across Three EC2 Instances?

Answer Correct answer: B — Use a Network Load Balancer with a TCP listener on port 1028 and a target group registering the three EC2 instances across the three AZs.

A company has a new application that runs on three Amazon EC2 instances. The EC2 instances are spread across three Availability Zones in a single AWS Region. The application is accessible on TCP port 1028. The company wants to balance traffic across all the EC2 instances. Which solution will meet these requirements with the LEAST operational overhead?

  1. Create an Application Load Balancer with a listener configured to use port 1028. Create a target group on the listener for TCP port 1028. Register the EC2 instances with the target group.
  2. Create a Network Load Balancer with a listener configured to use port 1028. Create a target group on the listener for TCP port 1028. Register the EC2 instances with the target group. Correct Answer
  3. Create a Gateway Load Balancer with a listener configured to use port 1028. Create a target group on the listener for TCP port 1028. Register the EC2 instances with the target group.
  4. Launch an EC2 instance with HAProxy configured that forwards requests to the three IP addresses.

Community Insight

It tests whether you can match an ELB type to a non-HTTP, arbitrary TCP protocol — the trap is assuming any load balancer can front any port.

This question tests load balancer selection for a custom TCP port (1028) spanning three Availability Zones with the least operational overhead. The answer establishes that a Network Load Balancer, with a TCP listener and target group on port 1028, is the correct choice.

Many candidates pick the Application Load Balancer (A) simply because it is the most familiar ELB, but ALB listeners only handle HTTP/HTTPS/gRPC traffic, not an arbitrary TCP application on port 1028.

Community Discussion (1 comments)

Bad_Mat 👍 1 Selected: B
B. Create a Network Load Balancer with a listener configured to use port 1028. Create a target group on the listener for TCP port 1028. Register the EC2 instances with the target group. Question from 2024

Comments & Corrections

No comments 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.

Expert Analysis

Why the Answer Is Correct

The application listens on an arbitrary TCP port (1028), not HTTP or HTTPS, so the balancer must operate at Layer 4 where it can forward raw TCP flows without understanding the application protocol. A Network Load Balancer supports a TCP listener on port 1028, a TCP target group on port 1028, and registration of the three EC2 instances in three AZs; it also gives each AZ its own load balancer node, so instances stay reachable even if one AZ degrades. Because NLB is a fully managed service, listener, target group and health checks are all configuration rather than code you must operate, which satisfies the least-operational-overhead requirement. No HAProxy instance to patch, monitor, scale or make highly available is needed. As the community answer selection notes, this scenario is a straightforward "Network Load Balancer with a listener configured to use port 1028" case.

Why the Other Options Are Wrong

Option A fails because an Application Load Balancer only accepts HTTP, HTTPS or gRPC listener protocols; you cannot create a listener for a generic TCP service on port 1028, so the application would never be routable through it. Option C fails because a Gateway Load Balancer is designed for transparently distributing traffic to fleets of third-party virtual appliances (firewalls, IDS/IPS) using GENEVE encapsulation on port 6081, not for balancing user traffic to application servers. Option D fails on operational overhead: HAProxy running on a single EC2 instance introduces a self-managed, single-point-of-failure component that you must patch, scale and make highly available yourself, which is the opposite of "least operational overhead."

Community Comment Notes

The only visible comment, from Bad_Mat, selects option B and frames the item as a recent exam-style question, echoing the conclusion reached here through protocol reasoning rather than recall. The comment provides no competing rationale for A, C or D, so there is no dissent to reconcile. Treat the agreement as reassurance, not as the basis for the verdict — the decisive fact remains that port 1028 is raw TCP, which only a Layer 4 balancer can front.

Official Reference

Exam Strategy

When a scenario names a specific non-HTTP port or protocol, immediately filter to Layer 4 (NLB) before reading the options in detail. Then eliminate any self-managed option (HAProxy, proxy EC2 fleet) whenever the question says "least operational overhead," since managed ELB features are almost always the intended answer.

Frequently Asked Questions

Why can't an Application Load Balancer handle the TCP port 1028 traffic?

ALB listeners only support HTTP, HTTPS and gRPC protocols, so a generic TCP service on port 1028 cannot be terminated or forwarded by an ALB.

Why is a Gateway Load Balancer wrong for balancing port 1028?

A GWLB distributes traffic to third-party virtual appliances using GENEVE on port 6081; it is not used to load balance application traffic to EC2 web/app servers.

More SOA-C03 FAQ →

Related Analysis

Practice All SOA-C03 Questions

Access 100 questions with complete answers and detailed explanations.

View Full SOA-C03 Practice Test →

← Back to SOA-C03 Study Guide