Question #1648
A company operates a critical PostgreSQL database on Amazon RDS. To address performance improvements in newer database versions, they need to upgrade the database engine while ensuring zero data loss and minimal downtime. The solution must allow thorough testing of the upgraded database before fully switching over. Which approach meets these requirements with the LEAST operational effort?
Create an RDS read replica on the new PostgreSQL version. Promote the replica to a standalone instance after validation.
Take a manual snapshot of the database. Restore the snapshot to a new instance with the upgraded PostgreSQL version.
Use AWS Schema Conversion Tool (AWS SCT) to migrate the database schema and data to the upgraded PostgreSQL version.
Utilize Amazon RDS Blue/Green Deployments to create a synchronized staging environment for testing the upgrade before switching traffic.
Explanation
Option D is correct because Amazon RDS Blue/Green Deployments create a fully synchronized 'Green' environment alongside the production 'Blue' environment. The Green environment can be upgraded to the new PostgreSQL version, allowing thorough testing before traffic is switched, ensuring zero data loss and minimal downtime during the cutover.
Other options are incorrect because:
- A: RDS read replicas cannot use a different engine version than the primary instance, making this approach invalid.
- B: Restoring a snapshot to a new version requires downtime during the cutover and lacks real-time synchronization, increasing operational effort.
- C: AWS SCT is designed for cross-engine migrations (e.g., Oracle to PostgreSQL), not in-place version upgrades.
Key Points:
1. Blue/Green Deployments enable safe, low-risk upgrades with testing.
2. Read replicas cannot change engine versions.
3. Snapshots involve downtime and manual steps.
4. AWS SCT is irrelevant for same-engine upgrades.
Answer
The correct answer is: D