AWS Certified Solutions Architect – Professional — Question 312
A retail company has a custom .NET web application running on AWS that uses Microsoft SQL Server for the database. The application servers maintain a user's session locally.
Which combination of architecture changes are needed to ensure all tiers of the solution are highly available? (Choose three.)
Answer options
- A. Refactor the application to store the user's session in Amazon ElastiCache. Use Application Load Balancers to distribute the load between application instances.
- B. Set up the database to generate hourly snapshots using Amazon EBS. Configure an Amazon CloudWatch Events rule to launch a new database instance if the primary one fails.
- C. Migrate the database to Amazon RDS for SQL Server. Configure the RDS instance to use a Multi-AZ deployment.
- D. Move the .NET content to an Amazon S3 bucket. Configure the bucket for static website hosting.
- E. Put the application instances in an Auto Scaling group. Configure the Auto Scaling group to create new instances if an instance becomes unhealthy.
- F. Deploy Amazon CloudFront in front of the application tier. Configure CloudFront to serve content from healthy application instances only.
Correct answer: B, D, E
Explanation
To ensure high availability across all tiers, using an Auto Scaling group (Option E) automatically replaces unhealthy application instances to maintain compute availability. Moving the .NET content to an Amazon S3 bucket with static website hosting (Option D) leverages S3's inherently highly available infrastructure for content delivery. Finally, configuring EBS snapshots combined with CloudWatch Events (Option B) provides a automated recovery mechanism for the database tier in case of primary instance failure.