Membuat dan memprovisikan perangkat IoT Edge dalam skala besar dengan TPM di Windows

Berlaku untuk ikon:ya IoT Edge 1.1

Penting

IoT Edge 1.1 tanggal akhir dukungan 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 versi terbaru IoT Edge, lihat Memperbarui IoT Edge.

Artikel ini memberikan instruksi untuk tindakan provisi otomatis Azure IoT Edge untuk perangkat Windows dengan menggunakan Trusted Platform Module (TPM). Anda dapat memprovisikan perangkat Azure IoT Edge secara otomatis dengan menggunakan Layanan provisi perangkat Azure IoT Hub. Jika Anda belum memahami proses provisi otomatis, tinjau gambaran umum provisi sebelum Anda melanjutkan.

Catatan

Azure IoT Edge dengan kontainer Windows tidak akan didukung mulai Azure IoT Edge versi 1.2.

Pertimbangkan untuk menggunakan metode baru untuk menjalankan IoT Edge pada perangkat Windows, Azure IoT Edge untuk Linux di Windows.

Jika Anda ingin menggunakan Azure IoT Edge untuk Linux di Windows, Anda dapat mengikuti langkah-langkah di panduan penggunaan yang setara.

Artikel ini menguraikan dua metodologi. Pilih preferensi berdasarkan arsitektur solusi Anda:

  • Memprovisikan perangkat Windows secara otomatis dengan menggunakan perangkat keras TPM fisik.
  • Provisi otomatis perangkat Windows yang menjalankan TPM simulasi. Kami merekomendasikan metode ini hanya sebagai skenario pengujian. TPM simulasi tidak menawarkan keamanan yang sama dengan TPM fisik.

Instruksi yang disediakan berbeda sesuai metode Anda, jadi, selanjutnya, pastikan bahwa Anda berada pada tab yang benar.

Tugasnya adalah sebagai berikut:

  • Ambil informasi provisi perangkat Anda.
  • Buat entri pendaftaran individu untuk perangkat.
  • Pasang runtime bahasa umum IoT Edge dan sambungkan perangkat ke IoT Hub.

Prasyarat

Prasyaratnya sama untuk TPM fisik dan solusi TPM virtual.

Sumber daya cloud

  • Hub IoT yang aktif
  • Instans layanan provisi perangkat IoT Hub di Azure, yang ditautkan ke hub IoT Anda

Persyaratan perangkat

Komputer pengembangan Windows. Artikel ini menggunakan Windows 10.

Catatan

TPM 2.0 diperlukan saat Anda menggunakan pengesahan TPM dengan layanan provisi perangkat.

Saat menggunakan TPM, Anda hanya dapat membuat pendaftaran layanan penyediaan perangkat individu, bukan grup.

Siapkan TPM Anda

Di bagian ini, Anda akan membuat alat yang dapat Anda gunakan untuk mengambil ID pendaftaran dan kunci dukungan untuk TPM Anda.

  1. Ikuti langkah-langkah dalam Menyiapkan lingkungan pengembangan Windows untuk memasang dan membangun SDK perangkat Azure IoT untuk C.

  2. Jalankan perintah berikut dalam sesi PowerShell yang ditinggikan agar dapat membangun alat SDK yang mengambil informasi provisi perangkat untuk TPM Anda.

    cd azure-iot-sdk-c\cmake
    cmake -Duse_prov_client:BOOL=ON ..
    cd provisioning_client\tools\tpm_device_provision
    make
    .\tpm_device_provision
    
  3. Jendela output menampilkan ID Pendaftaran dan Kunci Endorsement perangkat. Salin nilai ini untuk digunakan nantinya, yaitu saat Anda membuat pendaftaran individu perangkat Anda pada layanan provisi perangkat.

Tip

Jika Anda tidak ingin menggunakan alat SDK untuk mengambil informasi, Anda perlu menemukan cara lain untuk mendapatkan informasi provisi. Kunci dukungan bersifat unik untuk setiap chip TPM, dan diperoleh dari produsen chip TPM terkait. Anda dapat memperoleh ID pendaftaran unik untuk perangkat TPM Anda. Misalnya, Anda dapat membuat hash SHA-256 kunci dukungan.

Setelah Anda memiliki ID pendaftaran dan kunci dukungan, maka Anda siap untuk melanjutkan.

Membuat pendaftaran layanan provisi perangkat

Gunakan informasi provisi TPM Anda untuk membuat pendaftaran individu dalam layanan provisi perangkat.

Saat membuat pendaftaran di layanan provisi perangkat, Anda memiliki kesempatan untuk menyatakan Status Perangkat Kembaran Awal. Di perangkat kembaran, Anda dapat mengatur tag ke perangkat grup dengan metrik apa pun yang digunakan di solusi Anda, seperti wilayah, lingkungan, lokasi, atau jenis perangkat. Tag ini digunakan untuk membuat penyebaran otomatis.

Tip

Langkah-langkah dalam artikel ini adalah untuk portal Microsoft Azure, tetapi Anda juga dapat membuat pendaftaran individu dengan 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.

  1. Di portal Microsoft Azure, buka instans layanan provisi perangkat IoT Hub Anda.

  2. Di bawah Pengaturan, pilih Kelola pendaftaran.

  3. Pilih Tambahkan pendaftaran individu, lalu selesaikan langkah-langkah berikut untuk mengonfigurasi pendaftaran:

    1. Untuk Mekanisme, pilih TPM.

    2. Berikan Kunci dukungan dan ID Pendaftaran yang Anda salin dari mesin virtual atau perangkat fisik.

    3. Berikan ID untuk perangkat Anda jika Anda menginginkannya. Jika Anda tidak menyediakan ID perangkat, ID registrasi akan digunakan.

    4. Pilih Benar untuk menyatakan bahwa mesin virtual atau perangkat fisik Anda adalah perangkat IoT Edge.

    5. Pilih IoT Hub tertaut yang ingin disambungkan ke perangkat Anda, atau pilih Tautkan ke IoT Hub baru. Anda dapat memilih beberapa hub, dan perangkat akan ditetapkan ke salah satunya sesuai dengan kebijakan alokasi yang dipilih.

    6. Tambahkan nilai tag ke Status Perangkat Kembaran Awal jika Anda menginginkannya. Anda dapat menggunakan tag untuk menargetkan grup perangkat untuk penyebaran modul. Untuk informasi selengkapnya, lihat Sebarkan modul IoT Edge dalam skala besar.

    7. Pilih Simpan.

Sekarang setelah pendaftaran ada untuk perangkat ini, runtime bahasa umum IoT Edge dapat secara otomatis melakukan provisi perangkat selama penginstalan.

Pasang IoT Edge

Di bagian ini, Anda menyiapkan Mesin Virtual atau perangkat fisik Windows untuk IoT Edge. Kemudian, Anda menginstal IoT Edge.

Azure IoT Edge mengandalkan runtime kontainer yang kompatibel dengan OCI. Moby, mesin berbasis Moby, termasuk dalam skrip instalasi, yang berarti tidak ada langkah tambahan untuk menginstal mesin.

Untuk menginstal runtime IoT Edge:

  1. Jalankan PowerShell sebagai administrator.

    Gunakan sesi AMD64 PowerShell, bukan PowerShell(x86). Jika Anda tidak yakin jenis sesi mana yang Anda gunakan, jalankan perintah berikut:

    (Get-Process -Id $PID).StartInfo.EnvironmentVariables["PROCESSOR_ARCHITECTURE"]
    
  2. Jalankan perintah Deploy-IoTEdge yang melakukan tugas berikut ini:

    • Periksa apakah komputer Windows Anda menggunakan versi yang didukung
    • Aktifkan fitur kontainer
    • Unduh mesin Moby dan runtime IoT Edge
    . {Invoke-WebRequest -useb https://aka.ms/iotedge-win} | Invoke-Expression; `
    Deploy-IoTEdge
    
  3. Hidupkan ulang perangkat Anda jika diminta.

Saat Anda memasang IoT Edge di sebuah perangkat, Anda dapat menggunakan parameter tambahan untuk mengubah prosesnya, termasuk:

  • Mengarahkan lalu lintas untuk melalui server proxy
  • Mengarahkan alat penginstal ke sebuah direktori lokal untuk penginstalan offline

Untuk informasi lebih lanjut parameter tambahan ini, lihat skrip PowerShell untuk IoT Edge dengan kontainer Windows.

Menentukan perangkat dengan identitas cloud-nya

Setelah runtime berhasil diinstal pada perangkat Anda, konfigurasikan perangkat dengan informasi yang digunakannya untuk menyambungkan ke layanan provisi perangkat dan IoT Hub.

  1. Buka kembali catatan Cakupan ID layanan provisi perangkat Anda serta ID Pendaftaran perangkat yang telah dikumpulkan pada bagian sebelumnya.

  2. Buka jendela PowerShell dalam mode administrator. Pastikan untuk menggunakan sesi AMD64 PowerShell saat memasang IoT Edge, bukan PowerShell (x86).

  3. Perintah Initialize-IoTEdge mengonfigurasi runtime IoT Edge pada mesin Anda. Perintah ini menjadikan provisi secara manual menjadi default dengan kontainer Windows. Gunakan bendera -Dps untuk menggunakan layanan provisi perangkat daripada dengan provisi manual.

    Ganti nilai pengganti untuk paste_scope_id_here dan paste_registration_id_here dengan data yang Anda kumpulkan sebelumnya.

    . {Invoke-WebRequest -useb https://aka.ms/iotedge-win} | Invoke-Expression; `
    Initialize-IoTEdge -Dps -ScopeId paste_scope_id_here -RegistrationId paste_registration_id_here
    

Verifikasi keberhasilan penginstalan

Jika runtime berhasil dimulai, masuk ke hub IoT Anda dan mulai sebarkan modul IoT Edge ke perangkat Anda. Gunakan perintah berikut di perangkat Anda untuk memverifikasi bahwa runtime terinstal dan berhasil dimulai.

  1. Periksa status layanan IoT Edge.

    Get-Service iotedge
    
  2. Periksa log layanan dari 5 menit terakhir.

    . {Invoke-WebRequest -useb aka.ms/iotedge-win} | Invoke-Expression; Get-IoTEdgeLog
    
  3. Daftarkan modul yang sedang berjalan.

    iotedge list
    

Langkah berikutnya

Proses pendaftaran layanan provisi perangkat memungkinkan Anda menyetel ID perangkat dan tag kembar perangkat bersamaan saat Anda memprovisikan perangkat baru. Anda dapat menggunakan nilai tersebut untuk menargetkan perangkat individu atau sekumpulan perangkat dengan menggunakan manajemen perangkat otomatis.

Pelajari cara menyebarkan dan memantau modul IoT Edge dalam skala besar dengan menggunakan portal Microsoft Azure atau menggunakan Azure CLI.