SAA-C03 Question 138
Select 3A company is designing a multi-tier web application on AWS. The application has a web tier, an application tier, and a database tier. The company requires the architecture to be highly available and to automatically scale based on demand. Which combination of AWS services should the company use to achieve this requirement?
- A
Amazon EC2 instances in an Auto Scaling group for the web tier and application tier, with an Application Load Balancer in front of the web tier
- B
Amazon RDS with Multi-AZ deployment for the database tier
- C
Amazon S3 for hosting the database tier
- D
Amazon Route 53 for DNS and health checks
- E
AWS Elastic Beanstalk for deploying and managing the entire application stack
Show answer and explanation
Correct answers: A, B, D
Explanation
The architecture requires high availability and automatic scaling across all tiers. EC2 instances in Auto Scaling groups with a load balancer, RDS with Multi-AZ deployment, and Route 53 for DNS and health checks collectively fulfill these requirements. S3 is not suitable for hosting databases, and Elastic Beanstalk does not provide the necessary control for this use case.
- A. Correct.
This is a correct choice because using EC2 instances in an Auto Scaling group with an Application Load Balancer ensures high availability and automatic scaling for the web and application tiers.
- B. Correct.
This is a correct choice because Amazon RDS with Multi-AZ deployment provides high availability and failover support for the database tier.
- C. Incorrect.
This is incorrect because Amazon S3 is not suitable for hosting a relational database; it is designed for object storage.
- D. Correct.
This is a correct choice because Amazon Route 53 can provide DNS management and perform health checks to route traffic to healthy endpoints, ensuring high availability.
- E. Incorrect.
This is incorrect because AWS Elastic Beanstalk is a platform-as-a-service offering, and while it simplifies application deployment, it does not provide the granular control required for designing a highly available multi-tier architecture.