AWS Certified Solutions Architect – Professional — Question 460

You are migrating a legacy client-server application to AWS. The application responds to a specific DNS domain (e.g. www.example.com) and has a 2-tier architecture, with multiple application servers and a database server. Remote clients use TCP to connect to the application servers. The application servers need to know the IP address of the clients in order to function properly and are currently taking that information from the TCP socket. A Multi-AZ RDS MySQL instance will be used for the database.
During the migration you can change the application code, but you have to file a change request.
How would you implement the architecture on AWS in order to maximize scalability and high availability?

Answer options

Correct answer: D

Explanation

To achieve high availability and scalability, an Elastic Load Balancer (ELB) is required to distribute incoming traffic across application servers in multiple Availability Zones. Because the application relies on TCP and needs the client's source IP address, which is normally lost at the transport layer during load balancing, Proxy Protocol must be enabled on the ELB. This requires a change request to update the application code to interpret the Proxy Protocol header containing the connection information.