Automatically Migrating RDS PostgreSQL to Aurora PostgreSQL
Key point
Netflix built a self-service automated migration to move around 400 PostgreSQL clusters to Aurora PostgreSQL.
Details
Netflix set Amazon Aurora PostgreSQL as its database standard in 2024 and built an automated migration workflow to move existing RDS PostgreSQL instances over. In internal evaluations, Aurora PostgreSQL supported 95% or more of other relational workloads, making it the center of standardization.
Migration isn't a simple copy—it's a sophisticated transition process involving replication, quiescence, validation, and cutover. Netflix determined that manually migrating roughly 400 PostgreSQL clusters was impractical, and instead chose a self-service approach that service owners could run themselves.
The core requirements were clear.
- Zero data loss: No data loss even during the very brief transition window
- Minimal downtime: Downtime must be minimized to a level with almost no user impact
- No control over client applications: Application teams should not directly control write stoppages
- No direct access to RDS credentials: Must not rely on user credentials
- Full ecosystem parity: Parameter groups, read replicas, and replication slots must all be matched as well
Among the approaches AWS recommends, Netflix chose migration based on Aurora read replicas. While more complex to implement than the snapshot approach, it maintains sync status through continuous asynchronous replication between source and target, enabling a much shorter downtime during the final cutover.
Netflix's RDS environment has a Data Access Layer (DAL) that centrally handles authentication and routing between applications and databases. Thanks to this structure, applications don't need to handle DB credentials directly, and the backend DB can be transparently switched through configuration changes alone, which is advantageous for low-downtime transitions.
The automated workflow proceeds in the following order.
- Prepare the source environment and enable Automated backups
- Initialize an Aurora read replica to start continuous replication
- Manage replication lag while validating the target cluster
- Briefly pause write traffic to let the source catch up
- Promote the Aurora replica to an independent cluster and switch traffic over
Ultimately, the goal is not just a simple DB migration, but providing a predictable and safe Aurora PostgreSQL standardization path that proceeds without operations team intervention. With this approach, Netflix drives the platform transition at scale while minimizing downtime and preserving performance and operational characteristics.
This summary was generated automatically by AI. Check the original for the author's claims and context. Copyright belongs to the original author.
Our guide explains how the AI works. Report summary errors, attribution issues, or removal requests via Contact.