Recently, a company is planning to migrate the critical application part of its business to AWS(aws dumps). This part of the application is a traditional three-tier Web application using the Oracle database.
Everyone should know that data must be encrypted during transmission and at rest. The database carries 12TB of data. At the same time, the company hopes to reduce the company’s own operating costs by using AWS managed services. And it only allows to build all primary keys with the source Oracle database through the internal network; however, it contains many binary large network connections. Due to licensing restrictions, the native replication tool of the database cannot be used.
So which database migration solution will have the least impact on application availability?
A. Set up Amazon RDS for Amazon instances. The sub net hosting the RDS database (VPC) in the virtual private cloud has Internet access, and the RDS database is set as an encrypted read-only copy of the source database. Use SSL to encrypt the connection between the two databases. Monitor the replication performance by observing the RDS Replica Lag indicator. During the application maintenance window, when there is no more replication lag, turn off the local Replica Lag indicator to monitor replication performance. During the application maintenance window, when there is no more replication lag, shut down the local database and switch the application connection to the RDS instance. Promote the read replica to a standalone database instance. According to the database, the application connection is switched to the RDS instance, and the read replica is promoted to an independent database instance.
B. Set up an Amazon EC2 instance and install the same Oracle database software. Use supported tools to create a backup of the source database. During the application maintenance window, restore the backup to the Oracle database running in the EC2 instance. During the setup of the Amazon RDS for Oracle application maintenance window, restore the backup to the Oracle database running in the EC2 instance. Set up an Amazon RDS for Oracle instance and create an import job between AWS-managed databases. After the job is completed, close the source database and connect the database to the Oracle instance, and switch to the RDS instance. Switch to the RDS instance.
C. Use AWS DMS to load and replicate datasets between the local Oracle database and the replication instance hosted on AWS. Provide an Amazon RDS Oracle instance with Transparent Data Encryption (TDE) enabled, which is configured as the target replication instance. Create a customer-managed AWS KMS RDS Oracle instance with Transparent Data Encryption (TDE) enabled, which is configured as the target replication instance. Create a customer-managed AWS KMS master key and set it as the encryption key for the replication instance. Use AWS DMS tasks to load data into the target RDS instance. In the master key of the application, set it as the encryption key of the replication instance. Use AWS DMS tasks to load data into the target RDS instance. During the application maintenance window and after the load task reaches the ongoing replication phase, switch the database connection to the new database.
D. During the application maintenance window, create a compressed full database backup on the local Oracle database. When performing backups, a 10 Gbps AWS Direct Connect connection is provided to increase the transfer speed of database backup files to Amazon S3 and shorten the maintenance window.