Langsung ke konten utama

Instalasi dan Konfigurasi EMQX MQTT Broker di AWS

MQTT (Message Queuing Telemetry Transport) adalah sebuah protokol komunikasi machine-to-machine (M2M) yang dirancang untuk perangkat dengan sumber daya terbatas. Beberapa fitur utama MQTT:

  • Ringan - Cocok untuk perangkat dengan sumber daya terbatas seperti sensor, mikrokontroler, dll.
  • Publish/subscribe - Pengirim pesan (publisher) mengirimkan pesannya ke sebuah topik, dan penerima (subscriber) mendaftarkan diri ke topik tertentu untuk menerima pesan.
  • Asynchronous - Komunikasi dilakukan secara asynchronous non-blocking.
  • Small packet overhead - Paket data MQTT sangat kecil overhead-nya dibandingkan protokol lain seperti HTTP.
  • Three levels of QoS - MQTT menyediakan tiga level kualitas layanan (QoS) yaitu 0, 1, dan 2.
  • Connection state awareness - Koneksi MQTT menyimpan state sehingga mudah dipulihkan jika terputus.
  • Security - MQTT bisa diamankan menggunakan TLS/SSL.

Kelebihan MQTT membuatnya cocok untuk IoT, komunikasi machine-to-machine, dan aplikasi mobile dimana konektivitas jaringan tidak selalu stabil. MQTT banyak digunakan untuk smart home, sensor monitoring, messaging, dll.

EMQX (dulunya dikenal sebagai EMQTT) adalah salah satu message broker MQTT terpopuler yang bersifat open source. Beberapa fitur utama EMQX:

  • High performance - Diklaim mampu menangani puluhan juta koneksi MQTT secara concurrent.
  • Multi protocol - Selain MQTT, juga mendukung protokol lain seperti MQTT-SN, CoAP, LwM2M, WebSocket, dan STOMP.
  • Built-in bridges - Mendukung bridging antar broker MQTT maupun ke protokol lain.
  • Security - Mendukung autentikasi dan enkripsi menggunakan SSL/TLS, PSK cipher suites.
  • Flexible rules engine - Aturan penyaringan pesan yang fleksibel berdasarkan topik, header, isi payload, dll. 
  • Clustering - Bisa dipasang secara terdistribusi dan ter-load balance.
  • Plugin system - Mendukung ekstensi dan kustomisasi melalui plugin.
  • Monitoring & metrics - Fitur monitoring dan metrics yang komprehensif.
  • Multi-tenancy - Mendukung isolasi data antar tenant.
  • Open source - Tersedia secara open source dengan lisensi Apache 2.0.

EMQX banyak digunakan untuk implementasi IoT skala besar karena performa dan fiturnya yang enterprise-grade.Pada artikel ini akan dibahas cara konfigurasi EMQX pada AWS EC2. Langkah-langkah sebagai berikut:


  1. Buat Instance EC2 di AWS Cloud



  1. Akses Instance yang sudah dibuat menggunakan ssh dan lakukan update dengan perintah sudo apt-get update && apt-get upgrade



  1. Download Respository EMQX dengan perintah


curl -s https://assets.emqx.com/scripts/install-emqx-deb.sh | sudo bash


  1. Instal EMQX dengan perintah 


sudo apt-get install emqx


  1. Jalankan EMQX

sudo systemctl start emqx


Pastikan emqx sudah berjalan dengan perintah 


sudo systemctl status emqx 



  1. Berikan akses beberapa Port EMQX 


Pada service EC2 Dibagian sidebar pilih Network & Security dan pilih Security Groups

Klik Security Group ID yang digunakan oleh instance EMQX

Tambahkan Inbound rules sesuai gambar diatas


  1. Jika sudah, akses IP Address Instance EMQX http://localhost:18083 atau http://ipaddress-instance:18083



Pada tahap awal instal, masukkan username admin dan password public. Selanjutnya akan diminta password baru atau bisa di skip jika tidak ingin diubah.


  1. Jika berhasil login, maka akan masuk kedalam Dashbord EMQX



  1. Selanjutnya lakukan konfigurasi user dengan klik Access Control dan klik Authentication


Klik +Create 


Pilih Password-Based dan Next


Pilih Built-in Database dan Next


Klik Create


  1. Selanjutnya tambahkan users dengan klik Users



Centang Is superuser jika ingin membuat user yang bisa akses semua fitur dan topik. Jika sudah tekan Save.


  1. Selanjutnya install MQTTX Client untuk melakukan testing mqtt broker yang sudah berhasil dibuat

MQTTX Download



  1. Tampilan MQTTX Client

Tambahkan koneksi baru dengan klik icon +




Klik Connect jika semuanya sudah sesuai dengan mqtt broker emqx yang dikonfigurasi

sebelumnya.




  1. Terakhir tambahkan subscription dengan topik yang dibutuhkan




Referensi:


Komentar

Postingan populer dari blog ini

Instalasi dan Konfigurasi EMQX MQTT Broker di Windows dan Ubuntu

EMQX (Erlang MQTT Broker) adalah middleware open-source broker MQTT yang dikembangkan menggunakan bahasa pemrograman Erlang/OTP. EMQX menyediakan konektivitas MQTT yang scalable, low latency dan sangat handal untuk Internet of Things, M2M dan perangkat mobile. Berikut langkah-langkah instalasi dan konfigurasi EMQX di Windows dan Ubuntu menggunakan Docker: Windows dan Ubuntu 1. Install Docker Desktop di Windows. Pastikan Windows memenuhi persyaratan untuk menjalankan kontainer Linux. Install Docker Windows dan Install Docker Ubuntu 2. Jalankan PowerShell sebagai administrator. 3. Pull image EMQX dari Docker Hub: docker pull emqx/emqx:latest 4. Jalankan kontainer EMQX: docker run -d --name emqx -p 1883:1883 -p 8083:8083 -p 8084:8084 -p 8883:8883 -p 18083:18083 emqx:5.4.1 5. EMQX sekarang bisa diakses melalui port 1883 (MQTT), 8083 (HTTP API), 8883 (MQTT SSL), 8084 (WebSocket), 18083 (Dashboard). 6. Login ke dashboard EMQX di http://ip_address:18083 d...