Question #738
A company operates an IoT platform on AWS, utilizing millions of sensors across Europe that transmit data via MQTT to a custom broker hosted on an EC2 instance. The broker's domain is mqtt.example.net, managed by Route 53. Data is stored in Amazon S3. Recent data surges have caused broker overloads, leading to data loss. The company needs a more reliable solution.
Which solution meets these requirements?
Deploy an Application Load Balancer and Auto Scaling group for the broker. Update Route 53 with an alias to the ALB. Continue using the broker for storage.
Migrate to AWS IoT Core, set up a custom domain, update Route 53 to point to IoT Core's ATS endpoint, and use IoT rules to store data in S3.
Use a Network Load Balancer with the broker as target, create a Global Accelerator pointing to NLB, update Route 53 with multivalue records pointing to Accelerator IPs.
Implement AWS IoT Greengrass, update DNS to Greengrass endpoint, and use IoT rules to trigger Lambda for storage.
Explanation
Answer B is correct because AWS IoT Core is a managed service designed to handle massive IoT workloads, including MQTT communication. It scales automatically, preventing overloads and data loss. By configuring a custom domain and updating Route 53, the existing DNS setup is preserved while leveraging IoT Core's reliability. IoT rules enable direct data storage in S3, removing dependency on EC2.
Other options are incorrect because:
- A: ALB is unsuitable for MQTT's persistent connections, and Auto Scaling alone may not resolve broker bottlenecks.
- C: NLB and Global Accelerator improve network performance but still rely on EC2, which may not scale sufficiently.
- D: Greengrass focuses on edge computing, not centralized data ingestion, and adds unnecessary complexity.
Key Points:
1. AWS IoT Core is purpose-built for scalable MQTT-based IoT workloads.
2. Managed services eliminate EC2 scaling challenges.
3. IoT rules enable seamless integration with S3 for data storage.
Answer
The correct answer is: B