Mengonfigurasi perangkat IoT Edge untuk bertindak sebagai gateway transparan
Berlaku untuk: IoT Edge 1.1
Penting
Tanggal akhir dukungan IoT Edge 1.1 adalah 13 Desember 2022. Periksa Siklus Hidup Produk Microsoft untuk mendapatkan informasi tentang bagaimana produk, layanan, teknologi, atau API ini didukung. Untuk informasi selengkapnya tentang memperbarui ke IoT Edge versi terbaru, lihat Memperbarui IoT Edge.
Artikel ini memberikan instruksi mendetail untuk mengonfigurasi perangkat IoT Edge agar berfungsi sebagai gateway transparan bagi perangkat lain untuk berkomunikasi dengan IoT Hub. Artikel ini menggunakan istilah gateway IoT Edge untuk merujuk ke perangkat IoT Edge yang dikonfigurasi sebagai gateway transparan. Untuk mengetahui informasi selengkapnya, lihat Bagaimana perangkat IoT Edge dapat digunakan sebagai gateway.
Catatan
Di IoT Edge versi 1.1 ke yang lebih lama, perangkat IoT Edge tidak dapat berada di hilir gateway IoT Edge.
Perangkat hilir tidak dapat menggunakan pengunggahan file.
Ada tiga langkah umum untuk menyiapkan koneksi gateway transparan yang sukses. Artikel ini membahas langkah pertama:
- Konfigurasikan perangkat gateway sebagai server sehingga perangkat hilir dapat tersambungkan dengan aman. Siapkan gateway untuk menerima pesan dari perangkat hilir dan merutekannya ke tujuan yang tepat.
- Buat identitas perangkat untuk perangkat hilir sehingga dapat mengautentikasi dengan IoT Hub. Konfigurasikan perangkat hilir untuk mengirim pesan melalui perangkat gateway. Untuk langkah-langkah tersebut, lihat Mengautentikasi perangkat hilir ke Azure IoT Hub.
- Sambungkan perangkat hilir ke perangkat gateway dan mulai mengirim pesan. Untuk langkah-langkah ini, lihat Menyambungkan perangkat hilir ke gateway Azure IoT Edge.
Agar berfungsi sebagai gateway, perangkat perlu tersambung secara aman ke perangkat hilir. Azure IoT Edge memungkinkan Anda menggunakan infrastruktur kunci umum (PKI) untuk menyiapkan koneksi aman antar perangkat. Dalam kasus ini, kami mengizinkan perangkat hilir tersambung ke perangkat IoT Edge yang bertindak sebagai gateway transparan. Untuk menjaga keamanan yang wajar, perangkat hilir harus mengonfirmasi identitas perangkat gateway. Pemeriksaan identitas ini mencegah perangkat Anda terhubung ke gateway yang berpotensi berbahaya.
Perangkat hilir dapat berupa aplikasi atau platform apa pun yang memiliki identitas yang dibuat dengan layanan cloud Azure IoT Hub. Aplikasi ini sering menggunakan SDK perangkat IoT Azure. Perangkat hilir bahkan bisa menjadi aplikasi yang berjalan pada perangkat gateway IoT Edge itu sendiri. Namun, perangkat IoT Edge tidak dapat berada di hilir gateway IoT Edge.
Anda dapat membuat infrastruktur sertifikat apa pun yang memungkinkan kepercayaan yang diperlukan untuk topologi gateway perangkat Anda. Dalam artikel ini, kami mengasumsikan persiapan sertifikat yang sama yang akan Anda gunakan untuk mengaktifkan keamanan CA X.509 di IoT Hub, yang melibatkan sertifikat CA X.509 yang terkait dengan hub IoT tertentu (CA akar hub IoT), serangkaian sertifikat yang ditandatangani dengan CA ini, dan CA untuk perangkat IoT Edge.
Catatan
Istilah sertifikat CA akar yang digunakan di seluruh artikel ini mengacu pada sertifikat publik otoritas tertinggi dari rantai sertifikat PKI, dan belum tentu akar sertifikat dari otoritas sertifikat bersindikasi. Dalam banyak kasus, sertifikat sebenarnya merupakan sertifikat publik CA menengah.
Langkah-langkah berikut memandu Anda melalui proses pembuatan sertifikat dan memasangnya di tempat yang tepat di gateway. Anda dapat menggunakan komputer apa pun untuk menghasilkan sertifikat, lalu menyalinnya ke perangkat IoT Edge.
Prasyarat
Perangkat Linux atau Windows dengan IoT Edge terpasang.
Jika Anda tidak memiliki perangkat yang siap, Anda dapat membuatnya di komputer virtual Azure. Ikuti langkah-langkah dalam Menyebarkan modul IoT Edge pertama Anda ke perangkat Linux virtual untuk membuat IoT Hub, membuat komputer virtual, dan mengonfigurasi runtime IoT Edge.
Menyiapkan sertifikat OS perangkat
Semua gateway IoT Edge memerlukan sertifikat OS perangkat yang terpasang di dalamnya. Daemon keamanan IoT Edge menggunakan sertifikat OS perangkat IoT Edge untuk menandatangani sertifikat OS beban kerja, yang pada gilirannya menandatangani sertifikat server untuk hub IoT Edge. Gateway menyajikan sertifikat servernya ke perangkat hilir selama inisiasi koneksi. Perangkat hilir memeriksa untuk memastikan bahwa sertifikat server adalah bagian dari rantai sertifikat yang di-rollup ke sertifikat OS akar. Proses ini memungkinkan perangkat hilir untuk mengonfirmasi bahwa gateway berasal dari sumber tepercaya. Untuk mengetahui informasi selengkapnya, lihat Memahami cara Azure IoT Edge menggunakan sertifikat.
Sertifikat CA akar dan sertifikat CA perangkat (dengan kunci privat) harus ada pada perangkat gateway IoT Edge dan dikonfigurasi dalam file konfigurasi IoT Edge. Ingat bahwa dalam hal ini sertifikat OS akar berarti otoritas sertifikat paling atas untuk skenario IoT Edge ini. Sertifikat CA perangkat gateway dan sertifikat perangkat hilir perlu di-rollup ke sertifikat CA akar yang sama.
Tip
Proses pemasangan sertifikat OS akar dan sertifikat OS perangkat pada perangkat IoT Edge juga dijelaskan secara lebih rinci dalam Mengelola sertifikat pada perangkat IoT Edge.
Siapkan file berikut ini:
- Sertifikat OS Akar
- Sertifikat OS perangkat
- Kunci privat OS Perangkat
Untuk skenario produksi, Anda harus membuat file-file ini dengan otoritas sertifikat Anda sendiri. Untuk skenario pengembangan dan pengujian, Anda dapat menggunakan sertifikat demo.
Membuat sertifikat demo
Jika Anda tidak memiliki otoritas sertifikat sendiri dan ingin menggunakan sertifikat demo, ikuti instruksi dalam Membuat sertifikat demo untuk menguji fitur perangkat IoT Edge untuk membuat file Anda. Pada halaman tersebut, Anda perlu melakukan langkah-langkah berikut:
- Untuk memulai, siapkan skrip untuk menghasilkan sertifikat di perangkat Anda.
- Membuat sertifikat OS akar. Di akhir instruksi tersebut, Anda akan memiliki file
<path>/certs/azure-iot-test-only.root.ca.cert.pem
sertifikat OS akar . - Membuat sertifikat OS perangkat IoT Edge. Di akhir instruksi tersebut, Anda akan memiliki sertifikat
<path>/certs/iot-edge-device-ca-<cert name>-full-chain.cert.pem
OS perangkat kunci<path>/private/iot-edge-device-ca-<cert name>.key.pem
privatnya .
Menyalin sertifikat ke perangkat
Periksa sertifikat memenuhi persyaratan format.
Jika Anda membuat sertifikat di komputer lain, salin ke perangkat IoT Edge Anda. Anda dapat menggunakan drive USB, layanan seperti Azure Key Vault, atau dengan fungsi seperti Salinan file aman.
Pindahkan file ke direktori pilihan untuk sertifikat dan kunci. Gunakan
/var/aziot/certs
untuk sertifikat dan/var/aziot/secrets
untuk kunci.Buat direktori sertifikat dan kunci dan atur izin. Anda harus menyimpan sertifikat dan kunci Anda ke direktori pilihan
/var/aziot
. Gunakan/var/aziot/certs
untuk sertifikat dan/var/aziot/secrets
untuk kunci.# If the certificate and keys directories don't exist, create, set ownership, and set permissions sudo mkdir -p /var/aziot/certs sudo chown aziotcs:aziotcs /var/aziot/certs sudo chmod 755 /var/aziot/certs sudo mkdir -p /var/aziot/secrets sudo chown aziotks:aziotks /var/aziot/secrets sudo chmod 700 /var/aziot/secrets
Ubah kepemilikan dan izin sertifikat dan kunci.
# Give aziotcs ownership to certificates # Read and write for aziotcs, read-only for others sudo chown -R aziotcs:aziotcs /var/aziot/certs sudo find /var/aziot/certs -type f -name "*.*" -exec chmod 644 {} \; # Give aziotks ownership to private keys # Read and write for aziotks, no permission for others sudo chown -R aziotks:aziotks /var/aziot/secrets sudo find /var/aziot/secrets -type f -name "*.*" -exec chmod 600 {} \;
Mengonfigurasi sertifikat pada perangkat
Pada perangkat IoT Edge Anda, buka file konfigurasi daemon keamanan.
- Windows:
C:\ProgramData\iotedge\config.yaml
- Linux:
/etc/iotedge/config.yaml
- IoT Edge untuk Linux di Windows:
/etc/iotedge/config.yaml
Tip
Jika Anda menggunakan IoT Edge untuk Linux di Windows (EFLOW) Anda harus terhubung ke komputer virtual EFLOW dan mengubah file di dalam VM. Anda dapat terhubung ke VM EFLOW menggunakan cmdlet
Connect-EflowVm
PowerShell lalu menggunakan editor pilihan Anda.- Windows:
Temukan bagian Pengaturan sertifikat dari file. Batalkan komentar empat baris yang dimulai dengan sertifikat: dan berikan URI file ke tiga file Anda sebagai nilai untuk properti berikut ini:
- device_ca_cert: sertifikat OS perangkat
- device_ca_pk: kunci privat OS perangkat
- trusted_ca_certs: sertifikat OS akar
Pastikan tidak ada spasi kosong sebelumnya pada sertifikat: baris, dan bahwa baris lain diindentasi oleh dua spasi.
Simpan dan tutup file.
Hidupkan ulang IoT Edge.
- Windows:
Restart-Service iotedge
- Linux:
sudo systemctl restart iotedge
- IoT Edge untuk Linux di Windows:
sudo systemctl restart iotedge
- Windows:
Menyebarkan edgeHub dan merutekan pesan
Perangkat hilir mengirim telemetri dan pesan ke perangkat gateway, di mana modul hub IoT Edge bertanggung jawab untuk merutekan informasi ke modul lain atau ke IoT Hub. Untuk menyiapkan perangkat gateway Anda untuk fungsi ini, pastikan bahwa:
Modul hub IoT Edge disebarkan ke perangkat.
Ketika Anda pertama kali memasang IoT Edge pada perangkat, hanya satu modul sistem yang dimulai secara otomatis: agen IoT Edge. Setelah Anda membuat penyebaran pertama untuk perangkat, modul sistem kedua dan hub IoT Edge juga dimulai. Jika modul edgeHub tidak berjalan di perangkat Anda, buat penyebaran untuk perangkat Anda.
Modul hub IoT Edge memiliki rute yang disiapkan untuk menangani pesan masuk dari perangkat hilir.
Perangkat gateway harus memiliki rute untuk menangani pesan dari perangkat hilir atau pesan tersebut tidak akan diproses. Anda dapat mengirim pesan ke modul di perangkat gateway atau langsung ke IoT Hub.
Untuk menyebarkan modul hub IoT Edge dan mengonfigurasinya dengan rute untuk menangani pesan masuk dari perangkat hilir, ikuti langkah-langkah berikut:
Di portal Azure, navigasi ke hub IoT Anda.
Buka Perangkat di bawah menu Manajemen perangkat dan pilih perangkat IoT Edge yang ingin Anda gunakan sebagai gateway.
Pilih Atur Modul.
Pada halaman Modul, Anda dapat menambahkan modul apa pun yang ingin Anda sebarkan ke perangkat gateway. Untuk tujuan artikel ini, kami berfokus pada konfigurasi dan penyebaran modul edgeHub, yang tidak perlu diatur secara eksplisit di halaman ini.
Pilih Berikutnya: Rute.
Pada halaman Rute, pastikan bahwa ada rute untuk menangani pesan yang berasal dari perangkat hilir. Contohnya:
Rute yang mengirim semua pesan, baik dari modul atau dari perangkat hilir, ke IoT Hub:
- Nama:
allMessagesToHub
- Nilai:
FROM /messages/* INTO $upstream
- Nama:
Rute yang mengirim semua pesan dari semua perangkat hilir ke IoT Hub:
- Nama:
allDownstreamToHub
- Nilai:
FROM /messages/* WHERE NOT IS_DEFINED ($connectionModuleId) INTO $upstream
Rute ini berfungsi karena, tidak seperti pesan dari modul IoT Edge, pesan dari perangkat hilir tidak memiliki ID modul yang terkait dengannya. Menggunakan klausul WHERE dari rute memungkinkan kami untuk mengatur pesan apa pun dengan properti sistem tersebut.
Untuk mengetahui informasi selengkapnya tentang perutean pesan, lihat Menyebarkan modul dan membuat rute.
- Nama:
Setelah rute atau beberapa rute Anda dibuat, pilih Tinjau + buat.
Pada halaman Tinjau + buat, pilih Buat.
Buka port pada perangkat gateway
Perangkat IoT Edge standar tidak memerlukan konektivitas masuk untuk berfungsi, karena semua komunikasi dengan IoT Hub dilakukan melalui koneksi keluar. Perangkat gateway berbeda karena mereka perlu menerima pesan dari perangkat hilir. Jika firewall berada di antara perangkat hilir dan perangkat gateway, maka komunikasi juga harus dimungkinkan melalui firewall.
Agar skenario gateway berfungsi, setidaknya salah satu protokol IoT Edge Hub yang didukung harus terbuka untuk lalu lintas masuk dari perangkat hilir. Protokol yang didukung adalah MQTT, AMQP, HTTPS, MQTT melalui WebSocket, dan AMQP melalui WebSocket.
Port | Protokol |
---|---|
8883 | MQTT |
5671 | AMQP |
443 | HTTPS MQTT+WS AMQP+WS |
Langkah berikutnya
Sekarang setelah Anda memiliki perangkat IoT Edge yang disiapkan sebagai gateway transparan, Anda perlu mengonfigurasi perangkat hilir Anda untuk mempercayai gateway dan mengirim pesan ke sana. Lanjutkan ke Autentikasi perangkat hilir ke Azure IoT Hub untuk langkah-langkah berikutnya dalam menyiapkan skenario gateway transparan Anda.