Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Komponen broker EMQX MQTT (aws.greengrass.clientdevices.mqtt.EMQX
) menangani pesan MQTT antara perangkat klien dan perangkat inti Greengrass. Komponen ini menyediakan versi modifikasi dari broker EMQX MQTT 5.0
Broker ini mengimplementasikan protokol MQTT 5.0. Ini mencakup dukungan untuk interval kedaluwarsa sesi dan pesan, properti pengguna, langganan bersama, alias topik, dan banyak lagi. MQTT 5 kompatibel dengan MQTT 3.1.1, jadi jika Anda menjalankan broker Moquette MQTT 3.1.1, Anda dapat menggantinya dengan broker EMQX MQTT 5, dan perangkat klien dapat terus terhubung dan beroperasi seperti biasa.
catatan
Perangkat klien adalah perangkat IoT lokal yang terhubung ke perangkat inti Greengrass untuk mengirim pesan MQTT dan data yang akan diproses. Untuk informasi selengkapnya, lihat Berinteraksilah dengan perangkat IoT lokal.
Versi
Komponen ini memiliki versi berikut:
-
2.0.x
-
1.2.x
-
1.1.x
-
1.0.x
Tipe
Komponen ini adalah komponen generik (aws.greengrass.generic
). Inti Greengrass menjalankan skrip siklus hidup komponen.
Untuk informasi selengkapnya, lihat Jenis komponen.
Sistem operasi
Komponen ini dapat diinstal pada perangkat inti yang menjalankan sistem operasi berikut:
Linux
Windows
Persyaratan
Komponen ini memiliki persyaratan sebagai berikut:
-
Perangkat inti harus dapat menerima koneksi pada port tempat broker MQTT beroperasi. Komponen ini menjalankan broker MQTT pada port 8883 secara default. Anda dapat menentukan port yang berbeda saat Anda mengonfigurasi komponen ini.
Jika Anda menentukan port yang berbeda, dan Anda menggunakan komponen jembatan MQTT untuk menyampaikan pesan MQTT ke broker lain, Anda harus menggunakan MQTT bridge v2.1.0 atau yang lebih baru. Konfigurasikan untuk menggunakan port tempat broker MQTT beroperasi.
Jika Anda menentukan port yang berbeda, dan Anda menggunakan komponen detektor IP untuk mengelola titik akhir broker MQTT, Anda harus menggunakan detektor IP v2.1.0 atau yang lebih baru. Konfigurasikan untuk melaporkan port tempat broker MQTT beroperasi.
-
Pada perangkat inti Linux, Docker diinstal dan dikonfigurasi pada perangkat inti:
-
Docker Engine
1.9.1 atau yang lebih baru diinstal pada perangkat inti Greengrass. Versi 20.10 adalah versi terbaru yang diverifikasi untuk bekerja dengan perangkat lunak AWS IoT Greengrass Core. Anda harus menginstal Docker langsung pada perangkat inti sebelum Anda menyebarkan komponen yang menjalankan kontainer Docker. -
Daemon Docker dimulai dan berjalan pada perangkat inti sebelum Anda men-deploy komponen ini.
-
Pengguna sistem yang menjalankan komponen ini harus memiliki izin root atau administrator. Atau, Anda dapat menjalankan komponen ini sebagai pengguna sistem dalam
docker
grup dan mengonfigurasirequiresPrivileges
opsi komponen inifalse
untuk menjalankan broker EQMX MQTT tanpa hak istimewa.
-
-
Komponen broker EMQX MQTT didukung untuk berjalan di VPC.
-
Komponen broker EMQX MQTT tidak didukung di platform.
armv7
Dependensi
Saat Anda menerapkan komponen, gunakan AWS IoT Greengrass juga versi dependensinya yang kompatibel. Ini berarti bahwa Anda harus memenuhi persyaratan untuk komponen dan semua dependensinya untuk berhasil men-deploy komponen. Bagian ini berisi daftar dependensi untuk versi yang dirilis dari komponen ini dan kendala versi semantik yang menentukan versi komponen untuk setiap dependensi. Anda juga dapat melihat dependensi untuk setiap versi komponen di konsol AWS IoT Greengrass
Tabel berikut mencantumkan dependensi untuk versi 2.0.2 komponen ini.
Dependensi | Versi yang kompatibel | Jenis dependensi |
---|---|---|
Autentikasi perangkat klien | >=2.2.0 <2.6.0 | Lunak |
Untuk informasi selengkapnya tentang dependensi komponen, lihat referensi resep komponen.
Konfigurasi
Komponen ini menyediakan parameter konfigurasi berikut yang dapat Anda sesuaikan ketika Anda men-deploy komponen.
penting
Jika Anda menggunakan versi 2 dari komponen broker MQTT 5 (EMQX), Anda harus memperbarui file konfigurasi Anda. File konfigurasi versi 1 tidak berfungsi dengan versi 2.
- EMQXconfig
-
(Opsional) Konfigurasi broker EMQX MQTT
untuk digunakan. Anda dapat mengatur opsi konfigurasi EMQX dalam komponen ini. Saat Anda menggunakan broker EMQX, Greengrass menggunakan konfigurasi default. Konfigurasi ini digunakan kecuali Anda memodifikasinya menggunakan bidang ini.
Memodifikasi pengaturan konfigurasi berikut menyebabkan komponen broker EMQX dimulai ulang. Perubahan konfigurasi lainnya berlaku tanpa memulai ulang komponen.
-
emqxConfig/cluster
-
emqxConfig/node
-
emqxConfig/rpc
catatan
aws.greengrass.clientdevices.mqtt.EMQX
memungkinkan Anda mengonfigurasi opsi yang sensitif terhadap keamanan. Ini termasuk pengaturan TLS, otentikasi, dan penyedia otorisasi. Kami merekomendasikan konfigurasi default yang menggunakan otentikasi TLS timbal balik dan penyedia autentikasi perangkat klien Greengrass.contoh Contoh: Konfigurasi default
Contoh berikut menunjukkan default yang ditetapkan untuk broker MQTT 5 (EMQX). Anda dapat mengganti pengaturan ini menggunakan pengaturan
emqxConfig
konfigurasi.{ "authorization": { "no_match": "deny", "sources": [] }, "node": { "cookie": "
<placeholder>
" }, "listeners": { "ssl": { "default": { "ssl_options": { "keyfile": "{work:path}\\data\\key.pem", "certfile": "{work:path}\\data\\cert.pem", "cacertfile": null, "verify": "verify_peer", "versions": ["tlsv1.3", "tlsv1.2"], "fail_if_no_peer_cert": true } } }, "tcp": { "default": { "enabled": false } }, "ws": { "default": { "enabled": false } }, "wss": { "default": { "enabled": false } } }, "plugins": { "states": [{"name_vsn": "gg-1.0.0", "enable": true}], "install_dir": "plugins" } } -
- AuthMode
-
(Opsional) Menetapkan penyedia otorisasi untuk broker. Dapat menjadi salah satu dari nilai berikut:
-
enabled
— (Default) Gunakan penyedia otentikasi dan otorisasi Greengrass. -
bypass_on_failure
— Gunakan penyedia otentikasi Greengrass, lalu gunakan penyedia otentikasi yang tersisa di rantai penyedia EMQX jika Greengrass menolak otentikasi atau otorisasi. -
bypass
— Penyedia Greengrass dinonaktifkan. Otentikasi dan otorisasi ditangani oleh rantai penyedia EMQX.
-
requiresPrivilege
-
(Opsional) Pada perangkat inti Linux, Anda dapat menentukan untuk menjalankan broker EMQX MQTT tanpa hak root atau administrator. Jika Anda mengatur opsi ini
false
, pengguna sistem yang menjalankan komponen ini harus menjadi anggotadocker
grup.Default:
true
startupTimeoutSeconds
-
(Opsional) Maksimum waktu dalam hitungan detik untuk memulai broker EMQX MQTT. Status komponen berubah menjadi
BROKEN
jika melebihi batas waktu ini.Default:
90
ipcTimeoutSeconds
-
(Opsional) Maksimum waktu dalam hitungan detik bagi komponen untuk menunggu inti Greengrass merespons permintaan komunikasi antarproses (IPC). Tingkatkan angka ini jika komponen ini melaporkan kesalahan batas waktu saat memeriksa apakah perangkat klien diotorisasi.
Default:
5
crtLogLevel
-
(Opsional) Tingkat log untuk pustaka AWS Common Runtime (CRT).
Default ke level log broker EMQX MQTT (in).
log.level
emqx
restartIdentifier
-
(Opsional) Konfigurasikan opsi ini untuk memulai ulang broker EMQX MQTT. Ketika nilai konfigurasi ini berubah, komponen ini memulai ulang broker MQTT. Anda dapat menggunakan opsi ini untuk memaksa perangkat klien memutuskan sambungan.
dockerOptions
-
(Opsional) Konfigurasikan opsi ini hanya pada sistem operasi Linux untuk menambahkan parameter ke baris perintah Docker. Misalnya, untuk memetakan port tambahan, gunakan parameter
-p
Docker:"-p 1883:1883"
contoh Contoh: Memperbarui file konfigurasi v1.x ke v2.x
Contoh berikut menunjukkan perubahan yang diperlukan untuk memperbarui file konfigurasi v1.x ke versi 2.x.
File konfigurasi versi 1.x:
{
"emqx": {
"listener.ssl.external": "443",
"listener.ssl.external.max_connections": "1024000",
"listener.ssl.external.max_conn_rate": "500",
"listener.ssl.external.rate_limit": "50KB,5s",
"listener.ssl.external.handshake_timeout": "15s",
"log.level": "warning"
},
"mergeConfigurationFiles": {
"etc/plugins/aws_greengrass_emqx_auth.conf": "auth_mode=enabled\n use_greengrass_managed_certificates=true\n"
}
}
File konfigurasi setara untuk v2:
{
"emqxConfig": {
"listeners": {
"ssl": {
"default": {
"bind": "8883",
"max_connections": "1024000",
"max_conn_rate": "500",
"handshake_timeout": "15s"
}
}
},
"log": {
"console": {
"enable": true,
"level": "warning"
}
}
},
"authMode": "enabled"
}
Tidak ada yang setara dengan entri listener.ssl.external.rate_limit
konfigurasi. Opsi use_greengrass_managed_certificates
konfigurasi telah dihapus.
contoh Contoh: Tetapkan port baru untuk broker
Contoh berikut mengubah port tempat broker MQTT beroperasi dari default 8883 ke port 1234. Jika Anda menggunakan Linux, sertakan dockerOptions
bidangnya.
{
"emqxConfig": {
"listeners": {
"ssl": {
"default": {
"bind": 1234
}
}
}
},
"dockerOptions": "-p 1234:1234"
}
contoh Contoh: Sesuaikan level log broker MQTT
Contoh berikut mengubah level log broker MQTT menjadi. debug
Anda dapat memilih dari level log berikut:
-
debug
-
info
-
notice
-
warning
-
error
-
critical
-
alert
-
emergency
Tingkat log default adalahwarning
.
{
"emqxConfig": {
"log": {
"console": {
"level": "debug"
}
}
}
}
contoh Contoh: Aktifkan dasbor EMQX
Contoh berikut memungkinkan dashboard EMQX sehingga Anda dapat memantau dan mengelola broker Anda. Jika Anda menggunakan Linux, sertakan dockerOptions
bidangnya.
{
"emqxConfig": {
"dashboard": {
"listeners": {
"http": {
"bind": 18083
}
}
}
},
"dockerOptions": "-p 18083:18083"
}
File log lokal
Komponen ini menggunakan file log berikut.
/logs/aws.greengrass.clientdevices.mqtt.EMQX.log
/greengrass/v2
Untuk melihat log komponen ini
-
Jalankan perintah berikut pada perangkat inti untuk melihat file log komponen ini secara real time. Ganti
atau/greengrass/v2
C:\greengrass\v2
dengan jalur ke folder AWS IoT Greengrass root.sudo tail -f
/logs/aws.greengrass.clientdevices.mqtt.EMQX.log/greengrass/v2
Lisensi
Pada sistem operasi Windows, perangkat lunak ini menyertakan kode yang didistribusikan di bawah Persyaratan Lisensi Perangkat Lunak Microsoft - Komunitas Microsoft Visual Studio 2022
Komponen ini dirilis menurut Perjanjian Lisensi Perangkat Lunak Greengrass Core
Changelog
Tabel berikut menjelaskan perubahan dalam setiap versi komponen.
Versi |
Perubahan |
---|---|
2.0.2 |
|
2.0.1 |
Versi diperbarui untuk perangkat klien autentikasi versi 2.5.0 rilis. |
2.0.0 |
Versi broker MQTT 5 (EMQX) ini mengharapkan parameter konfigurasi yang berbeda dari versi 1.x. Jika Anda menggunakan konfigurasi non-default untuk versi 1.x, Anda harus memperbarui konfigurasi komponen untuk 2.x. Untuk informasi selengkapnya, lihat Konfigurasi.
|