Which solution will meet these requirements?
Migrate the database to Amazon DynamoDB and use DynamoDB global tables. Instruct the finance team to query a global table in a separate Region. Create an AWS Lambda function to periodically synchronize the contents of the original S3 bucket to a new S3 bucket in the separate Region. Launch EC2 instances and create an ALB in the separate Region. Configure the application to point to the new S3 bucket.
Launch additional EC2 instances that host the application in a separate Region. Add the additional instances to the existing ALIn the separate Region, create a read replica of the RDS DB instance. Instruct the finance team to run queries against the read replica. Use S3 Cross-Region Replication (CRR) from the original S3 bucket to a new S3 bucket in the separate Region. During a disaster, promote the read replica to a standalone DB instance. Configure the application to point to the new S3 bucket and to the newly promoted read replica.
Create a read replica of the RDS DB instance in a separate Region. Instruct the finance team to run queries against the read replica. Create AMIs of the EC2 instances that host the application frontend. Copy the AMIs to the separate Region. Use S3 Cross-Region Replication (CRR) from the original S3 bucket to a new S3 bucket in the separate Region. During a disaster, promote the read replica to a standalone DB instance. Launch EC2 instances from the AMIs and create an ALB to present the application to end users. Configure the application to point to the new S3 bucket.
Create hourly snapshots of the RDS DB instance. Copy the snapshots to a separate Region. Add an Amazon ElastiCache cluster in front of the existing RDS database. Create AMIs of the EC2 instances that host the application frontend. Copy the AMIs to the separate Region. Use S3 Cross-Region Replication (CRR) from the original S3 bucket to a new S3 bucket in the separate Region. During a disaster, restore the database from the latest RDS snapshot. Launch EC2 instances from the AMIs and create an ALB to present the application to end users. Configure the application to point to the new S3 bucket.
Explanations:
Migrating to DynamoDB and using global tables is a significant architectural change that may not be feasible for the existing application. This solution does not address the need for disaster recovery for the RDS database and the S3 bucket. Additionally, synchronizing S3 data across regions does not ensure application resilience or resolve the performance issues caused by the finance team’s queries.
While this option suggests launching additional EC2 instances and creating a read replica for the RDS instance, it does not ensure that the read replica will be fully operational in the event of a disaster. The solution fails to address the need for copying the S3 bucket contents and does not specify how to manage the application state during a failover. Cross-Region Replication is mentioned, but it is not fully integrated into a disaster recovery strategy.
This option provides a comprehensive disaster recovery strategy by creating a read replica in a separate region for the RDS database, allowing the finance team to offload their queries. It also includes creating AMIs of the application EC2 instances, which can be launched in the disaster recovery region. S3 Cross-Region Replication ensures that all documents are available in the new region, and promoting the read replica during a disaster enables quick recovery with minimal data loss.
Although this option includes creating hourly snapshots and copying them to a separate region, it does not resolve the performance issues faced by the finance team, as it does not provide a read replica for querying. Furthermore, the recovery process may be slower due to the need to restore from snapshots, and it does not specify a mechanism for quickly launching the application in the new region or managing S3 data replication effectively.