SOA-C02 Reliability and Business Continuity Practice Question
A company runs a stateful web application on EC2 instances in an Auto Scaling group. The application uses a sticky session (session affinity) feature of the Application Load Balancer. During a scale-in event, some users lose their session data. What should the SysOps administrator do to prevent session data loss?
⚠ Common exam trap
It's easy for candidates to think lifecycle hooks (Option C) are a valid solution, but they only delay termination and do not prevent data loss for in-flight sessions, whereas the correct approach is to externalize session state entirely.
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
✓
Store session state in an external data store such as Amazon ElastiCache.
Sticky sessions (session affinity) tie a user's session to a specific EC2 instance. When a scale-in event terminates that instance, the session data stored locally on the instance is lost. Storing session state in an external data store like Amazon ElastiCache decouples session data from individual instances, allowing any healthy instance to serve the user's request without data loss, even after a scale-in event.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✗
Disable sticky sessions and use a round-robin routing algorithm.
Why it's wrong here
Disabling sticky sessions removes any chance that a user's subsequent requests will land on the same instance that holds their in-memory session data. With a round-robin algorithm, each request may be routed to a different EC2 instance, and because the web application is stateful, that new instance will not recognize the session, logging the user out or forcing them to restart their transaction. This directly breaks the application's session requirement rather than solving the underlying problem of state persistence.
- ✓
Store session state in an external data store such as Amazon ElastiCache.
Why this is correct
Storing session state in an external data store such as Amazon ElastiCache decouples the session data from the lifecycle of any single EC2 instance. When an instance is terminated or replaced, other instances can immediately retrieve the same session from the shared ElastiCache cluster, so users experience no interruption. This is the correct pattern because ElastiCache, especially with Redis, provides low latency reads and writes and can be configured with replication and persistence for high availability.
- ✗
Use a lifecycle hook to back up session data before termination.
Why it's wrong here
A lifecycle hook only pauses the Auto Scaling termination process long enough to perform cleanup or backup actions; it does not prevent the instance from being terminated. Even if you back up session data to Amazon S3 or another service, active users' sessions are already lost because their current requests are still pointing to the instance that is about to shut down, and there is no mechanism to seamlessly transfer those in-memory sessions to a surviving instance. The backup is an archive, not a live failover solution, so it fails to maintain session continuity.
- ✗
Increase the Auto Scaling group's cooldown period to delay termination.
Why it's wrong here
Increasing the Auto Scaling group's cooldown period only affects the time between scaling activities, preventing additional instances from being launched or terminated too quickly; it does not delay the termination of an instance that has already been selected for scale-in. The instance will still be terminated once the cooldown expires, and all in-memory session data on that instance will be destroyed. Cooldown periods are a scaling-management tool, not a session-persistence mechanism, so this option merely postpones the inevitable data loss without providing any recovery path.
Go deeper
Related to this question
About these practice questions
This SOA-C02 question is part of Courseiva's 1,169-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 →
JA
Written by Johnson Ajibi, MSc IT Security
Senior Network & Security Engineer · founder of Courseiva
This SOA-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 SOA-C02 exam.