Question #966
A company operates a cloud-based application comprising a backend service and a frontend API. Users submit requests to the API, which processes data using the backend service and returns results. The backend uses MongoDB on an Amazon EC2 instance within a VPC that has two private subnets. The frontend API runs on Node.js in a single EC2 instance in a separate VPC with one public subnet. A VPC peering connection links the two VPCs. The API has experienced multiple outages recently due to high traffic volumes. Which steps should a solutions architect take to enhance the application's reliability? (Choose three.)
Deploy the Node.js server in an Auto Scaling group with multiple instances behind an Application Load Balancer.
Establish an additional VPC peering connection.
Migrate the MongoDB database to Amazon DocumentDB with a replica.
Provision two NAT gateways in the backend VPC.
Move the Node.js server to the backend VPC.
Create an additional public subnet in a different Availability Zone within the frontend VPC.
Explanation
A: Deploying the Node.js server in an Auto Scaling group behind an Application Load Balancer distributes traffic across multiple instances, ensuring scalability and fault tolerance during high traffic.
C: Migrating MongoDB to Amazon DocumentDB with a replica replaces the single EC2 instance with a managed service offering automatic failover and multi-AZ redundancy, improving database reliability.
F: Adding a public subnet in another AZ allows the frontend to span multiple Availability Zones, which is critical for high availability when combined with Auto Scaling.
Other options:
B: VPC peering is already established; additional connections are unnecessary.
D: NAT gateways are irrelevant unless the backend requires internet access, which isn't mentioned.
E: Moving the Node.js server to the backend VPC doesn't address the frontend's scalability issues.
Key Points:
- Use Auto Scaling and Load Balancers for stateless tier scalability.
- Managed database services (e.g., DocumentDB) enhance reliability.
- Multi-AZ deployment is essential for high availability.
Answer
The correct answer is: ACF