Designing Highly Available and Scalable EC2 and MySQL Solutions

SAA-C03 By islever Editorial Last updated

Short answer

C Deploy EC2 instances in an Auto Scaling group behind an ALB and use Amazon Aurora Serverless for the MySQL database layer.

Question

A company has an application that runs on a single Amazon EC2 instance. The application uses a MySQL database that runs on the same EC2 instance. The company needs a highly available and automatically scalable solution to handle increased traffic. Which solution will meet these requirements?
  1. Deploy the application to EC2 instances that run in an Auto Scaling group behind an Application Load Balancer. Create an Amazon Redshift cluster that has multiple MySQL-compatible nodes.
  2. Deploy the application to EC2 instances that are configured as a target group behind an Application Load Balancer. Create an Amazon RDS for MySQL cluster that has multiple instances.
  3. Deploy the application to EC2 instances that run in an Auto Scaling group behind an Application Load Balancer. Create an Amazon Aurora Serverless MySQL cluster for the database layer. Correct Answer
  4. Deploy the application to EC2 instances that are configured as a target group behind an Application Load Balancer. Create an Amazon ElastiCache for Redis cluster that uses the MySQL connector.

Key Takeaways

The question tests the distinction between manual scaling configurations and fully automated Auto Scaling Groups, while requiring a managed database solution that supports high availability.

This guide explains how to design a highly available and automatically scalable architecture for Amazon EC2 applications and MySQL databases using AWS best practices.

Common mistake: Candidates often select options with Application Load Balancers but fail to specify an Auto Scaling Group, missing the 'automatically scalable' requirement, or choose incompatible database services like Redshift.

Expert Analysis

Why the Answer Is Correct

Option C is the correct answer because it combines two critical components: an Auto Scaling Group (ASG) behind an Application Load Balancer (ALB) for the compute layer, and Amazon Aurora Serverless for the database layer. The ASG ensures that EC2 instances are automatically added or removed based on demand, satisfying the 'automatically scalable' requirement. Aurora Serverless provides a highly available MySQL-compatible database that scales capacity automatically, meeting both the HA and scalability criteria without manual intervention.

Why the Other Options Are Wrong

Option A suggests using Amazon Redshift, which is a data warehousing service, not a transactional OLTP database suitable for replacing a MySQL instance in this context. Option B uses an RDS cluster but fails to specify an Auto Scaling Group for the EC2 instances; a target group alone does not provide automatic scaling of the underlying instances. Option D proposes ElastiCache for Redis, which is a caching layer, not a primary database replacement for MySQL persistence.

Community Comment Notes

The community consensus strongly favors Option C. Users highlighted that 'Target groups' alone do not imply automatic scaling, as noted by user MatAlves who emphasized the need for separate management mechanisms otherwise. User Scheldon pointed out that the combination of Auto Scale and Aurora Serverless offers a 'perfect decoupled solution' for handling traffic spikes and server failures. Multiple commenters identified keywords like 'HA' and 'automatically scalable' as direct indicators for choosing the ASG and Serverless database options.

Exam Strategy

Always look for specific keywords like 'automatically scalable' which mandate the use of Auto Scaling Groups for EC2 and Serverless/Provisioned multi-AZ configurations for databases. Avoid options that mention load balancers without explicitly stating the scaling mechanism for the backend instances.

Frequently Asked Questions

Why isn't Amazon RDS sufficient for the database?

RDS can be highly available, but the option didn't specify an Auto Scaling Group for the EC2s, making the whole solution less scalable than Option C's Serverless approach.

Can I use ElastiCache instead of MySQL?

No, ElastiCache is for caching, not primary storage. It cannot replace the persistent MySQL database required by the application.

More SAA-C03 FAQ →

Community Votes

C
100%

100% of anonymous learners picked answer C. Votes are pick records left by other test-takers — they are not the verified answer.

Discussion 8 contributions

Compiled from public community threads and reader submissions, lightly edited for clarity. Handles and vote tallies are shown as recorded, and comments reflect the views of individual contributors.

From public community threads 8

  1. haci 👍 8 Answered C
    Target groups are just a group of Ec2 instances. Target groups are closely associated with ELB and not ASG. We can just use ELB and Target groups to route requests to EC2 instances. With this setup, there is no autoscaling which means instances cannot be added or removed when your load increases/decreases.
  2. sheilawu 👍 5 Answered C
    scalable solution= Amazon Aurora Serverless
  3. Scheldon 👍 3 Answered C
    AnswerC highly available and automatically scalable solution = Auto Scale for EC2 in front which we will have ALB and Aurora Server less will give us perfect decoupled solution in which we can increase amount of servers per need and in case of server failure AutoScale will run new EC2 instance
  4. MatAlves 👍 2 Answered C
    Option B: Target Group: it doesn't inherently imply automatic scaling. You would need to manage scaling separately, either manually or through other mechanisms like scheduled actions. Option C: Auto Scaling Group: This ensures that the EC2 instances can automatically scale in or out based on traffic and demand. "The company needs a highly available and automatically scalable solution" => C
  5. TruthWS 👍 2
    Option C - keywords HA, automatically scalable
Show 3 more comments
  1. LeonSauveterre 👍 1 Answered C
    I don't see how Redshift or ElastiCache relates to the question.
  2. alawada 👍 3 Answered C
    C Is what I will go for
  3. camps 👍 2
    It's C!

Reader comments & corrections

No reader corrections yet — spotted an error or have a note? Share it below.

Log in to comment, report an error, or add a note about this question.

Submitted for moderation before publishing. Keep it helpful and respectful.

Practice All SAA-C03 Questions

Access 120 questions with complete answers and detailed explanations.

View Full SAA-C03 Practice Test →

← Back to SAA-C03 Study Guide