適用於:
IoT Edge 1.1
這很重要
IoT Edge 1.1 終止支援日期為 2022 年 12 月 13 日。 如需此產品、服務、技術或 API 支援方式的相關信息,請參閱 Microsoft產品生命週期 。 如需更新至最新版IoT Edge的詳細資訊,請參閱 更新IoT Edge。
本文提供使用信賴平台模組 (TPM) 自動布建適用於 Windows 裝置的 Azure IoT Edge 的指示。 您可以使用 Azure IoT 中樞裝置佈建服務自動布建 IoT Edge 裝置。 如果您不熟悉自動布建程式,請先檢閱 布建概觀 ,再繼續。
備註
從 Azure IoT Edge 1.2 版開始,不支援使用 Windows 容器的 Azure IoT Edge。
請考慮使用新的方法來在 Windows 裝置上執行 IoT Edge、Windows 上的 Azure IoT Edge for Linux。
如果您想要在 Windows 上使用適用於 Linux 的 Azure IoT Edge,您可以遵循 對等作指南中的步驟。
本文概述兩種方法。 請根據您的解決方案架構選取您的喜好設定:
- 使用實體 TPM 硬體自動布建 Windows 裝置。
- 自動配置執行模擬 TPM 的 Windows 裝置。 我們僅建議將此方法作為測試案例。 模擬 TPM 不會提供與實體 TPM 相同的安全性。
指示會根據您的方法論而有所不同,因此在繼續操作時,請確定您位於正確的索引標籤上。
工作如下所示:
先決條件
實體 TPM 和虛擬 TPM 解決方案的必要條件相同。
雲端資源
- 正在運作的物聯網中樞
- Azure 中的 IoT 中樞裝置佈建服務的實例,已連結到您的 IoT 中樞
- 如果您沒有裝置佈建服務實例,您可以遵循 IoT Hub 裝置佈建服務快速入門的 建立新的 IoT Hub 裝置佈建服務 和 連結 IoT Hub 和您的裝置佈建服務 章節中的指示。
- 裝置佈建服務開始執行之後,請從 [概觀] 頁面中複製 [識別碼範圍] 的值。 當您設定 IoT Edge 執行階段時會用到此值。
裝置需求
Windows 開發電腦。 本文使用 Windows 10。
備註
當您使用 TPM 證明搭配裝置佈建服務時,需要使用 TPM 2.0。
當您使用 TPM 時,僅可建立個別裝置佈建服務註冊,無法建立群組裝置佈建服務註冊。
設定 TPM
在本節中,您會建置可用來擷取 TPM 註冊標識碼和簽署密鑰的工具。
請遵循 設定 Windows 開發環境 中的步驟來安裝和建置適用於 C 的 Azure IoT 裝置 SDK。
在具有管理員權限的 PowerShell 會話中執行以下命令,以建置用於擷取 TPM 裝置布建資訊的 SDK 工具。
cd azure-iot-sdk-c\cmake cmake -Duse_prov_client:BOOL=ON .. cd provisioning_client\tools\tpm_device_provision make .\tpm_device_provision輸出視窗會顯示裝置的 註冊標識碼 和 簽署金鑰。 當您在裝置佈建服務中建立裝置的個別註冊時,請複製這些值以供稍後使用。
小提示
如果您不想使用 SDK 工具來擷取資訊,您需要尋找另一種方法來取得布建資訊。 鑑別金鑰是每個 TPM 晶片的唯一識別碼,該金鑰是從相關的 TPM 晶片製造商取得的。 您可以為 TPM 裝置衍生唯一的註冊識別碼。 例如,您可以建立簽署密鑰的 SHA-256 哈希。
在您擁有註冊識別碼和簽署金鑰之後,即可繼續。
建立裝置佈建服務註冊
使用 TPM 設備的佈建資訊,在裝置配置服務中建立個別註冊。
當您在裝置布建服務中建立註冊時,有機會宣告 初始裝置對應項狀態。 在裝置對應項中,您可以根據解決方案中使用的任何計量 (例如區域、環境、位置或裝置類型) 來設定標記,來將裝置分組。 這些標記可用來建立 自動部署。
小提示
本文中的步驟適用於 Azure 入口網站,但您也可以使用 Azure CLI 建立個別註冊。 如需詳細資訊,請參閱 az iot dps enrollment。 CLI 命令中會使用「啟用 Edge」旗標來指定 IoT Edge 裝置的註冊。
在 Azure 入口網站中,移至您的 IoT 中樞裝置佈建服務實例。
在 [設定] 下方,選取 [管理註冊]。
選取 [新增個別註冊],然後完成下列步驟以設定註冊:
針對 [機制],選取 [TPM]。
提供您從 VM 或實體裝置複製的 簽署金鑰 和 註冊識別碼 。
視需要提供裝置的識別碼。 如果您未提供裝置識別碼,則會使用註冊識別碼。
選取 [True] 以宣告您的 VM 或實體裝置為 IoT Edge 裝置。
選擇您要將裝置連線到的連結 IoT 中樞,或選取 [連結到新的 IoT 中樞]。 您可以選擇多個中樞,然後系統會根據所選取的指派原則,將裝置指派給其中一個中樞。
如果您希望,請將標籤值新增至 初始裝置雙胞狀態。 您可以使用標記將裝置群組設定為模組部署的目標。 如需詳細資訊,請參閱 大規模部署IoT Edge模組。
選取 [ 儲存]。
現在此裝置已有註冊,因此 IoT Edge 執行階段可以在安裝期間自動佈建此裝置。
安裝 IoT Edge
在本節中,您會準備適用於IoT Edge的 Windows VM 或實體裝置。 然後,您會安裝 IoT Edge。
Azure IoT Edge 依賴 OCI 相容的容器運行時間。 Moby 是一個基於 Moby 的引擎,包含在安裝腳本中,這表示不需要額外步驟來安裝引擎。
若要安裝 IoT Edge 執行環境:
以系統管理員身分執行 PowerShell。
請選擇 PowerShell 的 AMD64 工作階段,不要使用 PowerShell(x86)。 如果您不確定您正在使用哪一種工作階段類型,請執行以下命令:
(Get-Process -Id $PID).StartInfo.EnvironmentVariables["PROCESSOR_ARCHITECTURE"]執行 Deploy-IoTEdge 命令,其會執行下列工作:
- 檢查您的 Windows 電腦是否處於支援的版本
- 開啟容器功能
- 下載Moby引擎和IoT Edge執行環境
. {Invoke-WebRequest -useb https://aka.ms/iotedge-win} | Invoke-Expression; ` Deploy-IoTEdge如果出現提示,請重新啟動您的裝置。
當您在裝置上安裝 IoT Edge 時,您可以使用其他參數來修改程式,包括:
- 將流量引導至代理伺服器
- 將安裝程式指向本機目錄以進行離線安裝
如需這些其他參數的詳細資訊,請參閱適用於使用 Windows 容器之 IoT Edge 的 PowerShell 腳本 。
使用雲端身分識別來配置裝置
在裝置上安裝執行階段之後,請設定裝置所需的連線資訊,以接入裝置佈建服務和 IoT 中樞。
瞭解您在先前各節中收集的裝置布建服務 標識碼範圍 和裝置 註冊標識碼 。
在系統管理員模式下開啟 [Azure PowerShell] 視窗。 請務必使用 PowerShell 的 AMD64 會話安裝 IoT Edge,而不是使用 PowerShell (x86)。
Initialize-IoTEdge命令會在您的電腦上設定IoT Edge執行時間。 命令預設為使用 Windows 容器手動佈建。 使用-Dps旗標來使用裝置布建服務,而不是手動布建。將
paste_scope_id_here和paste_registration_id_here的佔位符值取代為您先前收集的數據。. {Invoke-WebRequest -useb https://aka.ms/iotedge-win} | Invoke-Expression; ` Initialize-IoTEdge -Dps -ScopeId paste_scope_id_here -RegistrationId paste_registration_id_here
確認安裝成功
如果執行時間已成功啟動,請進入您的IoT中樞,然後開始將IoT Edge模組部署到您的裝置。 在您的裝置上使用下列命令來確認運行時間是否已安裝並成功啟動。
檢查 IoT Edge 服務的狀態。
Get-Service iotedge檢查過去 5 分鐘內的服務記錄。
. {Invoke-WebRequest -useb aka.ms/iotedge-win} | Invoke-Expression; Get-IoTEdgeLog列出執行中的模組。
iotedge list
後續步驟
在佈建新裝置時,裝置佈建服務的註冊流程可讓您同步設定裝置 ID 和裝置雙胞標記。 您可以使用自動裝置管理來使用這些值鎖定個別裝置或裝置群組。
瞭解如何使用 Azure 入口網站或 Azure CLI大規模部署和監視 IoT Edge 模組。