How would you do this while minimizing costs?
Create an EBS backed private AMI which includes a fresh install of your application. Develop a CloudFormation template which includes your AMI and the required EC2, AutoScaling, and ELB resources to support deploying the application across Multiple- Availability-Zones. Asynchronously replicate transactions from your on-premises database to a database instance in AWS across a secure VPN connection.
Deploy your application on EC2 instances within an Auto Scaling group across multiple availability zones. Asynchronously replicate transactions from your on- premises database to a database instance in AWS across a secure VPN connection.
Create an EBS backed private AMI which includes a fresh install of your application. Setup a script in your data center to backup the local database every 1 hour and to encrypt and copy the resulting file to an S3 bucket using multi-part upload.
Install your application on a compute-optimized EC2 instance capable of supporting the application’s average load. Synchronously replicate transactions from your on-premises database to a database instance in AWS across a secure Direct Connect connection.
Explanations:
This solution meets the requirements by creating a pre-configured AMI and a CloudFormation template for automated deployment, enabling the application to be quickly deployed to AWS across multiple availability zones. Asynchronous database replication over a VPN meets the 4-hour RTO and 1-hour RPO while minimizing costs.
While deploying the application across multiple availability zones is beneficial, this option lacks a method for rapid deployment and configuration in case of a disaster, and it does not specify any automation through templates, making it less efficient for the 4-hour RTO.
Backing up the database to S3 every hour helps with RPO, but it lacks the automated infrastructure setup required to meet the 4-hour RTO. Restoring from S3 and redeploying would take too long, and there is no mention of application deployment across availability zones or failover mechanisms.
While a compute-optimized instance could handle application load, synchronous replication over Direct Connect is not feasible due to the 20Mbps connection limit, which would cause latency issues and may not meet the 1-hour RPO and 4-hour RTO within the given time and budget constraints.