Cara menggunakan kebijakan alokasi untuk memprovisikan perangkat di seluruh hub IoT

Azure IoT Hub Device Provisioning Service (DPS) mendukung beberapa kebijakan alokasi bawaan yang menentukan caranya menetapkan perangkat di satu atau beberapa hub IoT. DPS juga mencakup dukungan untuk kebijakan alokasi kustom, yang memungkinkan Anda membuat dan menggunakan kebijakan alokasi Anda sendiri ketika skenario IoT Anda memerlukan fungsionalitas yang tidak disediakan oleh kebijakan bawaan.

Artikel ini membantu Anda memahami cara menggunakan dan mengelola kebijakan alokasi DPS.

Memahami kebijakan alokasi

Kebijakan alokasi menentukan bagaimana DPS menetapkan perangkat ke hub IoT. Setiap instans DPS memiliki kebijakan alokasi default, tetapi kebijakan ini dapat ditimpa oleh kebijakan alokasi yang ditetapkan pada pendaftaran. Hanya hub IoT yang telah ditautkan ke instans DPS yang dapat berpartisipasi dalam alokasi. Apakah hub IoT yang ditautkan akan berpartisipasi dalam alokasi tergantung pada pengaturan pada pendaftaran yang disediakan perangkat.

DPS mendukung empat kebijakan alokasi:

  • Distribusi tertimbang merata: perangkat diprovisikan ke hub IoT menggunakan hash tertimbang. Secara default, hub IoT yang ditautkan memiliki pengaturan bobot alokasi yang sama, sehingga kemungkinan besar perangkat diprovisikan untuk mereka. Bobot alokasi hub IoT dapat disesuaikan untuk meningkatkan atau mengurangi kemungkinan ditetapkan. Distribusi tertimbang merata adalah kebijakan alokasi default untuk instans DPS. Jika Anda menyediakan perangkat hanya untuk satu hub IoT, sebaiknya gunakan kebijakan ini.

  • Latensi terendah: perangkat diprovisikan ke hub IoT dengan latensi terendah ke perangkat. Jika beberapa hub IoT akan memberikan latensi terendah, DPS hash perangkat di seluruh hub tersebut berdasarkan bobot alokasi yang dikonfigurasi.

  • Konfigurasi statis: perangkat diprovisikan ke satu hub IoT, yang harus ditentukan pada pendaftaran.

  • Kustom (Gunakan Azure Function): Kebijakan alokasi kustom memberi Anda kontrol lebih besar tentang bagaimana perangkat ditetapkan ke IoT Hub. Ini dicapai dengan menggunakan webhook kustom yang dihosting di Azure Functions untuk menetapkan perangkat ke hub IoT. DPS memanggil webhook Anda yang menyediakan semua informasi yang relevan tentang perangkat dan pendaftaran. Webhook Anda mengembalikan hub IoT dan kembar perangkat awal (opsional) yang digunakan untuk memprovisikan perangkat. Payload kustom juga dapat diteruskan ke dan dari perangkat. Untuk mempelajari selengkapnya, lihat Memahami kebijakan alokasi kustom. Tidak dapat ditetapkan sebagai kebijakan default instans DPS.

Catatan

Daftar sebelumnya memperlihatkan nama kebijakan alokasi saat muncul di portal Azure. Saat mengatur kebijakan alokasi menggunakan SDK layanan DPS REST API, Azure CLI, dan DPS, mereka disebut sebagai berikut: hash, geolatency, statis, dan kustom.

Ada dua pengaturan pada hub IoT tertaut yang mengontrol bagaimana ia berpartisipasi dalam alokasi:

  • Bobot alokasi: mengatur bobot yang akan dimiliki hub IoT saat berpartisipasi dalam kebijakan alokasi yang melibatkan beberapa hub IoT. Ini bisa menjadi nilai antara satu dan 1000. Defaultnya adalah satu (atau null).

    • Dengan kebijakan alokasi distribusi tertimbang merata, hub IoT dengan nilai bobot alokasi yang lebih tinggi memiliki kemungkinan yang lebih besar untuk dipilih dibandingkan dengan yang memiliki nilai bobot yang lebih rendah.

    • Dengan kebijakan alokasi latensi terendah, nilai bobot alokasi akan memengaruhi probabilitas hub IoT yang dipilih ketika lebih dari satu hub IoT memenuhi persyaratan latensi terendah.

    • Dengan kebijakan alokasi kustom, apakah dan bagaimana nilai bobot alokasi digunakan akan bergantung pada logika webhook.

  • Menerapkan kebijakan alokasi: menentukan apakah hub IoT berpartisipasi dalam kebijakan alokasi. Defaultnya adalah Ya (benar). Jika diatur ke Tidak (salah), perangkat tidak akan ditetapkan ke hub IoT. Hub IoT masih dapat dipilih pada pendaftaran, tetapi tidak akan berpartisipasi dalam alokasi. Anda dapat menggunakan pengaturan ini untuk menghapus hub IoT untuk sementara atau permanen agar tidak berpartisipasi dalam alokasi; misalnya, jika mendekati jumlah perangkat yang diizinkan.

Untuk mempelajari selengkapnya tentang menautkan dan mengelola hub IoT di instans DPS Anda, lihat Menautkan dan mengelola hub IoT.

Saat perangkat menyediakan melalui DPS, layanan menetapkannya ke hub IoT sesuai dengan panduan berikut:

  • Jika pendaftaran menentukan kebijakan alokasi, gunakan kebijakan tersebut; jika tidak, gunakan kebijakan alokasi default untuk instans DPS.

  • Jika pendaftaran menentukan satu atau beberapa hub IoT, terapkan kebijakan alokasi di seluruh hub IoT tersebut; jika tidak, terapkan kebijakan alokasi di semua hub IoT yang ditautkan ke instans DPS. Perhatikan bahwa jika kebijakan alokasi adalah Konfigurasi statis, pendaftaran harus menentukan hub IoT.

Penting

Saat Anda mengubah kebijakan alokasi atau hub IoT yang diterapkannya, perubahan hanya memengaruhi pendaftaran perangkat berikutnya. Perangkat yang sudah disediakan ke hub IoT tidak akan terpengaruh. Jika Anda ingin perubahan diterapkan secara retroaktif ke perangkat ini, Anda harus menyediakannya kembali. Untuk mempelajari lebih lanjut, lihat Cara menyediakan ulang perangkat.

Mengatur kebijakan alokasi default untuk instans DPS

Kebijakan alokasi default untuk instans DPS digunakan saat kebijakan alokasi tidak ditentukan pada pendaftaran. Hanya distribusi tertimbang merata, Latensi terendah, dan konfigurasi Statis yang didukung untuk kebijakan alokasi default. Alokasi kustom tidak didukung. Saat instans DPS dibuat, kebijakan defaultnya secara otomatis diatur ke Distribusi tertimbang merata.

Catatan

Jika Anda menetapkan Konfigurasi statis sebagai kebijakan alokasi default untuk instans DPS, hub IoT tertaut harus ditentukan dalam pendaftaran yang bergantung pada kebijakan default.

Gunakan portal Azure ke kebijakan alokasi default yang ditetapkan

Untuk mengatur kebijakan alokasi default untuk instans DPS di portal Azure:

  1. Di menu sebelah kiri instans DPS Anda, pilih Kelola kebijakan alokasi.

  2. Pilih tombol untuk kebijakan alokasi yang ingin Anda tetapkan: Latensi terendah, Distribusi tertimbang merata, atau Konfigurasi statis. (Alokasi kustom tidak didukung untuk kebijakan alokasi default.)

  3. Pilih Simpan.

Menggunakan Azure CLI untuk mengatur kebijakan alokasi default

Gunakan perintah az iot dps update Azure CLI untuk mengatur kebijakan alokasi default untuk instans DPS. Anda menggunakan --set properties.allocationPolicy untuk menentukan kebijakan. Misalnya, perintah berikut menetapkan kebijakan alokasi ke Distribusi tertimbang Merata (default):

az iot dps update --name MyExampleDps --set properties.allocationPolicy=hashed

DPS juga mendukung pengaturan kebijakan alokasi default menggunakan REST API sumber daya Buat atau Perbarui DPS, templat Resource Manager, dan SDK Manajemen DPS.

Mengatur kebijakan alokasi dan hub IoT untuk pendaftaran

Pendaftaran individu dan grup pendaftaran dapat menentukan kebijakan alokasi dan hub IoT tertaut yang harus diterapkannya. Jika tidak ada kebijakan alokasi yang ditentukan oleh pendaftaran, maka kebijakan alokasi default untuk instans DPS digunakan.

Dalam kedua kasus, kondisi berikut berlaku:

  • Untuk distribusi tertimbang merata, Latensi terendah, dan Kebijakan alokasi kustom , pendaftaran dapat menentukan hub IoT tertaut mana yang harus digunakan. Jika tidak ada hub IoT yang dipilih dalam pendaftaran, maka semua hub IoT yang ditautkan dalam instans DPS akan digunakan.

  • Untuk Konfigurasi statis, pendaftaran harus menentukan satu hub IoT dari daftar hub IoT yang ditautkan.

Untuk pendaftaran individu dan grup pendaftaran, Anda dapat menentukan kebijakan alokasi dan hub IoT tertaut untuk menerapkannya saat Anda membuat atau memperbarui pendaftaran.

Gunakan portal Azure untuk mengelola kebijakan alokasi pendaftaran dan hub IoT

Untuk mengatur kebijakan alokasi dan memilih hub IoT pada pendaftaran di portal Azure:

  1. Di menu sebelah kiri instans DPS Anda, pilih Kelola pendaftaran.

  2. Pada halaman Kelola pendaftaran :

    • Untuk membuat pendaftaran baru, pilih tab Pendaftaran grup atau Pendaftaran individual, lalu pilih Tambahkan grup pendaftaran atau Tambahkan pendaftaran individual.

    • Untuk memperbarui pendaftaran yang sudah ada, pilih dari daftar di bawah tab Grup Pendaftaran atau Pendaftaran Individual.

  3. Pada halaman Tambahkan Pendaftaran (saat dibuat) atau halaman Detail pendaftaran (saat diperbarui), pilih tab Hub IoT. Pada tab ini, Anda dapat memilih kebijakan alokasi yang ingin Anda terapkan ke pendaftaran dan memilih hub IoT yang harus digunakan:

    Screenshot that shows the allocation policy and selected hubs settings on IoT hubs tab.

    1. Pilih hub IoT tempat perangkat dapat ditetapkan dari daftar drop-down. Jika Anda memilih kebijakan alokasi konfigurasi statis, Anda akan dibatasi untuk memilih satu hub IoT yang ditautkan. Untuk semua kebijakan alokasi lainnya, semua hub IoT yang ditautkan akan dipilih secara default, tetapi Anda dapat mengubah pilihan ini menggunakan menu drop-down. Agar pendaftaran secara otomatis menggunakan hub IoT tertaut saat ditambahkan ke (atau dihapus dari) instans DPS, batal pilih semua hub IoT.

    2. Secara opsional, Anda dapat memilih tombol Tautkan hub IoT baru untuk menautkan hub IoT baru ke instans DPS dan membuatnya tersedia dalam daftar hub IoT yang dapat dipilih. Untuk detail tentang menautkan hub IoT, lihat Menautkan IoT Hub.

    3. Pilih kebijakan alokasi yang ingin Anda terapkan ke pendaftaran. Kebijakan alokasi default untuk instans DPS dipilih secara default. Untuk alokasi kustom, Anda juga perlu menentukan webhook kebijakan alokasi kustom di Azure Functions. Untuk detailnya, lihat tutorial Menggunakan kebijakan alokasi kustom.

  4. Atur properti lain yang diperlukan untuk pendaftaran lalu simpan pengaturan Anda.

Menggunakan Azure CLI untuk mengelola kebijakan alokasi pendaftaran dan hub IoT

Gunakan az iot dps enrollment create, az iot dps enrollment update, az iot dps enrollment-group create, az iot dps enrollment-group update Azure CLI commands to create or update individual enrollment or enrollment groups.

Misalnya, perintah berikut membuat grup pendaftaran kunci konten yang default menggunakan kebijakan alokasi default yang ditetapkan pada instans DPS dan semua hub IoT yang ditautkan ke instans DPS:

az iot dps enrollment-group create --dps-name MyExampleDps --enrollment-id MyEnrollmentGroup 

Perintah berikut memperbarui grup pendaftaran yang sama untuk menggunakan kebijakan alokasi latensi terendah dengan hub IoT bernama MyExampleHub dan MyExampleHub-2:

az iot dps enrollment-group update --dps-name MyExampleDps --enrollment-id MyEnrollmentGroup --allocation-policy geolatency --iot-hubs "MyExampleHub.azure-devices.net MyExampleHub-2.azure-devices.net"

DPS juga mendukung pengaturan kebijakan alokasi dan hub IoT yang dipilih pada pendaftaran menggunakan REST API Buat atau Perbarui pendaftaran individu dan Buat atau Perbarui grup pendaftaran REST API, dan SDK layanan DPS.

Perilaku alokasi

Perhatikan perilaku berikut saat menggunakan kebijakan alokasi dengan IoT hub:

  • Dengan Azure CLI, REST API, dan SDK layanan DPS, Anda dapat membuat pendaftaran tanpa kebijakan alokasi. Dalam hal ini, DPS menggunakan kebijakan default untuk instans DPS saat perangkat menyediakan melalui pendaftaran. Mengubah pengaturan kebijakan default pada instans DPS akan mengubah cara perangkat disediakan melalui pendaftaran.

  • Dengan portal Azure, pengaturan kebijakan alokasi untuk pendaftaran telah diisi sebelumnya dengan kebijakan alokasi default. Anda dapat menyimpan pengaturan ini atau mengubahnya ke kebijakan lain, tetapi, ketika Anda menyimpan pendaftaran, kebijakan alokasi diatur pada pendaftaran. Perubahan berikutnya pada kebijakan alokasi default layanan, tidak akan mengubah cara perangkat disediakan melalui pendaftaran.

  • Untuk distribusi tertimbang yang sama, Latensi terendah dan kebijakan alokasi kustom, Anda dapat mengonfigurasi pendaftaran untuk menggunakan semua hub IoT yang ditautkan ke instans DPS:

    • Dengan Azure CLI dan SDK layanan DPS, buat pendaftaran tanpa menentukan hub IoT apa pun.

    • Dengan portal Azure, pendaftaran telah diisi sebelumnya dengan semua hub IoT yang ditautkan ke instans DPS yang dipilih; batalkan pilihan semua hub IoT sebelum Anda menyimpan pendaftaran.

    Jika tidak ada hub IoT yang dipilih pada pendaftaran, maka setiap kali hub IoT baru ditautkan ke instans DPS, hub tersebut akan berpartisipasi dalam alokasi; dan sebaliknya untuk hub IoT yang dihapus dari instans DPS.

  • Jika hub IoT ditentukan pada pendaftaran, pengaturan hub IoT pada pendaftaran harus diperbarui secara manual atau terprogram agar hub IoT yang baru ditautkan ditambahkan atau hub IoT yang dihapus untuk dihapus dari alokasi.

  • Mengubah kebijakan alokasi atau hub IoT yang digunakan untuk pendaftaran hanya memengaruhi pendaftaran berikutnya melalui pendaftaran tersebut. Jika Anda ingin perubahan memengaruhi pendaftaran sebelumnya, Anda harus memprovisikan ulang semua perangkat yang terdaftar sebelumnya.

Batasan

Ada beberapa batasan saat bekerja dengan kebijakan alokasi dan titik akhir privat. Untuk informasi selengkapnya, lihat Batasan titik akhir privat.

Langkah berikutnya