使用對稱金鑰大規模在 Windows 上建立及布建 IoT Edge 裝置
適用於: IoT Edge 1.1
重要
IoT Edge 1.1 終止支援日期為 2022 年 12 月 13 日。 如需此產品、服務、技術或 API 的支援資訊,請參閱 Microsoft 產品生命週期。 如需更新至最新版IoT Edge的詳細資訊,請參閱 更新IoT Edge。
本文提供使用對稱密鑰自動佈建一或多個 Windows IoT Edge 裝置的端對端指示。 您可以使用 Azure IoT 中樞裝置佈建服務 (DPS) 自動佈建 Azure 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,您可以遵循對等操作指南中的步驟。
工作如下所示:
- 建立單一裝置的個別註冊或建立一組裝置的群組註冊。
- 安裝 IoT Edge 執行階段,並將其連線至 IoT 中樞。
對稱金鑰證明是驗證裝置與裝置佈建服務執行個體的簡單方法。 對於不熟悉裝置佈建或沒有嚴格安全性需求的開發人員,這個證明方法代表 "Hello world" 經驗。 使用 TPM 或 X.509 憑證的裝置證明會更加安全,並且應該用於更嚴格的安全性需求。
必要條件
雲端資源
- 使用中的 IoT 中樞
- Azure 中的 IoT 中樞裝置佈建服務執行個體,其與您的 IoT 中樞連結
- 如果您沒有裝置佈建服務執行個體,則可以遵循 IoT 中樞裝置佈建服務快速入門建立新的 IoT 中樞裝置佈建服務和連結 IoT 中樞與裝置佈建服務章節的指示。
- 裝置佈建服務開始執行之後,請從 [概觀] 頁面中複製 [識別碼範圍] 的值。 當您設定 IoT Edge 執行階段時會用到此值。
裝置需求
要成為IoT Edge裝置的實體或虛擬 Windows 裝置。
您必須定義唯一的註冊識別碼,以識別每個裝置。 您可以使用 MAC 位址、序號或裝置的任何唯一資訊。 例如,您可以使用 MAC 位址和序號的組合,為註冊識別碼組成下列字串:sn-007-888-abc-mac-a1-b2-c3-d4-e5-f6
。 有效字元為小寫英數字元與破折號 (-
)。
建立 DPS 註冊
建立註冊,以透過 DPS 佈建一或多個裝置。
如果您想要佈建單一 IoT Edge 裝置,請建立個別註冊。 如果您需要佈建多個裝置,則請遵循建立 DPS「群組註冊」的步驟。
在 DPS 中建立註冊時,您就有機會宣告初始裝置對應項狀態。 在裝置對應項中,您可以根據解決方案中需要的任何計量 (例如區域、環境、位置或裝置類型) 來設定標記,進而將裝置分組。 這些標記會用來建立自動部署。
如需裝置佈建服務中的註冊詳細資訊,請參閱如何管理裝置註冊。
建立 DPS 個別註冊
提示
本文中的步驟適用於 Azure 入口網站,但您也可以使用 Azure CLI 建立個別註冊。 如需詳細資訊,請參閱 az iot dps 註冊。 CLI 命令中會使用「啟用 Edge」旗標來指定 IoT Edge 裝置的註冊。
在 Azure 入口網站中,導覽至 IoT 中樞裝置佈建服務的執行個體。
在 [設定] 下方,選取 [管理註冊]。
選取 [新增個別註冊],然後完成下列步驟以設定註冊:
針對 [機制],選取 [對稱金鑰]。
為您的裝置建立唯一的註冊識別碼。
或者,您也可以為裝置提供 IoT 中樞裝置識別碼。 您可以使用裝置識別碼,將個別裝置設為模組部署的目標。 如果您未提供裝置識別碼,則會使用註冊識別碼。
選取 [True] 以宣告註冊適用於 IoT Edge 裝置。
或者,您也可將標記值新增至 [初始裝置對應項狀態]。 您可以使用標記將裝置群組設定為模組部署的目標。 例如:
{ "tags": { "environment": "test" }, "properties": { "desired": {} } }
選取 [儲存]。
複製個別註冊的主索引鍵值,以在安裝 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 時,您可以使用其他參數來修改程式,包括:
- 引導流量通過 Proxy 伺服器
- 將安裝程式指向本機目錄以進行離線安裝
如需這些其他參數的詳細資訊,請參閱 搭配 Windows 容器使用 IoT Edge 的 PowerShell 腳本。
使用雲端身分識別來佈建裝置
在裝置上安裝執行階段之後,請使用裝置用來連線至裝置佈建服務和 IoT 中樞的資訊來設定裝置。
請備妥下列資訊:
- DPS 識別碼範圍值
- 您建立的裝置註冊識別碼
- 來自個別註冊的主索引鍵,或是使用群組註冊之裝置的衍生金鑰。
在系統管理員模式下開啟 [Azure PowerShell] 視窗。 安裝 IoT Edge 時,請務必使用 PowerShell 的 AMD64 會話,而不是 PowerShell (x86)。
Initialize-IoTEdge 命令會在您的電腦上設定 IoT Edge 運行時間。 命令預設為使用 Windows 容器手動佈建,因此請使用
-DpsSymmetricKey
旗標搭配對稱密鑰驗證使用自動佈建。將、
paste_registration_id_here
和paste_symmetric_key_here
的佔位元值paste_scope_id_here
取代為您先前收集的數據。. {Invoke-WebRequest -useb https://aka.ms/iotedge-win} | Invoke-Expression; ` Initialize-IoTEdge -DpsSymmetricKey -ScopeId paste_scope_id_here -RegistrationId paste_registration_id_here -SymmetricKey paste_symmetric key_here
確認安裝成功
如果執行階段順利啟動,您可以移至 IoT 中樞,並開始將 IoT Edge 模組部署到您的裝置。
您可以驗證系統是否已使用您在裝置佈建服務中所建立的個別註冊。 在 Azure 入口網站中導覽至您的裝置佈建服務執行個體。 開啟所建立個別註冊的註冊詳細資料。 請注意,註冊狀態是 [已指派],並且會列出裝置識別碼。
請在您的裝置上使用下列命令,確認 IoT Edge 已成功安裝並啟動。
檢查 IoT Edge 服務的狀態。
Get-Service iotedge
檢查服務記錄。
. {Invoke-WebRequest -useb aka.ms/iotedge-win} | Invoke-Expression; Get-IoTEdgeLog
列出執行中的模組。
iotedge list
下一步
佈建新裝置時,裝置佈建服務註冊流程可讓您同時設定裝置識別碼和裝置對應項標記。 您可以使用這些值來鎖定要使用自動裝置管理的個別裝置或裝置群組。 了解如何使用 Azure 入口網站大規模部署和監視 IoT Edge 模組,或使用 Azure CLI 執行相同作業。