Courseiva
Design for New SolutionseasyMultiple ChoiceObjective-mapped

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.

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 →

How Courseiva writes practice questions · Editorial policy

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.