Answer – B
ElastiCache can be used to reduce the latency of requests as it is returning values directly from RAM.
A read replica is more suitable for frequently changing, or dynamic queries.
Up-to-dateness of data:
A read replica will continuously sync from the master. So your results will probably lag 0 - 3s (depending on the load) behind the master.
A cache takes the query result at a specific point in time and stores it for a certain amount of time.
Performance:
A cache can only return results for queries it has already seen. So if you run the same queries over and over again, it`s a good match.
If you have many different, frequently changing, or dynamic queries, a read replica will be a better match.
ElastiCache should be much faster since it`s returning values directly from RAM. However, this also limits the number of results you can store.
Option A is incorrect since this is used for the high availability of the database.
Option C is incorrect since using read replica is not suitable as mentioned above.
Option D is incorrect since CloudFront can be used forWeb distributions, not for caching.
For more information on ElastiCache, please refer to the below URL-
https://aws.amazon.com/elasticache