AWS Certified Solutions Architect – Associate (SAA-C02) — Question 284
A company recently migrated a message processing system to AWS. The system receives messages into an ActiveMQ queue running on an Amazon EC2 instance. Messages are processed by a consumer application running on Amazon EC2. The consumer application processes the messages and writes results to a MySQL database running on Amazon EC2. The company wants this application to be highly available with low operational complexity.
Which architecture offers the HIGHEST availability?
Answer options
- A. Add a second ActiveMQ server to another Availability Zone. Add an additional consumer EC2 instance in another Availability Zone. Replicate the MySQL database to another Availability Zone.
- B. Use Amazon MQ with active/standby brokers configured across two Availability Zones. Add an additional consumer EC2 instance in another Availability Zone. Replicate the MySQL database to another Availability Zone.
- C. Use Amazon MQ with active/standby brokers configured across two Availability Zones. Add an additional consumer EC2 instance in another Availability Zone. Use Amazon RDS for MySQL with Multi-AZ enabled.
- D. Use Amazon MQ with active/standby brokers configured across two Availability Zones. Add an Auto Scaling group for the consumer EC2 instances across two Availability Zones. Use Amazon RDS for MySQL with Multi-AZ enabled.
Correct answer: D
Explanation
Option D delivers the highest availability and lowest operational complexity by replacing self-managed infrastructure with fully managed services, using Amazon MQ in active/standby mode and Amazon RDS for MySQL with Multi-AZ enabled. It also implements an Auto Scaling group across two Availability Zones to ensure the consumer instances can automatically recover and scale based on demand. Other options that rely on self-managed EC2 databases or manual EC2 consumer management fail to provide the same level of resilience and low operational overhead.