Membuat dan memprovisi perangkat IoT Edge dalam skala besar di Linux menggunakan kunci konten
Berlaku untuk: IoT Edge 1.5 IoT Edge 1.4
Penting
IoT Edge 1.5 LTS dan IoT Edge 1.4 LTS adalah rilis yang didukung. IoT Edge 1.4 LTS adalah akhir masa pakai pada 12 November 2024. Jika Anda menggunakan rilis sebelumnya, lihat Memperbarui IoT Edge.
Artikel ini berisi petunjuk menyeluruh untuk provisi otomatis untuk satu atau beberapa perangkat IoT Edge Linux menggunakan kunci konten. Anda dapat secara otomatis memprovisikan perangkat Azure IoT Edge dengan layanan provisi perangkat Azure IoT Hub (DPS). Jika Anda tidak terbiasa dengan proses provisi otomatis, tinjau gambaran umum provisi sebelum melanjutkan.
Tugasnya adalah sebagai berikut:
- Buat pendaftaran individual untuk perangkat tunggal atau pendaftaran grup untuk serangkaian perangkat.
- Instal runtime IoT Edge dan sambungkan ke IoT Hub.
Tip
Untuk pengalaman yang disederhanakan, cobalah alat konfigurasi Azure IoT Edge. Alat baris perintah ini, yang saat ini dalam pratinjau publik, memasang IoT Edge di perangkat Anda dan menyediakannya menggunakan DPS dan pengesahan kunci konten.
Pengesahan kunci konten adalah pendekatan sederhana untuk mengautentikasi perangkat dengan instans device provisioning service. Metode pengesahan ini merupakan pengalaman "Halo dunia" bagi pengembang yang baru dalam provisi perangkat, atau tidak memiliki persyaratan keamanan yang ketat. Pengesahan perangkat menggunakan TPM atau sertifikat X.509 lebih aman, dan harus digunakan untuk persyaratan keamanan yang lebih ketat.
Prasyarat
Sumber daya cloud
- Hub IoT yang aktif
- Instans layanan provisi perangkat IoT Hub di Azure, ditautkan ke hub IoT Anda
- Jika Anda tidak memiliki instans layanan provisi perangkat, Anda dapat mengikuti petunjuk di bagian Membuat layanan provisi perangkat IoT Hub baru dan Menautkan IoT hub dan layanan provisi perangkat Anda dari mulai cepat layanan provisi perangkat IoT Hub.
- Setelah Anda menjalankan layanan provisi perangkat, salin nilai Cakupan ID dari halaman gambaran umum. Anda menggunakan nilai ini saat mengonfigurasi runtime IoT Edge.
Persyaratan perangkat
Perangkat fisik atau Linux virtual untuk menjadi perangkat IoT Edge.
Anda perlu menentukan ID pendaftaran unik untuk mengidentifikasi masing-masing perangkat. Anda dapat menggunakan alamat MAC, nomor seri, atau informasi unik apa pun dari perangkat. Sebagai contoh, Anda dapat menggunakan kombinasi alamat MAC dan nomor seri yang membentuk string berikut untuk ID pendaftaran: sn-007-888-abc-mac-a1-b2-c3-d4-e5-f6
. Karakter yang valid adalah alfanumerik huruf kecil dan tanda hubung (-
).
Buat pendaftaran DPS
Buat pendaftaran untuk memprovisikan satu atau beberapa perangkat melalui DPS.
Jika Anda ingin menyediakan satu perangkat IoT Edge, buatlah pendaftaran individu. Jika Anda memerlukan beberapa perangkat yang disediakan, ikuti langkah-langkah untuk membuat pendaftaran grup DPS.
Ketika Anda membuat pendaftaran di DPS, Anda memiliki kesempatan untuk menyatakan status awal perangkat kembaran. Di perangkat kembaran, Anda dapat mengatur tag ke perangkat grup dengan metrik apa pun yang Anda butuhkan dalam solusi Anda, seperti wilayah, lingkungan, lokasi, atau jenis perangkat. Tag ini digunakan untuk membuat penyebaran otomatis.
Untuk informasi selengkapnya tentang pendaftaran di Layanan Provisi Perangkat, lihat Cara mengelola pendaftaran perangkat.
Membuat pendaftaran individu DPS
Tip
Langkah-langkah dalam artikel ini adalah untuk portal Microsoft Azure, tetapi Anda juga dapat membuat pendaftaran individu menggunakan Azure CLI. Untuk informasi selengkapnya, lihat az iot dps enrollment. Sebagai bagian dari perintah CLI, gunakan bendera berkemampuan edge untuk menentukan bahwa pendaftaran tersebut adalah untuk perangkat IoT Edge.
Di portal Microsoft Azure, buka instans Layanan provisi perangkat IoT Hub.
Di bawah Pengaturan, pilih Kelola pendaftaran.
Pilih Tambahkan pendaftaran individual lalu selesaikan langkah-langkah berikut untuk mengonfigurasi pendaftaran:
Untuk Mekanisme, pilih Kunci Konten.
Masukkan ID Pendaftaran unik untuk perangkat Anda.
Secara opsional, masukkan ID Perangkat IoT Hub untuk perangkat Anda. Anda dapat menggunakan ID perangkat untuk menargetkan perangkat individual untuk penyebaran modul. Jika Anda tidak memberikan ID perangkat, ID pendaftaran akan digunakan.
Pilih True untuk menyatakan bahwa pendaftarannya adalah untuk perangkat IoT Edge.
Secara opsional, tambahkan nilai tag ke Status Perangkat Kembar Awal. Anda dapat menggunakan tag untuk menargetkan grup perangkat untuk penyebaran modul. Contohnya:
{ "tags": { "environment": "test" }, "properties": { "desired": {} } }
Pilih Simpan.
Salin nilai Kunci Primer pendaftaran individu untuk digunakan saat memasang runtime bahasa umum IoT Edge.
Sekarang setelah pendaftaran ada untuk perangkat ini, runtime IoT Edge dapat secara otomatis menyediakan perangkat selama instalasi.
Pasang IoT Edge
Di bagian ini, Anda menyiapkan mesin virtual Linux atau perangkat fisik Anda untuk IoT Edge. Kemudian, Anda menginstal IoT Edge.
Jalankan perintah berikut untuk menambahkan repositori paket lalu tambahkan kunci penandatanganan paket Microsoft ke daftar kunci tepercaya Anda.
Penting
Pada 30 Juni 2022 Raspberry Pi OS Stretch dihentikan dari daftar dukungan OS Tier 1. Untuk menghindari potensi kerentanan keamanan, perbarui OS host Anda ke Bullseye.
Untuk sistem operasi platform tingkat 2 yang didukung, paket penginstalan tersedia di rilis Azure IoT Edge. Lihat langkah-langkah penginstalan di Penginstalan versi Offline atau tertentu.
Penginstalan dapat dilakukan dengan beberapa perintah. Buka terminal dan jalankan perintah berikut:
24.04:
wget https://packages.microsoft.com/config/ubuntu/24.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb sudo dpkg -i packages-microsoft-prod.deb rm packages-microsoft-prod.deb
22.04:
wget https://packages.microsoft.com/config/ubuntu/22.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb sudo dpkg -i packages-microsoft-prod.deb rm packages-microsoft-prod.deb
20.04:
wget https://packages.microsoft.com/config/ubuntu/20.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb sudo dpkg -i packages-microsoft-prod.deb rm packages-microsoft-prod.deb
Untuk informasi selengkapnya tentang versi sistem operasi, lihat Platform yang didukung Azure IoT Edge.
Catatan
Paket perangkat lunak Azure IoT Edge tunduk pada ketentuan lisensi yang terletak di setiap paket (direktori usr/share/doc/{package-name}
atau LICENSE
). Baca syarat lisensi sebelum menggunakan paket. Dengan memasang dan menggunakan paket ini, berarti Anda menyetujui syarat tersebut. Jika Anda tidak setuju dengan syarat lisensi, jangan gunakan paket tersebut.
Memasang komputer kontainer
Azure IoT Edge bergantung pada runtime kontainer yang kompatibel dengan OCI. Untuk skenario produksi, kami menyarankan Anda menggunakan mesin Moby. Mesin Moby adalah mesin kontainer yang secara resmi didukung dengan IoT Edge. Gambar kontainer Docker CE/EE kompatibel dengan runtime Moby. Jika Anda menggunakan snap Ubuntu Core, snap Docker dilayankan oleh Canonical dan didukung untuk skenario produksi.
Pasang mesin Moby.
sudo apt-get update; \
sudo apt-get install moby-engine
Secara default, mesin kontainer tidak mengatur batas ukuran log kontainer. Seiring waktu, hal ini dapat menyebabkan perangkat terisi dengan log dan kehabisan ruang disk. Namun, Anda dapat mengonfigurasi log untuk ditampilkan secara lokal, meskipun bersifat opsional. Untuk mempelajari selengkapnya tentang konfigurasi pengelogan, lihat Daftar Periksa Penyebaran Produksi.
Langkah-langkah berikut menunjukkan kepada Anda cara mengonfigurasi kontainer Anda untuk menggunakan local
driver pengelogan sebagai mekanisme pengelogan.
Membuat atau mengedit file konfigurasi daemon Docker yang ada
sudo nano /etc/docker/daemon.json
Atur driver pengelogan default ke
local
driver pengelogan seperti yang ditunjukkan dalam contoh.{ "log-driver": "local" }
Mulai ulang mesin kontainer agar perubahan diterapkan.
sudo systemctl restart docker
Mengonfigurasi runtime IoT Edge
Layanan IoT Edge menyediakan dan mempertahankan standar keamanan di perangkat IoT Edge. Layanan dimulai pada setiap boot dan bootstrap perangkat dengan memulai sisa runtime IoT Edge.
Catatan
Dimulai dengan versi 1.2, layanan identitas IoT menangani provisi dan manajemen identitas untuk IoT Edge dan untuk komponen perangkat lain yang perlu berkomunikasi dengan IoT Hub.
Langkah-langkah di bagian ini mewakili proses umum untuk menginstal versi IoT Edge terbaru pada perangkat yang memiliki koneksi internet. Jika Anda perlu menginstal versi tertentu, seperti versi pra-rilis, atau perlu menginstal saat offline, ikuti langkah-langkah penginstalan versi Offline atau versi tertentu nanti di artikel ini.
Tip
Jika Anda sudah memiliki perangkat IoT Edge yang menjalankan versi yang lebih lama dan ingin meningkatkan ke rilis terbaru, gunakan langkah-langkah dalam Memperbarui daemon dan runtime keamanan IoT Edge. Versi yang lebih baru cukup berbeda dari versi IoT Edge sebelumnya yang diperlukan langkah-langkah khusus untuk ditingkatkan.
Instal versi terbaru IoT Edge dan paket layanan identitas IoT (jika Anda belum diperbarui):
22.04:
sudo apt-get update; \ sudo apt-get install aziot-edge
20.04:
sudo apt-get update; \ sudo apt-get install aziot-edge defender-iot-micro-agent-edge
Paket opsional defender-iot-micro-agent-edge
mencakup pertahanan Microsoft untuk agen mikro keamanan IoT yang memberikan visibilitas titik akhir ke dalam manajemen postur keamanan, kerentanan, deteksi ancaman, manajemen armada, dan banyak lagi untuk membantu Anda mengamankan perangkat IoT Edge Anda. Disarankan untuk menginstal agen mikro dengan agen Edge untuk mengaktifkan pemantauan dan pengerasan keamanan perangkat Edge Anda. Untuk mempelajari selengkapnya tentang Pertahanan Microsoft untuk IoT, lihat Apa itu Pertahanan Microsoft untuk IoT untuk penyusun perangkat.
Menentukan perangkat dengan identitas cloud-nya
Setelah runtime diinstal pada perangkat Anda, konfigurasikan perangkat dengan informasi yang digunakannya untuk terhubung ke layanan provisi perangkat dan IoT Hub.
Siapkan informasi berikut:
- Nilai Cakupan ID DPS
- ID Registrasi perangkat yang Anda buat
- Baik Kunci Primer dari pendaftaran individu, maupun kunci turunan untuk perangkat yang menggunakan pendaftaran grup.
Buat file konfigurasi untuk perangkat Anda berdasarkan file templat yang disediakan sebagai bagian dari instalasi IoT Edge.
sudo cp /etc/aziot/config.toml.edge.template /etc/aziot/config.toml
Buka file konfigurasi pada perangkat IoT Edge.
sudo nano /etc/aziot/config.toml
Temukan bagian Provisi file. Hapus komentar baris provisi DPS dengan kunci konten, dan pastikan baris provisi lainnya dikomentari.
# DPS provisioning with symmetric key [provisioning] source = "dps" global_endpoint = "https://global.azure-devices-provisioning.net" id_scope = "PASTE_YOUR_SCOPE_ID_HERE" # Uncomment to send a custom payload during DPS registration # payload = { uri = "PATH_TO_JSON_FILE" } [provisioning.attestation] method = "symmetric_key" registration_id = "PASTE_YOUR_REGISTRATION_ID_HERE" symmetric_key = { value = "PASTE_YOUR_PRIMARY_KEY_OR_DERIVED_KEY_HERE" } # auto_reprovisioning_mode = Dynamic
Perbarui nilai
id_scope
,registration_id
, dansymmetric_key
dengan informasi DPS dan perangkat Anda.Parameter kunci konten dapat menerima nilai kunci sebaris, URI file, atau URI PKCS#11. Hapus komentar hanya satu baris kunci konten, berdasarkan format yang Anda gunakan. Saat menggunakan kunci sebaris, gunakan kunci yang dikodekan base64 seperti contoh. Saat menggunakan URI file, file Anda harus berisi byte mentah kunci.
Jika Anda menggunakan URI PKCS#11, temukan bagian PKCS#11 di file konfigurasi dan berikan informasi tentang konfigurasi PKCS#11 Anda.
Untuk informasi selengkapnya tentang pengaturan konfigurasi provisi, lihat Mengonfigurasi pengaturan perangkat IoT Edge.
Secara opsional, temukan bagian mode provisi ulang otomatis dari file.
auto_reprovisioning_mode
Gunakan parameter untuk mengonfigurasi perilaku provisi ulang perangkat Anda. Dinamis - Provisi ulang ketika perangkat mendeteksi bahwa perangkat mungkin telah dipindahkan dari satu IoT Hub ke IoT Hub lainnya. Ini adalah default. AlwaysOnStartup - Provisi ulang saat perangkat di-boot ulang atau crash menyebabkan daemon dimulai ulang. OnErrorOnly - Jangan pernah memicu provisi ulang perangkat secara otomatis. Setiap mode memiliki fallback provisi ulang perangkat implisit jika perangkat tidak dapat terhubung ke IoT Hub selama provisi identitas karena kesalahan konektivitas. Untuk informasi selengkapnya, lihat konsep penyediaan ulang perangkat IoT Hub.Secara opsional, batalkan
payload
komentar parameter untuk menentukan jalur ke file JSON lokal. Konten file dikirim ke DPS sebagai data tambahan saat perangkat mendaftar. Ini berguna untuk alokasi kustom. Misalnya, jika Anda ingin mengalokasikan perangkat berdasarkan ID model IoT Plug and Play tanpa intervensi manusia.Simpan dan tutup file.
Terapkan perubahan konfigurasi yang Anda buat pada perangkat.
sudo iotedge config apply
Verifikasi keberhasilan penginstalan
Jika runtime berhasil dimulai, Anda dapat masuk ke IoT Hub Anda dan mulai menyebarkan modul IoT Edge ke perangkat Anda.
Anda dapat memverifikasi bahwa pendaftaran individual yang Anda buat di layanan provisi perangkat telah digunakan. Navigasikan ke instans layanan provisi perangkat Anda di portal Microsoft Azure. Buka detail pendaftaran untuk pendaftaran individual yang Anda buat. Perhatikan bahwa status pendaftaran telah ditetapkan dan ID perangkat telah dicantumkan.
Gunakan perintah berikut di perangkat Anda untuk memverifikasi bahwa IoT Edge terpasang dan berhasil dimulai.
Periksa status layanan IoT Edge.
sudo iotedge system status
Periksa log layanan.
sudo iotedge system logs
Daftarkan modul yang sedang berjalan.
sudo iotedge list
Langkah berikutnya
Proses pendaftaran layanan provisi perangkat memungkinkan Anda mengatur ID perangkat dan tag perangkat kembaran pada saat yang sama saat Anda memprovisikan perangkat baru. Anda dapat menggunakan nilai tersebut untuk menargetkan masing-masing perangkat atau grup perangkat menggunakan manajemen perangkat otomatis. Pelajari cara Menerapkan dan memantau modul IoT Edge dalam skala besar menggunakan portal Azure atau menggunakan Azure CLI.