AWS Certified Solutions Architect – Associate (SAA-C02) — Question 566
A company is building a shopping application on AWS. The application offers a catalog that changes once each month and needs to scale with traffic volume. The company wants the lowest possible latency from the application. Data from each user's shopping cart needs to be highly available. User session data must be available even if the user is disconnected and reconnects.
What should a solutions architect do to ensure that the shopping cart data is preserved at all times?
Answer options
- A. Configure an Application Load Balancer to enable the sticky sessions feature (session affinity) for access to the catalog in Amazon Aurora.
- B. Configure Amazon ElastiCache for Redis to cache catalog data from Amazon DynamoDB and shopping cart data from the user's session.
- C. Configure Amazon OpenSearch Service (Amazon Elasticsearch Service) to cache catalog data from Amazon DynamoDB and shopping cart data from the user's session.
- D. Configure an Amazon EC2 instance with Amazon Elastic Block Store (Amazon EBS) storage for the catalog and shopping cart. Configure automated snapshots.
Correct answer: B
Explanation
Amazon ElastiCache for Redis is an in-memory data store that provides sub-millisecond latency, making it the perfect choice for caching catalog data from Amazon DynamoDB and preserving user session states like shopping carts. Sticky sessions on an Application Load Balancer (Option A) do not persist data if the server fails or if the user reconnects from a different connection, while Amazon OpenSearch Service (Option C) is designed for search and analytics rather than session caching. Utilizing a single EC2 instance with EBS (Option D) introduces a single point of failure and does not meet the high availability requirements.