SOA-C02 Reliability and Business Continuity Practice Question
A company runs a stateful web application on a single Amazon EC2 instance. The application stores session state in memory and writes critical data to an Amazon EBS volume. The SysOps administrator needs to implement a highly available architecture that can tolerate an Availability Zone (AZ) failure. The administrator plans to use an Auto Scaling group and an Application Load Balancer (ALB). Which combination of steps is required to make the application highly available while preserving session and data durability across AZ failures?
⚠ Common exam trap
It's easy for candidates to assume sticky sessions (session affinity) alone are sufficient for high availability, but they fail to realize that sticky sessions do not replicate session state across instances, so an instance failure still loses the session data.
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 an Auto Scaling group across multiple AZs, migrate session storage to Amazon ElastiCache (multi-AZ), and migrate application data from EBS to Amazon EFS (file system mounted across AZs).
It addresses both session state and data durability across AZ failures. Migrating session storage to ElastiCache (multi-AZ) ensures session data survives instance failure, and migrating application data from EBS to EFS provides a shared, multi-AZ file system that persists independently of any single EC2 instance. This combination allows the Auto Scaling group to launch new instances in any AZ and immediately access both session and application data.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✗
Create an AMI of the current instance, configure an Auto Scaling group with a launch template that uses the AMI, and attach the existing EBS volume to new instances.
Why it's wrong here
An existing EBS volume is locked to the Availability Zone in which it was created, so it cannot be attached to an Auto Scaling instance launched in a different AZ. Even if the AMI is copied to other AZs, the single EBS volume is still a point of failure and cannot be mounted concurrently by multiple instances across AZs for shared state. This design leaves the entire application dependent on one AZ and offers no automatic failover.
- ✗
Create a multi-AZ Auto Scaling group and use sticky sessions (session affinity) on the ALB to tie users to specific instances.
Why it's wrong here
Sticky sessions (session affinity) only pin a user to an instance for the life of that instance; if the instance fails, the in-memory session is lost and the ALB has no session data to redirect. While the ASG may launch a replacement instance in another AZ, the user's session is not restored, so the application experiences an outage. Cross-AZ high availability requires a shared session store like ElastiCache, not session affinity.
- ✓
Use an Auto Scaling group across multiple AZs, migrate session storage to Amazon ElastiCache (multi-AZ), and migrate application data from EBS to Amazon EFS (file system mounted across AZs).
Why this is correct
ElastiCache provides a shared, cross-AZ in-memory session store. EFS provides a shared, cross-AZ file system. The Auto Scaling group launches instances in multiple AZs, and the ALB distributes traffic. This architecture survives an AZ failure.
- ✗
Use an Auto Scaling group in a single AZ and use a Multi-AZ RDS instance for data storage.
Why it's wrong here
Placing the Auto Scaling group in a single Availability Zone means that if that AZ experiences an outage, all application instances become unreachable regardless of database redundancy. Multi-AZ RDS protects only the relational data tier by maintaining a standby in a second AZ; it does nothing to make the compute tier available. A single-AZ ASG cannot satisfy the recovery requirement because the entire application front end is still a single point of failure.
Go deeper
Related to this question
About these practice questions
This SOA-C02 question is part of Courseiva's 247-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.