What should a solutions architect recommend to meet this requirement?
Deploy a Network Load Balancer (NLB). Configure the NLB to be publicly accessible over the TCP port that the application requires.
Deploy an Application Load Balancer (ALB). Configure the ALB to be publicly accessible over the TCP port that the application requires.
Deploy an Amazon CloudFront distribution that listens on the TCP port that the application requires. Use an Application Load Balancer as the origin.
Deploy an Amazon API Gateway API that is configured with the TCP port that the application requires. Configure AWS Lambda functions with provisioned concurrency to process the requests.
Explanations:
A Network Load Balancer (NLB) is designed to handle millions of requests per second while maintaining low latency, making it suitable for TCP-based applications. It can be configured to be publicly accessible on a nonstandard TCP port, which aligns with the requirements of the application being migrated to AWS.
An Application Load Balancer (ALB) operates at the application layer (HTTP/HTTPS) and is not optimized for raw TCP traffic. It cannot directly handle nonstandard TCP ports as effectively as an NLB and would not meet the performance requirements of processing 3 million requests per second.
Amazon CloudFront is primarily a content delivery network (CDN) designed for HTTP/HTTPS traffic. While it can work with TCP traffic, it is not intended for direct TCP applications without HTTP layers and would add unnecessary complexity and potential latency, not meeting the performance requirements.
Amazon API Gateway is designed for managing APIs and operates over HTTP/S, not directly over TCP. While it supports integration with AWS Lambda, it would not provide the low-latency, high-throughput performance required for a TCP-based application processing 3 million requests per second.