Courseiva

SOA-C02 Reliability and Business Continuity Practice Question

A company runs a web application on EC2 instances behind an Application Load Balancer (ALB) in a single Availability Zone. The application stores session data in an RDS MySQL DB instance. To improve reliability, the company wants to deploy the application across multiple Availability Zones. Which combination of actions should the company take to achieve this? (Choose the correct course of action.)

⚠ Common exam trap

Many exam-takers confuse RDS Read Replicas with Multi-AZ deployments, assuming a Read Replica provides high availability, when in fact it only supports read scaling and does not offer automatic failover for the primary database.

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

✓

Deploy EC2 instances in two Availability Zones and place them behind an Application Load Balancer. Enable Multi-AZ for the RDS MySQL DB instance.

Deploying EC2 instances across two Availability Zones behind an Application Load Balancer (ALB) provides high availability for the web tier, while enabling Multi-AZ for RDS MySQL ensures synchronous replication to a standby instance in a different AZ, providing automatic failover and data durability. This combination addresses the requirement to improve reliability by eliminating single points of failure at both the compute and database layers.

Answer analysis

Option-by-option breakdown

For each option: why learners choose it and why it is or isn't the right answer here.

  • ✗

    Deploy EC2 instances in a single Availability Zone behind an Application Load Balancer. Enable Multi-AZ for the RDS MySQL DB instance.

    Why it's wrong here

    Although enabling Multi-AZ for RDS protects the database tier from an Availability Zone failure, placing all EC2 instances in a single Availability Zone leaves the application tier as a single point of failure. An Application Load Balancer is a regional service, but if all registered targets reside in one AZ and that AZ becomes unavailable, there are no healthy targets left to receive traffic. The web application therefore becomes unreachable even though the database remains accessible, so this configuration does not meet high-availability requirements.

  • ✗

    Deploy EC2 instances in two Availability Zones and place them behind a Network Load Balancer. Keep RDS MySQL as a single-AZ deployment.

    Why it's wrong here

    A Network Load Balancer operates at Layer 4 and lacks HTTP-aware features such as host-based or path-based routing, but the more critical issue is that a single-AZ RDS MySQL instance is a single point of failure. If that AZ fails, the database will not automatically fail over to another AZ because Multi-AZ is not enabled. Even with EC2 instances spread across two AZs, the application cannot function without its database, and the NLB does nothing to mitigate database downtime.

  • ✗

    Deploy EC2 instances in two Availability Zones. Configure an RDS MySQL Read Replica in a second Availability Zone and route read traffic to it.

    Why it's wrong here

    RDS MySQL Read Replicas are designed for read traffic scaling and do not provide automatic failover for the primary instance. In the event of an AZ failure affecting the primary, the read replica does not automatically become the new primary—promotion requires manual intervention and may cause data loss if the replica has not caught up. Routing read traffic to the replica does not preserve write availability, and the primary DB remains a single point of failure for the application.

  • ✓

    Deploy EC2 instances in two Availability Zones and place them behind an Application Load Balancer. Enable Multi-AZ for the RDS MySQL DB instance.

    Why this is correct

    This architecture provides high availability for both the application and database layers. The EC2 fleet spans two Availability Zones behind an Application Load Balancer, which performs health checks and distributes request traffic to healthy targets, so an instance or AZ failure is absorbed by the remaining targets. Enabling Multi-AZ on RDS MySQL automatically provisions a synchronous standby in a second AZ and performs automatic failover to that standby if the primary fails, thereby eliminating single points of failure across the stack.

About these practice questions

Courseiva writes every SOA-C02 question from scratch — 1,169 in total, each with an explanation and a wrong-answer breakdown. None are copied from real exams or dumps. Learn why practice questions differ from exam dumps →

How Courseiva writes practice questions · Editorial policy

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.