ANS-C01 · Question #48
An IoT company sells hardware sensor modules that periodically send out temperature, humidity, pressure, and location data through the MQTT messaging protocol. The hardware sensor modules send this…
The correct answer is B. Place the EC2 instances behind a Network Load Balancer (NLB). Configure TCP listeners. To migrate on-premises MQTT brokers to AWS without reconfiguring hardcoded sensor modules and address global latency, a Network Load Balancer (NLB) with TCP listeners should be used to provide static, public IP addresses through Elastic IP addresses.
Question
An IoT company sells hardware sensor modules that periodically send out temperature, humidity, pressure, and location data through the MQTT messaging protocol. The hardware sensor modules send this data to the company's on-premises MQTT brokers that run on Linux servers behind a load balancer. The hardware sensor modules have been hardcoded with public IP addresses to reach the brokers. The company is growing and is acquiring customers across the world. The existing solution can no longer scale and is introducing additional latency because of the company's global presence. As a result, the company decides to migrate its entire infrastructure from on premises to the AWS Cloud. The company needs to migrate without reconfiguring the hardware sensor modules that are already deployed across the world. The solution also must minimize latency. The company migrates the MQTT brokers to run on Amazon EC2 instances. What should the company do next to meet these requirements?
Options
- APlace the EC2 instances behind a Network Load Balancer (NLB). Configure TCP listeners. Use
- BPlace the EC2 instances behind a Network Load Balancer (NLB). Configure TCP listeners.
- CPlace the EC2 instances behind an Application Load Balancer (ALB). Configure TCP listeners.
- DPlace the EC2 instances behind an Amazon CloudFront distribution. Use Bring Your Own IP
How the community answered
(41 responses)- A5% (2)
- B63% (26)
- C10% (4)
- D22% (9)
Why each option
To migrate on-premises MQTT brokers to AWS without reconfiguring hardcoded sensor modules and address global latency, a Network Load Balancer (NLB) with TCP listeners should be used to provide static, public IP addresses through Elastic IP addresses.
While an NLB with TCP listeners is correct, Global Accelerator enhances global performance, but the primary problem is hardcoded IPs, which the NLB with EIPs directly solves, making this a secondary optimization.
A Network Load Balancer (NLB) provides static public IP addresses through Elastic IP addresses, which can be assigned to the NLB, allowing hardcoded sensor modules to connect without reconfiguration; NLBs also support TCP listeners for MQTT and scale for global growth.
An Application Load Balancer (ALB) operates at Layer 7 and does not support raw TCP listeners for protocols like MQTT without additional proxies, nor does it inherently provide static public IP addresses in the same manner as an NLB.
Amazon CloudFront is a CDN designed for caching web content and accelerating HTTP/HTTPS traffic, which is unsuitable for UDP-based or raw TCP (MQTT) protocols and not designed for direct backend service exposure in this manner.
Concept tested: Network Load Balancer for Static IP and TCP/MQTT
Source: https://docs.aws.amazon.com/elasticloadbalancing/latest/network/introduction.html
Topics
Community Discussion
No community discussion yet for this question.