Guidance for Oracle Migrations to Amazon Aurora PostgreSQL Using AWS DMS
Easily migrate large data workloads using AWS migration features
Overview
How it works
These technical details feature an architecture diagram to illustrate how to effectively use this solution. The architecture diagram shows the key components and their interactions, providing an overview of the architecture's structure and functionality step-by-step.
Deploy with confidence
Ready to deploy? Review the sample code on GitHub for detailed deployment instructions to deploy as-is or customize to fit your needs.
Well-Architected Pillars
The architecture diagram above is an example of a Solution created with Well-Architected best practices in mind. To be fully Well-Architected, you should follow as many Well-Architected best practices as possible.
Operational Excellence
CloudFormation provisions the AWS resources needed for migration, simplifying the provisioning and operations management. Aurora emits performance and utilization metrics to Amazon CloudWatch. AWS DMS provides metrics for monitoring the migration tasks, including performance statistics for tasks, source and target databases, and the replication instance. These tools help you to proactively monitor and optimize the migration tasks.
Security
Amazon Virtual Private Cloud (Amazon VPC), Amazon EC2 security groups, AWS Identity and Access Management (IAM), and AWS Key Management Service (AWS KMS) work collectively to enhance security in this Guidance. Using security groups and IAM policies, access is granted to services based on the principle of least privilege. For example, only the required ports are allowed for AWS DMS replication between source (Oracle) and target (Aurora PostgreSQL) instances. Secrets Manager stores and retrieves the database credentials programmatically, avoiding any hard coding of passwords.
Reliability
Amazon RDS Oracle, Aurora PostgreSQL, and AWS DMS support multi-Availability Zone (AZ) configuration for high availability and automatic failover, minimizing the interruptions due to AZ failures. AWS DMS tasks are configured to use the Amazon RDS and Aurora cluster endpoints for seamless failover support in case of any issues with the primary database instance. Aurora keeps a copy of the data across three AZs in a Region, providing high durability. Both Amazon RDS and Aurora support databases backups through manual and automatic snapshots for protection against accidental deletions and logical corruptions.
Performance Efficiency
This Guidance provides best practices for sizing the AWS DMS replication instances based on the source database transactional load, data size, and number of database objects. The AWS DMS task configurations are optimized to achieve maximum throughput for both full load and CDC migrations. This includes number of tasks, tasks per replication instance, threads, parallelism, and transformation rules. Aurora supports Graviton3-based R7g instances with 50 percent more memory bandwidth than previous generations, enabling high-speed access to data in memory.
Cost Optimization
Amazon RDS and Aurora database instances can be scaled up and down to meet migration goals. The Aurora Standard configuration delivers cost-effective pricing for applications with moderate I/O usage, while the Aurora I/O-Optimized configuration provides enhanced pricing for I/O-intensive workloads, supporting optimal performance without overspending. Amazon RDS Oracle supports a range of instance types to match the performance and cost needs.
Sustainability
Aurora PostgreSQL, AWS DMS, and Amazon EC2 can easily scale up or down to match load for sustainable utilization of resources. Furthermore, by supporting the use of energy-efficient processor instance types, like AWS Graviton processors, this Guidance provides increased sustainability. Using AWS Graviton in Amazon EC2 and Aurora can improve the performance of workloads with fewer resources, decreasing your overall resource footprint.
Disclaimer
Did you find what you were looking for today?
Let us know so we can improve the quality of the content on our pages