Which solution meets these requirements?
Use a different instance endpoint for each application.
Use the reader endpoint for both applications.
Use the reader endpoint for one application and an instance endpoint for the other application.
Use different custom endpoints for each application.
Explanations:
Using a different instance endpoint for each application would not implement load balancing. It would connect each application to a specific DB instance, limiting the ability to distribute read traffic across multiple replicas.
Using the reader endpoint for both applications could lead to resource contention, as it routes traffic to all available Aurora Replicas. This doesn’t allow for separate control of read traffic, which is required here.
Using the reader endpoint for one application and an instance endpoint for the other does not fully utilize load balancing for the second application. It may also lead to a single point of failure for the application connected to the instance endpoint.
Using different custom endpoints for each application allows for load balancing across Aurora Replicas while ensuring high availability. This approach enables specific control over traffic distribution between the applications and maintains fault tolerance.