Which combination of steps will meet these requirements with the LEAST operational overhead?
(Choose three.)
Use AWS Lambda functions to connect to the IoT devices
Configure the IoT devices to publish to AWS IoT Core
Write the metadata to a self-managed MongoDB database on an Amazon EC2 instance
Write the metadata to Amazon DocumentDB (with MongoDB compatibility)
Use AWS Step Functions state machines with AWS Lambda tasks to prepare the reports and to write the reports to Amazon S3. Use Amazon CloudFront with an S3 origin to serve the reports
Use an Amazon Elastic Kubernetes Service (Amazon EKS) cluster with Amazon EC2 instances to prepare the reports. Use an ingress controller in the EKS cluster to serve the reports
Explanations:
AWS IoT Core can handle MQTT communication and reduce the operational overhead of managing custom protocols. It integrates easily with other AWS services.
Amazon DocumentDB (with MongoDB compatibility) is a fully managed service that provides a MongoDB-compatible environment without the operational overhead of managing MongoDB on EC2.
AWS Step Functions with Lambda can automate the report generation and save the results in Amazon S3. Using CloudFront to serve reports reduces management overhead of maintaining a web app and ensures scalability.
AWS Lambda is not ideal for connecting directly to IoT devices via MQTT. AWS IoT Core is the better service for managing IoT devices and MQTT communication.
Managing a self-hosted MongoDB database on EC2 adds operational overhead. Amazon DocumentDB is a managed solution with lower operational burden.
Using Amazon EKS with EC2 instances adds unnecessary complexity for preparing and serving reports. Step Functions with Lambda offers a more serverless and efficient approach for this task.