What should a solutions architect do to meet these requirements?
Set up an Amazon Aurora MySQL database as a replication target for the on-premises database. Create an Aurora Replica for the Aurora MySQL database, and move the aggregation jobs to run against the Aurora Replica. Set up collection endpoints as AWS Lambda functions behind a Network Load Balancer (NLB), and use Amazon RDS Proxy to write to the Aurora MySQL database. When the databases are synced, disable the replication job and restart the Aurora Replica as the primary instance. Point the collector DNS record to the NLB.
Set up an Amazon Aurora MySQL database. Use AWS Database Migration Service (AWS DMS) to perform continuous data replication from the on-premises database to Aurora. Move the aggregation jobs to run against the Aurora MySQL database. Set up collection endpoints behind an Application Load Balancer (ALB) as Amazon EC2 instances in an Auto Scaling group. When the databases are synced, point the collector DNS record to the ALB. Disable the AWS DMS sync task after the cutover from on premises to AWS.
Set up an Amazon Aurora MySQL database. Use AWS Database Migration Service (AWS DMS) to perform continuous data replication from the on-premises database to Aurora. Create an Aurora Replica for the Aurora MySQL database, and move the aggregation jobs to run against the Aurora Replica. Set up collection endpoints as AWS Lambda functions behind an Application Load Balancer (ALB), and use Amazon RDS Proxy to write to the Aurora MySQL database. When the databases are synced, point the collector DNS record to the ALB. Disable the AWS DMS sync task after the cutover from on premises to AWS.
Set up an Amazon Aurora MySQL database. Create an Aurora Replica for the Aurora MySQL database, and move the aggregation jobs to run against the Aurora Replica. Set up collection endpoints as an Amazon Kinesis data stream. Use Amazon Kinesis Data Firehose to replicate the data to the Aurora MySQL database. When the databases are synced, disable the replication job and restart the Aurora Replica as the primary instance. Point the collector DNS record to the Kinesis data stream.
Explanations:
This option proposes using an NLB for Lambda functions and RDS Proxy for database writes, but it does not address continuous data replication between on-premises and AWS. Additionally, using an NLB for Lambda functions is uncommon, and the solution lacks a robust migration strategy.
This option suggests using EC2 instances behind an ALB for the collection endpoints, but using EC2 instances in this way is not ideal for serverless migration and scalability. Also, the aggregation jobs could be impacted during the cutover, and there’s no mention of resolving the load job failures.
This option provides a well-rounded solution using AWS DMS for continuous data replication from on-premises to Aurora, which ensures minimal downtime. It also proposes using Aurora Replica for aggregation jobs, Lambda functions for collection endpoints, and RDS Proxy for writing to the database, enabling seamless migration.
This option uses Kinesis and Kinesis Firehose to replicate data to Aurora, which is not optimal for this use case since the data needs to be loaded directly into a MySQL-compatible database. Also, Kinesis would add unnecessary complexity and overhead for database replication.