Which solution meets these requirements?
Use a specific instance endpoint for each replica and add the instance endpoint to each read-only application connection string.
Use reader endpoints for both the read-only workload applications.
Use a reader endpoint for one read-only application and use an instance endpoint for the other read-only application.
Use custom endpoints for the two read-only applications.
Explanations:
Using specific instance endpoints for each replica would not provide load balancing or high availability, as each application would connect directly to a specific replica. If that replica becomes unavailable, the application would fail to connect.
Reader endpoints distribute traffic across all available Aurora replicas. However, they do not guarantee that each application will always connect to a specific replica, which is required in this case.
While this option combines a reader endpoint for one application and an instance endpoint for the other, it does not provide a solution that guarantees dedicated replicas for each application or ensures load balancing and high availability.
Custom endpoints allow the creation of dedicated endpoints for each read-only application, ensuring that each application always connects to its assigned replica. This solution provides both load balancing and high availability.