AWS IoT as drop-in replacement for existing MQTT server?

0

AWS IoT uses MQTT, but can it also just replace an existing MQTT server for an architecture that was not set up with AWS in mind?

When setting up AWS IoT, one is very much steered to creating devices and 'things' in the AWS panel. "Getting Started" (https://docs.aws.amazon.com/iot/latest/developerguide/iot-gs.html) starts with registering devices, creating a certificate for it, etc. What I can't seem to get clear, is whether one can use AWS IoT as a simple drop-in replacement for any MQTT server, to which clients simply publish and subscribe, especially when your server implements custom authentication. Basically just this part: https://docs.aws.amazon.com/iot/latest/developerguide/iot-message-broker.html but then with custom, stateful, authentication.

For instance, with Mosquitto or HiveMQ (and probably others), you can simply implement a Java or C interface for 'login', 'ACL check', etc. You can write any code you want, which we did: a C++ .so file that looks at what patterns the username contains, takes different authentication routes based on that, caches the result, etc. Any device that is connected can authenticate, then simply publishes, and any client can subscribe to those publishes, provided the authorization back-end grants it, based on a user profile stored in a MySQL DB.

I would like to implement this using AWS IoT if possible. Is it?

Wiebe
asked 4 years ago352 views
2 Answers
0

Hi Wiebe,

While a straight drop-in replacement may not be achievable (devices will need some update to get credentials via custom auth, point at new endpoint, configure custom auth in back-end, etc), AWS IoT Core can be used as a managed MQTT broker without opting in to any of the higher level device and management features. You're definitely looking at some level of effort to switch, though the use case described is supported.

Note there are a few differences between the broker implemented in AWS IoT Core and the official MQTT 3.1.1 spec from which it is derived. These are documented here: https://docs.aws.amazon.com/iot/latest/developerguide/mqtt.html

If you just want a managed MQTT broker without the bells and whistles of AWS IoT, take a look at Amazon MQ https://aws.amazon.com/amazon-mq

HTH,
Ryan@AWS

AWS
Ryan_B
answered 4 years ago
0

Thanks Ryan. Unfortunately my case isn't fixed with the snap of a finger apparently, but your answer helped. I'll have a look at the plain MQ.

Wiebe
answered 4 years ago

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.

Guidelines for Answering Questions