AWS Certified Solutions Architect - Professional / Question #547 of 529

Question #547

A company operates a photo-sharing platform where users upload images. The images are stored on Amazon EBS volumes and analyzed by a third-party image recognition tool for tagging. The frontend is hosted on Amazon EC2 instances in an Auto Scaling group, and another set of EC2 instances processes an Amazon SQS queue for image analysis. The company wants to minimize operational overhead by using AWS managed services and eliminate third-party dependencies.

Which solution meets these requirements?

A

Use Amazon ECS containers for the frontend and Spot instances for the Auto Scaling group that processes the SQS queue. Replace the third-party tool with Amazon Rekognition for image tagging.

B

Store the uploaded images in Amazon EFS and mount the file system to the EC2 instances for the frontend. Process the SQS queue with an AWS Lambda function that calls the Amazon Rekognition API for image tagging.

C

Host the frontend in Amazon S3. Store the uploaded images in Amazon S3. Use S3 event notifications to publish events to the SQS queue. Process the SQS queue with an AWS Lambda function that calls the Amazon Rekognition API for image tagging.

D

Use AWS Elastic Beanstalk to launch EC2 instances in an Auto Scaling group for the frontend and launch a worker environment to process the SQS queue. Replace the third-party tool with Amazon Rekognition for image tagging.

Explanation

Option C meets the requirements by:
1. Hosting the frontend on Amazon S3 (static website), eliminating EC2 management.
2. Storing images in S3 (managed, scalable storage) instead of EBS.
3. Using S3 event notifications to trigger SQS for image processing, removing EC2-based queue processing.
4. Processing the queue with AWS Lambda (serverless) and Amazon Rekognition (managed AI service), replacing the third-party tool.

Other options fail because:
- A: Still uses EC2/ECS for frontend/queue processing (operational overhead).
- B: Uses EFS and EC2 for frontend (not fully serverless).
- D: Relies on Elastic Beanstalk with EC2 instances (requires scaling/config management).

Key Points:
- Use serverless services (S3, Lambda) to reduce operational tasks.
- Replace third-party tools with AWS-native services like Rekognition.
- S3 event notifications integrate seamlessly with SQS/Lambda for event-driven architectures.

Answer

The correct answer is: C