Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Aliran perangkat Azure IoT Hub memfasilitasi pembuatan terowongan TCP dua arah yang aman untuk berbagai skenario komunikasi cloud-ke-perangkat. Titik akhir streaming IoT Hub menengahi aliran perangkat, bertindak sebagai proksi antara perangkat dan titik akhir layanan Anda. Penyiapan ini, yang digambarkan dalam diagram berikut, sangat berguna ketika perangkat berada di belakang firewall jaringan atau berada di dalam jaringan privat. Dengan demikian, aliran perangkat IoT Hub membantu memenuhi kebutuhan pelanggan untuk menjangkau perangkat IoT dengan cara yang ramah firewall dan tanpa perlu membuka port firewall jaringan masuk atau keluar secara luas.
Perangkat yang menggunakan aliran perangkat IoT Hub dapat tetap aman dan hanya perlu membuka koneksi TCP keluar ke titik akhir streaming hub IoT Anda melalui port 443. Setelah aliran dibuat, aplikasi sisi layanan dan sisi perangkat masing-masing memiliki akses terprogram ke objek klien WebSocket untuk mengirim dan menerima byte mentah satu sama lain. Keandalan dan jaminan pemesanan yang disediakan oleh terowongan ini setara dengan TCP.
Keuntungan
Aliran perangkat IoT Hub memberikan manfaat berikut:
Konektivitas aman yang ramah firewall: Perangkat IoT dapat dijangkau dari titik akhir layanan tanpa membuka port firewall masuk di perangkat atau perimeter jaringan (hanya konektivitas keluar ke IoT Hub yang diperlukan melalui port 443).
Autentikasi: Kedua sisi perangkat dan layanan tunnel perlu diautentikasi dengan IoT Hub menggunakan kredensial yang sesuai.
Enkripsi: Secara default, aliran perangkat IoT Hub menggunakan koneksi berkemampuan TLS. Faktor ini memastikan bahwa lalu lintas selalu dienkripsi terlepas dari apakah aplikasi menggunakan enkripsi atau tidak.
Kesederhanaan konektivitas: Dalam banyak kasus, penggunaan aliran perangkat menghilangkan kebutuhan untuk penyiapan Jaringan Pribadi Virtual yang rumit untuk mengaktifkan konektivitas ke perangkat IoT.
Kompatibilitas dengan tumpukan TCP/IP: Aliran perangkat IoT Hub dapat mengakomodasi lalu lintas aplikasi TCP/IP. Pendekatan ini berarti bahwa berbagai protokol eksklusif dan berbasis standar dapat menggunakan fitur ini.
Kemudahan penggunaan dalam penyiapan jaringan pribadi: Layanan dapat berkomunikasi dengan perangkat dengan merujuk ID perangkatnya, bukan alamat IP perangkat. Fakta ini berguna dalam situasi di mana perangkat terletak di dalam jaringan privat dan memiliki alamat IP privat, atau alamat IP-nya ditetapkan secara dinamis dan tidak diketahui oleh sisi layanan.
Alur kerja aliran perangkat
Aliran perangkat dimulai ketika layanan meminta untuk terhubung ke perangkat dengan memberikan ID perangkatnya. Alur kerja ini sangat cocok dengan model komunikasi klien/server, termasuk SSH dan RDP, di mana pengguna bermaksud untuk terhubung dari jarak jauh ke server SSH atau RDP yang berjalan di perangkat menggunakan program klien SSH atau RDP.
Proses pembuatan aliran perangkat melibatkan negosiasi antara perangkat, layanan, IoT hub utama, dan titik akhir streaming. Sementara titik akhir utama hub IoT mengatur pembuatan aliran perangkat, titik akhir streaming menangani lalu lintas yang mengalir antara layanan dan perangkat.
Alur pembuatan aliran perangkat
Pembuatan terprogram aliran perangkat menggunakan SDK melibatkan langkah-langkah berikut, yang juga digambarkan dalam gambar:
Aplikasi perangkat mendaftarkan panggilan balik terlebih dahulu untuk diberi tahu saat aliran perangkat baru dimulai ke perangkat. Langkah ini biasanya terjadi saat perangkat melakukan booting dan terhubung ke IoT Hub.
Program sisi layanan memulai aliran perangkat bila diperlukan dengan memberikan ID perangkat (bukan alamat IP).
IoT hub memberi tahu program sisi perangkat dengan memanggil panggilan balik yang terdaftar di langkah 1. Perangkat mungkin menerima atau menolak permintaan inisiasi aliran. Logika ini bisa spesifik untuk skenario aplikasi Anda. Jika perangkat menolak permintaan streaming, IoT Hub akan menginformasikan layanan yang sesuai; jika tidak, langkah-langkah berikut terjadi.
Perangkat membuat koneksi TCP keluar yang aman ke titik akhir streaming melalui port 443 dan meningkatkan koneksi ke WebSocket. URL titik akhir streaming dan kredensial yang akan digunakan untuk mengautentikasi keduanya disediakan untuk perangkat oleh IoT Hub sebagai bagian dari permintaan yang dikirim di langkah 3.
Layanan diberi tahu tentang hasil perangkat yang menerima aliran dan melanjutkan untuk membuat klien WebSocketnya sendiri ke titik akhir streaming. Demikian pula, ini menerima URL titik akhir streaming dan informasi autentikasi dari IoT Hub.
Dalam proses jabat tangan yang dijelaskan sebelumnya:
Proses jabat tangan harus selesai dalam waktu 60 detik (langkah 2 hingga 5), jika tidak, jabat tangan akan gagal karena batas waktu dan layanan akan diberi tahu sesuai kejadian tersebut.
Setelah alur pembuatan aliran yang dijelaskan sebelumnya selesai, titik akhir streaming bertindak sebagai proksi dan mentransfer lalu lintas antara layanan dan perangkat melalui WebSocket masing-masing.
Perangkat dan layanan keduanya membutuhkan konektivitas keluar ke titik akhir utama IoT Hub dan titik akhir streaming melalui port 443. URL titik akhir ini tersedia di tab Ikhtisar di portal Azure IoT Hub.
Keandalan dan jaminan pemesanan dari aliran yang mapan setara dengan TCP.
Semua koneksi ke IoT Hub dan titik akhir streamingnya menggunakan TLS dan dienkripsi.
Aliran pemutusan
Aliran yang ditetapkan berakhir ketika salah satu koneksi TCP ke gateway terputus (oleh layanan atau perangkat). Tindakan ini dapat berlangsung secara sukarela dengan menutup WebSocket pada perangkat atau program layanan, atau tanpa sadar jika batas waktu konektivitas jaringan atau kegagalan proses. Setelah penghentian koneksi perangkat atau layanan ke titik akhir streaming, koneksi TCP lainnya juga (secara paksa) dihentikan dan layanan dan perangkat bertanggung jawab untuk membuat ulang aliran, jika diperlukan.
Persyaratan konektivitas
Perangkat dan sisi layanan aliran perangkat harus mampu membuat koneksi berkemampuan TLS ke IoT Hub dan titik akhir streamingnya. Situasi ini memerlukan konektivitas keluar melalui port 443 ke titik akhir ini. Nama host yang terkait dengan titik akhir streaming dapat ditemukan di panel gambaran umum hub IoT Anda di portal Microsoft Azure, seperti yang ditunjukkan pada cuplikan layar berikut.
Alternatif lain, informasi titik akhir dapat diambil menggunakan Azure CLI di bawah bagian properti hub, khususnya, kunci property.hostname
dan property.deviceStreams
.
az iot hub devicestream show --name <YourIoTHubName>
Output adalah objek JSON dari semua titik akhir yang mungkin perlu disambungkan oleh perangkat dan layanan hub Anda untuk membuat aliran perangkat.
{
"streamingEndpoints": [
"https://<YourIoTHubName>.<region-stamp>.streams.azure-devices.net"
]
}
Catatan
Pastikan Anda menginstal Azure CLI versi 2.73.0 atau yang lebih baru. Anda dapat mengunduh versi terbaru dari laman Pasang Azure CLI.
Izinkan konektivitas keluar ke titik akhir streaming perangkat
Seperti disebutkan di awal artikel ini, perangkat Anda membuat koneksi keluar ke titik akhir streaming IoT Hub selama proses inisiasi aliran perangkat. Firewall Anda di perangkat atau jaringannya harus mengizinkan konektivitas keluar ke gateway streaming melalui port 443 (perhatikan bahwa komunikasi terjadi melalui koneksi WebSocket yang dienkripsi menggunakan TLS).
Nama host yang terkait dengan titik akhir streaming dapat ditemukan di panel gambaran umum hub IoT Anda di portal Microsoft Azure, seperti yang ditunjukkan pada cuplikan layar berikut.
Atau, Anda dapat menemukan informasi ini dengan menggunakan Azure CLI, seperti yang ditunjukkan dalam contoh berikut:
az iot hub devicestream show --name <YourIoTHubName>
Catatan
Pastikan Anda menginstal Azure CLI versi 2.73.0 atau yang lebih baru. Anda dapat mengunduh versi terbaru dari laman Pasang Azure CLI.
Memecahkan masalah melalui log sumber daya Aliran Perangkat
Anda dapat menyiapkan Azure Monitor untuk mengumpulkan log sumber daya untuk aliran perangkat yang dipancarkan oleh hub IoT Anda. Pendekatan ini dapat membantu dalam skenario pemecahan masalah.
Ikuti langkah-langkah ini untuk membuat pengaturan diagnostik guna mengirim log sumber daya Stream Perangkat untuk hub IoT Anda ke Azure Monitor Logs:
Di portal Microsoft Azure, navigasikan ke IoT hub Anda. Di panel kiri, di bawah Pemantauan, pilih Pengaturan diagnostik. Kemudian pilih Tambahkan pengaturan diagnostik.
Berikan nama untuk pengaturan diagnostik Anda dan pilih Aliran Perangkat (Pratinjau) dari daftar log. Lalu pilih Kirim ke ruang kerja Analitik Log. Anda dipandu untuk memilih ruang kerja Analitik Log yang sudah ada atau membuat ruang kerja baru.
Setelah membuat pengaturan diagnostik untuk mengirim log sumber daya Aliran Perangkat ke ruang kerja Analitik Log, Anda dapat mengakses log dengan memilih Log di bawah Pemantauan di panel kiri hub IoT Anda di portal Microsoft Azure. Log sumber daya untuk aliran perangkat muncul di tabel
AzureDiagnostics
dan mencakupCategory=DeviceStreams
. Mungkin perlu waktu beberapa menit setelah operasi agar log muncul dalam tabel.Seperti yang ditunjukkan di sini, identitas perangkat target dan hasil operasi juga tersedia di log.
Untuk mempelajari selengkapnya tentang menggunakan Azure Monitor dengan IoT Hub, lihat Memantau Azure IoT Hub. Untuk informasi tentang semua log sumber daya, metrik, dan tabel yang tersedia untuk IoT Hub, lihat Referensi data pemantauan Azure IoT Hub.
Ketersediaan regional
Selama pratinjau publik, aliran perangkat IoT Hub tersedia di wilayah US Tengah, EUAP US Timur, Eropa Utara, dan Asia Tenggara. Pastikan Anda membuat hub di salah satu wilayah ini.
Ketersediaan SDK
Dua sisi dari setiap aliran (di sisi perangkat dan layanan) menggunakan IoT Hub SDK untuk membuat terowongan. Selama pratinjau publik, pelanggan dapat memilih dari bahasa SDK berikut:
SDK C dan C# mendukung aliran perangkat di sisi perangkat.
SDK Node.js dan C# mendukung aliran perangkat di sisi layanan.