Most Cost-Effective and Scalable Session Storage for ALB EC2
A solutions architect is designing a web application that will run on Amazon EC2 instances behind an Application Load Balancer (ALB). The application requires that users' session data be stored and made available across all instances. Which solution is MOST cost-effective and scalable?
Quick Answer
The answer is Amazon ElastiCache for Redis, which provides the most cost-effective and scalable session storage for ALB EC2 deployments. This is because ElastiCache for Redis operates as a distributed, in-memory data store, allowing session data to be shared across all EC2 instances behind the load balancer without coupling a user to a single instance. On the AWS Certified Solutions Architect Professional SAP-C02 exam, this scenario tests your understanding of stateless application design and the trade-offs between sticky sessions, shared storage, and dedicated caching services. A common trap is choosing sticky sessions (ALB session affinity), which reduces fault tolerance by pinning a user to a specific instance, or selecting Amazon RDS, which is slower and more expensive for ephemeral session data. Remember the memory tip: "Stickiness is a single point of failure; Redis is the stateless savior."
⚠ Common exam trap
Watch out — candidates often confuse sticky sessions (session affinity) as a valid solution for session persistence, but it actually undermines scalability and fault tolerance by tying a user to a single instance, which is the opposite of what a stateless, horizontally scalable architecture requires.
Answer choices
Why each option matters
Answer the question above first, then reveal the full breakdown to understand why each option is right or wrong.
Correct answer & explanation
✓
Use Amazon ElastiCache for Redis to store session data
Amazon ElastiCache for Redis provides a fully managed, in-memory data store that is ideal for storing session state externally from the EC2 instances. This decouples session data from the compute layer, allowing any instance to retrieve the same session data regardless of which instance originally handled the request. Redis offers sub-millisecond latency, built-in replication, and automatic failover, making it both highly scalable and cost-effective for session management at scale.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✓
Use Amazon ElastiCache for Redis to store session data
Why this is correct
Redis provides a fast, shared session store that all instances can access.
- ✗
Store session data on an Amazon EBS volume attached to each instance
Why it's wrong here
EBS volumes are not shared across instances.
- ✗
Store session data in an Amazon RDS database
Why it's wrong here
RDS adds latency and cost compared to an in-memory cache.
- ✗
Enable sticky sessions (session affinity) on the ALB
Why it's wrong here
Sticky sessions reduce availability and scalability if an instance fails.
Go deeper
Related to this question
About these practice questions
This SAP-C02 question is part of Courseiva's 1,660-question bank — original exam-style content with full explanations and wrong-answer analysis, never real exam questions or exam dumps. Learn why practice questions differ from exam dumps →
Same concept, more angles
3 more ways this is tested on SAP-C02
These questions test the same concept from different angles. Work through them to make sure you can recognise it however the exam phrases it.
Variation 1. A company is designing a new application that will run on Amazon EC2 instances in an Auto Scaling group behind an Application Load Balancer. The application must maintain session state. The company expects steady traffic with occasional spikes. Which solution is MOST scalable and cost-effective?
medium- A.Use sticky sessions (session affinity) on the ALB with a session cookie.
- B.Use Amazon ElastiCache for Memcached to store session data.
- C.Store session data in Amazon DynamoDB tables.
- ✓ D.Use Amazon ElastiCache for Redis to store session data externally.
Why D: Amazon ElastiCache for Redis provides a highly scalable, low-latency, and durable external session store that decouples session state from EC2 instances. This allows the Auto Scaling group to add or remove instances freely without losing session data, and Redis supports replication and persistence for reliability. Compared to DynamoDB, Redis offers lower latency for session access, and compared to Memcached, it provides data structures and persistence that are beneficial for session management.
Variation 2. A company is designing a new application that will run on Amazon EC2 instances in an Auto Scaling group behind an Application Load Balancer. The application requires that users' session data be stored durably and with low latency. The session data is accessed frequently but is rarely updated. Which solution is MOST cost-effective?
medium- ✓ A.Use ElastiCache for Redis with replication.
- B.Store session data in Amazon S3 with reduced redundancy.
- C.Use DynamoDB with on-demand capacity.
- D.Use ElastiCache for Memcached with multiple nodes.
Why A: ElastiCache for Redis with replication is the most cost-effective solution because it provides durable, low-latency session storage with built-in replication for high availability. Redis supports persistence (e.g., snapshots or AOF logs) to ensure session data survives node failures, and its in-memory nature delivers sub-millisecond latency for frequent reads with rare updates, avoiding the higher costs of DynamoDB on-demand or the lack of durability in Memcached.
Variation 3. A company is designing a new application that will run on Amazon EC2 instances behind an Application Load Balancer. The application needs to store session state. Which AWS service provides a fully managed, highly scalable solution for session state management?
easy- A.Amazon DynamoDB
- ✓ B.Amazon ElastiCache for Redis
- C.Amazon S3
- D.Amazon RDS for MySQL
Why B: Amazon ElastiCache for Redis is the correct choice because it provides a fully managed, in-memory data store that is ideal for session state management. Redis offers sub-millisecond latency, built-in replication, and automatic failover, making it highly scalable and durable for session data. The Application Load Balancer can be configured with stickiness (session affinity) to route requests to the same EC2 instance, but using ElastiCache for Redis decouples session state from the compute layer, enabling stateless application tiers and seamless scaling.
JA
Written by Johnson Ajibi, MSc IT Security
Senior Network & Security Engineer · founder of Courseiva
This SAP-C02 practice question is part of Courseiva's free Amazon Web Services certification practice question bank. Courseiva provides original exam-style practice questions with explanations, topic-based practice, mock exams, readiness tracking, and study analytics to help learners prepare for the SAP-C02 exam.