Memahami runtime Azure IoT Edge dan arsitekturnya

Berlaku untuk:Tanda centang IoT Edge 1.5 IoT Edge 1.5 Tanda centang IoT Edge 1.4 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.

Runtime IoT Edge adalah kumpulan program yang mengubah perangkat menjadi perangkat IoT Edge. Secara kolektif, komponen runtime IoT Edge memungkinkan perangkat IoT Edge untuk menerima kode untuk dijalankan di edge dan mengomunikasikan hasilnya.

Runtime IoT Edge bertanggung jawab atas fungsi berikut pada perangkat IoT Edge:

  • Memasang dan memperbarui beban kerja pada perangkat.

  • Mempertahankan standar keamanan Azure IoT Edge pada perangkat.

  • Memastikan bahwa modul IoT Edge selalu berjalan.

  • Melaporkan kesehatan modul ke cloud untuk pemantauan jarak jauh.

  • Kelola komunikasi antara:

    • Perangkat hilir dan perangkat IoT Edge
    • Modul pada perangkat IoT Edge
    • Perangkat IoT Edge dan cloud
    • Perangkat IoT Edge

Cuplikan layar tentang cara runtime mengomunikasikan wawasan dan kesehatan modul ke I o T Hub.

Tanggung jawab runtime IoT Edge terdiri dari dua kategori: manajemen komunikasi dan modul. Kedua peran ini dijalankan oleh dua komponen yang merupakan bagian dari runtime IoT Edge. Agen IoT Edge menyebarkan dan memantau modul, sementara hub IoT Edge bertanggung jawab atas komunikasi.

Baik agen IoT Edge maupun hub IoT Edge adalah modul, sama seperti modul lain yang berjalan pada perangkat IoT Edge. Kedua modul tersebut terkadang disebut sebagai modul runtime.

Agen IoT Edge

Agen IoT Edge adalah salah satu dari dua modul yang membentuk runtime Azure IoT Edge. Ini bertanggung jawab untuk membuat instans modul, memastikan bahwa modul terus berjalan, dan melaporkan status modul kembali ke IoT Hub. Data konfigurasi ini ditulis sebagai properti agen IoT Edge pasangan modul.

Daemon keamanan IoT Edge memulai agen IoT Edge saat perangkat dinyalakan. Agen tersebut mengambil pasangan modulnya dari IoT Hub dan memeriksa manifes penyebaran. Manifes penyebaran adalah file JSON yang mendeklarasikan modul yang perlu dimulai.

Setiap item dalam manifes penyebaran berisi informasi spesifik tentang modul dan digunakan oleh agen IoT Edge untuk mengontrol siklus hidup modul. Untuk informasi lebih lanjut tentang semua properti yang digunakan oleh agen IoT Edge untuk mengontrol modul, baca tentang Properti agen IoT Edge dan hub IoT Edge pasangan modul.

Agen IoT Edge mengirimkan respons runtime ke IoT Hub. Berikut adalah daftar kemungkinan respons:

  • 200 - OK
  • 400 - Konfigurasi penyebaran rusak atau tidak valid.
  • 417 - Perangkat tidak memiliki set konfigurasi penyebaran.
  • 412 - Versi skema pada konfigurasi penyebaran tidak valid.
  • 406 - Perangkat IoT Edge offline atau tidak mengirim laporan status.
  • 500 - Kesalahan terjadi pada runtime IoT Edge.

Untuk informasi lebih lanjut tentang pembuatan manifes penyebaran, lihat Pelajari cara menyebarkan dan membuat rute di IoT Edge.

Keamanan

Agen IoT Edge memainkan peran penting dalam keamanan perangkat IoT Edge. Contohnya, agen IoT Edge melakukan tindakan seperti memverifikasi gambar modul sebelum memulainya.

Untuk informasi selengkapnya tentang kerangka kerja keamanan Azure IoT Edge, baca tentang manajer keamanan IoT Edge.

IoT Edge hub

Hub IoT Edge adalah modul lain yang membentuk runtime Azure IoT Edge. Hub IoT Edge bertindak sebagai proksi lokal untuk IoT Hub dengan mengekspos titik akhir protokol yang sama dengan IoT Hub. Konsistensi ini menandakan bahwa klien dapat terhubung ke runtime IoT Edge seperti yang mereka lakukan pada IoT Hub.

Hub IoT Edge bukan versi lengkap IoT Hub yang berjalan secara lokal. Hub IoT Edge mendelegasikan beberapa tugas ke IoT Hub tanpa pemberitahuan. Contohnya, hub IoT Edge secara otomatis mengunduh informasi otorisasi dari IoT Hub pada koneksi pertamanya untuk memungkinkan perangkat tersambung. Setelah koneksi pertama dibuat, informasi otorisasi di-cache secara lokal oleh hub IoT Edge. Koneksi dari perangkat tersebut di kemudian hari diotorisasi tanpa harus mengunduh informasi otorisasi dari cloud kembali.

Komunikasi cloud

Untuk mengurangi bandwidth yang digunakan solusi IoT Edge Anda, hub IoT Edge mengoptimalkan berapa banyak koneksi aktual yang dibuat ke cloud. Hub IoT Edge mengambil koneksi logis dari modul atau perangkat hilir dan menggabungkannya menjadi koneksi fisik tunggal ke cloud. Detail proses ini transparan bagi solusi lainnya. Klien berpikir mereka memiliki koneksi mereka sendiri ke cloud meskipun semuanya dikirim melalui koneksi yang sama. Hub IoT Edge dapat menggunakan protokol AMQP atau MQTT untuk berkomunikasi di hulu dengan cloud secara independen dari protokol yang digunakan oleh perangkat hilir. Namun, hub IoT Edge saat ini hanya mendukung penggabungan koneksi logis ke dalam koneksi fisik tunggal menggunakan AMQP sebagai protokol hulu dan kemampuan multiplexing-nya. AMQP adalah protokol hulu default.

Cuplikan layar memperlihatkan hubungan dengan hub I o T Edge sebagai gateway antara perangkat fisik dan I o T Hub.

Hub IoT Edge dapat menentukan apakah terhubung ke IoT Hub atau tidak. Jika koneksi hilang, hub IoT Edge menyimpan pesan atau pembaruan kembar secara lokal. Setelah koneksi kembali tersambung, koneksi menyinkronkan semua data. Lokasi yang digunakan untuk cache sementara ini ditentukan oleh properti dari pasangan modul hub IoT Edge. Ukuran cache tidak dibatasi dan akan tumbuh selama perangkat memiliki kapasitas penyimpanan. Untuk informasi lebih lanjut, lihat Kemampuan offline.

Komunikasi lokal

Hub IoT Edge memfasilitasi komunikasi lokal. Ini memungkinkan komunikasi perangkat-ke-modul dan modul-ke-modul dengan broker pesan untuk menjaga perangkat dan modul tetap independen satu sama lain. Hub IoT Edge mendukung fitur perutean pesan yang didukung oleh IoT Hub.

Menggunakan perutean

Mekanisme perantara menggunakan fitur perutean yang sama dengan IoT Hub untuk menentukan bagaimana pesan diteruskan antara perangkat atau modul. Perangkat atau modul pertama menentukan input tempat mereka menerima pesan dan output tempat mereka menulis pesan. Kemudian pengembang solusi dapat merutekan pesan antara sumber (misalnya, output), dan tujuan (misalnya, input), dengan filter potensial.

Cuplikan layar memperlihatkan bagaimana rute antar modul melalui hub I o T Edge.

Perutean dapat digunakan oleh perangkat atau modul yang dibangun dengan Azure IoT Device SDK menggunakan protokol AMQP. Semua primitif IoT Hub olahpesan (misalnya, telemetri), metode langsung, C2D, kembar, didukung tetapi komunikasi melalui topik yang ditentukan pengguna tidak didukung.

Untuk informasi selengkapnya tentang rute, lihat Mempelajari cara menyebarkan modul dan membuat rute di IoT Edge.

Fitur mekanisme broker tersedia:

Fitur Perutean
Telemetri D2C
Telemetri lokal
DirectMethods
Kembar
C2D untuk perangkat
Memesan
Filter
Topik yang ditentukan pengguna
Perangkat-ke-Perangkat
Penyiaran lokal

Menyambungkan ke hub IoT Edge

Hub IoT Edge menerima koneksi dari klien perangkat atau modul, baik melalui protokol MQTT maupun protokol AMQP.

Catatan

Hub IoT Edge mendukung klien yang terhubung menggunakan MQTT atau AMQP. Hub IoT Edge tidak mendukung klien yang menggunakan HTTP.

Saat klien tersambung ke hub IoT Edge, hal berikut ini terjadi:

  1. Jika Keamanan Lapisan Transportasi (TLS) digunakan (disarankan), saluran TLS dibangun untuk membuat komunikasi terenkripsi antara klien dengan hub IoT Edge.
  2. Informasi autentikasi dikirim dari klien ke hub IoT Edge untuk mengidentifikasi dirinya sendiri.
  3. Hub IoT Edge mengotorisasi atau menolak koneksi berdasarkan kebijakan otorisasinya.

Koneksi aman (TLS)

Secara default, hub IoT Edge hanya menerima koneksi yang diamankan dengan Keamanan Lapisan Transportasi (TLS), misalnya, koneksi terenkripsi yang tidak dapat didekripsi oleh pihak ketiga.

Jika klien terhubung pada port 8883 (MQTTS) atau 5671 (AMQPS) ke hub IoT Edge, saluran TLS harus dibangun. Selama jabat tangan TLS, hub IoT Edge mengirimkan rantai sertifikatnya yang harus divalidasi oleh klien. Untuk memvalidasi rantai sertifikat, sertifikat akar hub IoT Edge harus diinstal sebagai sertifikat tepercaya pada klien. Jika sertifikat akar tidak tepercaya, pustaka klien akan ditolak oleh hub IoT Edge dengan kesalahan verifikasi sertifikat.

Langkah yang harus diikuti untuk menginstal sertifikat akar broker ini pada klien perangkat dijelaskan pada dokumentasi gateway transparan dan menyiapkan perangkat hilir. Modul dapat menggunakan sertifikat akar yang sama dengan hub IoT Edge dengan menggunakan API daemon IoT Edge.

Autentikasi

IoT Edge Hub hanya menerima koneksi dari perangkat atau modul yang memiliki identitas IoT Hub. Misalnya, mereka yang telah terdaftar di IoT Hub dan memiliki salah satu dari tiga metode autentikasi klien yang didukung oleh IoT hub untuk membuktikan identitas mereka: Autentikasi kunci konten, autentikasi X.509 yang ditandatangani sendiri, autentikasi yang ditandatangani X.509 CA. Identitas IoT Hub ini dapat diverifikasi secara lokal oleh hub IoT Edge sehingga koneksi masih dapat dibuat saat offline.

Modul IoT Edge saat ini hanya mendukung autentikasi kunci simetris.

Authorization

Dengan memverifikasi bahwa klien termasuk dalam sekumpulan klien tepercaya yang ditentukan di IoT Hub. Kumpulan klien tepercaya ditentukan dengan menyiapkan hubungan induk/anak atau perangkat/modul di IoT Hub. Ketika modul dibuat di IoT Edge, hubungan kepercayaan secara otomatis dibuat antara modul ini dan perangkat IoT Edge. Ini adalah satu-satunya model otorisasi yang didukung oleh mekanisme broker perutean.

Konfigurasi Jarak Jauh

Hub IoT Edge sepenuhnya dikendalikan oleh cloud. Hub IoT Edge mendapatkan konfigurasinya dari IoT Hub melalui pasangan modulnya. Kembar berisi properti yang diinginkan yang disebut rute yang menyatakan bagaimana pesan diteruskan dalam penyebaran. Untuk informasi selengkapnya tentang rute, lihat mendeklarasikan rute.

Selain itu, beberapa konfigurasi dapat dilakukan dengan menyiapkan variabel lingkungan di hub IoT Edge.

Telemetri kualitas runtime

IoT Edge mengumpulkan telemetri anonim dari runtime host dan modul sistem untuk meningkatkan kualitas produk. Informasi ini disebut telemetri kualitas runtime. Telemetri yang dikumpulkan secara berkala dikirim sebagai pesan perangkat ke cloud ke IoT Hub dari agen IoT Edge. Pesan ini tidak muncul dalam telemetri reguler pelanggan dan tidak menggunakan kuota pesan apa pun.

Agen dan hub IoT Edge menghasilkan metrik yang dapat Anda kumpulkan untuk memahami performa perangkat. Subset metrik ini dikumpulkan oleh Agen IoT Edge sebagai bagian dari telemetri kualitas runtime. Metrik yang dikumpulkan untuk telemetri kualitas runtime diberi label dengan tag ms_telemetry. Untuk informasi tentang semua metrik yang tersedia, lihat Mengakses metrik bawaan.

Setiap informasi yang dapat diidentifikasi secara pribadi atau organisasi, seperti nama perangkat dan modul, dihapus sebelum diunggah untuk memastikan sifat anonim dari telemetri kualitas runtime.

Agen IoT Edge mengumpulkan telemetri setiap jam sekali dan mengirimkan satu pesan ke IoT Hub setiap 24 jam sekali.

Jika Anda ingin menolak pengiriman telemetri runtime dari perangkat Anda, ada dua cara untuk melakukannya:

  • Atur SendRuntimeQualityTelemetry variabel lingkungan ke false untuk edgeAgent
  • Kosongkan kotak centang opsi di portal Microsoft Azure selama penyebaran.

Langkah berikutnya