Three-Tier MySQL Migration to AWS with PITR
Short answer
C Migrate the web tier to EC2 in public subnets, the app tier to EC2 in private subnets, and the MySQL database to Amazon RDS for MySQL in private subnets.
Question
Key Takeaways
The exam tests whether you can distinguish between a direct MySQL rehost to RDS and a replatform to Aurora; the trap is assuming Aurora is required for point-in-time recovery when RDS for MySQL also supports it.
This SAA-C03 question tests how to migrate a three-tier MySQL application to AWS with the fewest changes while enabling point-in-time recovery. The correct answer is C, using Amazon RDS for MySQL in private subnets, because it preserves the existing MySQL engine and provides managed PITR with minimal operational overhead.
Common mistake: Many candidates choose B (Aurora MySQL) because they believe Aurora is necessary for automated backups and point-in-time recovery, but RDS for MySQL provides the same PITR capability and requires fewer changes to the existing MySQL-based architecture.
Expert Analysis
Why the Answer Is Correct
Option C is correct because it preserves the on-premises architecture most closely: the web tier remains internet-facing in public subnets, the application tier stays isolated in private subnets, and the database engine remains MySQL. Migrating to Amazon RDS for MySQL is a direct lift-and-shift for the database tier, requiring no schema changes or engine-specific rewrites, which satisfies the "fewest possible changes" requirement. RDS for MySQL automatically supports point-in-time recovery to any second within the configured backup retention period, so the restore requirement is met with minimal operational overhead. By keeping the database in private subnets, the solution also follows security best practices without adding unnecessary components.
Why the Other Options Are Wrong
Option A places both the web and application tiers in private subnets, which would require additional infrastructure such as a load balancer or NAT gateway to serve web traffic, increasing architectural changes. Option B replaces the MySQL database with Amazon Aurora MySQL; while Aurora is MySQL-compatible, it is a different engine that may introduce compatibility issues or require application changes, violating the minimal-change requirement. Option D puts the database in public subnets and also uses Aurora MySQL, which is both a security risk and an unnecessary architectural change. Additionally, Option B's use of Aurora does not provide any advantage over RDS for MySQL for the stated requirements, since RDS also supports PITR.
Community Comment Notes
Many community members initially chose B, with some, like Bwhizzy, linking to Aurora's PITR documentation. However, as hajra313 and stephensimudemy argued, RDS for MySQL also provides point-in-time recovery, and changing to Aurora is not required. Commenter kbgsgsgs explicitly warned that "Migrating to Aurora may require more architectural changes than MySQL," emphasizing the minimal-change requirement. Scheldon noted that both Aurora and RDS can execute the task, but the question's wording points to the solution with the fewest changes, which is RDS for MySQL.
Official Reference
- https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PIT.html
- https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-pitr.html
These links open the official vendor documentation in a new tab.
Exam Strategy
When a question mentions "fewest possible changes" and a specific database engine like MySQL, prioritize the managed service that uses the same engine (RDS for MySQL) over a compatible but different engine (Aurora MySQL). Verify that the chosen service supports the required feature, such as point-in-time recovery, as RDS for MySQL does without extra configuration.
Frequently Asked Questions
Why is Amazon Aurora MySQL not the best choice for fewest changes?
Does Amazon RDS for MySQL support point-in-time recovery?
Community Votes
100% of anonymous learners picked answer B. Votes are pick records left by other test-takers — they are not the verified answer.
Discussion 11 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 11
-
haci 👍 11 Answered BI'm between B and C. Since RDS requires an additional configuration for PTR, it adds an operational overhead. So I will go with B. Aurora provides automated backup and point-in-time recovery, simplifying backup management and data protection. Continuous incremental backups are taken automatically and stored in Amazon S3, and data retention periods can be specified to meet compliance requirements. RDS provides the same but first, the users should set a retention period for these backups, allowing historical data recovery in case of accidental data loss or corruption, and point-in-time recovery (PITR) allows users to restore the database to any specific moment within the set retention period.
-
shahreh1 👍 4B: Amazon Aurora is a fully managed relational database engine that’s compatible with both MySQL and PostgreSQL
-
hajra313 👍 3C. This option aligns with the requirements by keeping the web tier in public subnets, migrating the application tier to EC2 instances in private subnets to enhance security, and using Amazon RDS for MySQL in private subnets to meet the database requirements with minimal operational overhead. option A:While migrating the web tier and application tier to EC2 instances in private subnets minimizes exposure to the internet. option B:. Migrating the database tier to Amazon Aurora MySQL introduces changes to the database engine, which might require additional testing and adjustments to the application. Additionally, Aurora MySQL does not directly support point-in-time recovery; instead, it uses continuous backups and snapshots for data recovery.
-
Scheldon 👍 2 Answered BAnswerB The problem with this question is that we do not have enough information. We can execute task with both AURORA or RDS DB. I will go with AURORA as it is Amazon Proprietary and is developed by AWS teams, hence we do not need to think about updates etc. as it is done by AWS teams.
-
Bwhizzy 👍 2 Answered BAnswer is B. please see below article https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-pitr.html
Show 6 more comments
-
kbgsgsgs 👍 1 Answered CAuroralo maigeuleisyeonhalyeomyeon MySQLboda akitegcheo byeongyeong-i deo pil-yohal su issseubnida. ganeunghamyeon choesohan-ui byeongyeong-eul yocheong 67 / 5,000 Migrating to Aurora may require more architectural changes than MySQL. Request minimal changes if possible.
-
stephensimudemy 👍 1 Answered CIt's C. Strictly speaking, there is no AWS DB call Amazon Aurora "MySQL"
-
DEN_ZZ 👍 4 Answered BPTR, it's Aurora
-
Andy_09 👍 3Option B
-
MattBJ 👍 2 Answered BB is the correct option.
-
Andy_09 👍 2Option A works better
Reader comments & corrections
No reader corrections yet — spotted an error or have a note? Share it below.
Related Analysis
Practice All SAA-C03 Questions
Access 120 questions with complete answers and detailed explanations.
View Full SAA-C03 Practice Test →