Not perfect, but works at least

A Solutions Architect needs to use AWS to implement pilot light disaster recovery for a three-tier web application hosted in an on-premises datacenter.

Which solution allows rapid provision of working, fully-scaled production environment?

  1. Continuously replicate the production database server to Amazon RDS. Use AWS CloudFormation to deploy the application and any additional servers if necessary.
  2. Continuously replicate the production database server to Amazon RDS. Create one application load balancer and register on-premises servers. Configure ELB Application Load Balancer to automatically deploy Amazon EC2 instances for application and additional servers if the on-premises application is down.
  3. Use a scheduled Lambda function to replicate the production database to AWS. Use Amazon Route 53 health checks to deploy the application automatically to Amazon S3 if production is unhealthy.
  4. Use a scheduled Lambda function to replicate the production database to AWS. Register on-premises servers to an Auto Scaling group and deploy the application and additional servers if production is unavailable.

这道题提问的人选择了3,而博主给出的参考答案是2。我的看法则是1,原因如下:

  • 3和4中的明显问题是用Lambda定期复制数据库到AWS。同时4中提到把本地服务器注册到ASG是无法完成的;
  • 1和2两个答案中,1实现了复制生产环境的基本需求。2相对来说更加完善,但是“Configure ELB Application Load Balancer to automatically deploy Amazon EC2 instances”是ELB不支持的。

所以综合来看,1虽然相对不完美,但是没有其他错误。