Q57 — AWS SAA-C03 Ch.1
Question 57 of 65 | ← Chapter 1
Q57. 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?
- 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. 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.
Explanation
Option 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. This architecture offers the highest availability for the message processing system with low operational complexity. Here's why: 1. Amazon MQ with active/standby brokers: Amazon MQ provides a managed message broker service. By configuring active/standby brokers across two Availability Zones, the system achieves high availability for the message queue. If one Availability Zone becomes unavailable, the system can continue operating from the other Availability Zone without interruption. 2. Auto Scaling group for consumer EC2 instances: By using an Auto Scaling group, the system can automatically scale the number of consumer EC2 instances based on demand. The Auto Scaling group can be configured to distribute instances across two Availability Zones, ensuring redundancy and fault tolerance for message processing. If an instance fails or becomes unavailable, the Auto Scaling group replaces it, maintaining the desired number of instances. 3. Amazon RDS for MySQL with Multi-AZ: Using Amazon RDS for MySQL with Multi-AZ enabled provides high availability for the MySQL database. Multi-AZ automatically replicates the database to a standby instance in another Availability Zone. In case of a primary database failure, the standby instance is automatically promoted to the primary role, minimizing downtime and ensuring data integrity. By combining these components, the architecture achieves high availability and fault tolerance at different layers of the application stack: - Message queue: Amazon MQ with active/standby brokers across Availability Zones ensures the availability of the message queue. - Message processing: The Auto Scaling group for consumer EC2 instances distributes the workload across Availability Zones, providing redundancy and scalability. - Database: Amazon RDS for MySQL with Multi-AZ replication ensures high availability of the database and automatic failover in case of a primary instance failure. This architecture offers the highest availability while minimizing operational complexity. It leverages managed services like Amazon MQ and Amazon RDS, reducing the need for manual configuration and management tasks.