Answer – B
Option A is incorrect because ELB sticky sessions only cache user data locally for better performance. If the EC2 instance fails, the session data will still be lost.
Option B is CORRECT because Redis is a fast, open-source, in-memory data store and caching service. It is highly available, reliable, and with high performance suitable for the most demanding applications such as this one.
Option C is incorrect because Mesh VPN is not fault-tolerant or highly scalable - the client`s real priorities. Its failure would impact users. The supernode that handles the registration is a single point of failure. In case of failure, new VPN nodes would not be able to register. Also, the nodes wouldn`t register across multiple AZs. Even if it is possible, it is very cumbersome.
Option D is incorrect because storing the session state in RDS is not a good option.
For more information on Elastic Cache, please visit the below URL:
https://aws.amazon.com/elasticache/
Note:
Our main requirement is to provide fault tolerance and high scalability.
Redis data resides in-memory, in contrast to databases that store data on disk or SSDs. By eliminating the need to access disks, in-memory data stores such as Redis avoid seeking time delays and access microseconds data. Redis is a popular choice for caching, session management, real-time analytics, geospatial, chat/messaging, media streaming, and gaming leaderboards.
ElastiCache Redis can provide high scalability and is fault-tolerant.