共用方式為


使用對稱金鑰在 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 裝置。 如果您不熟悉自動佈建流程,請先檢閱佈建概觀,再繼續作業。

注意

從 1.2 版開始,Azure IoT Edge 不再支援搭配 Windows 容器的 Azure IoT Edge。

請考慮使用新的方法在 Windows 裝置上執行 IoT Edge:Azure IoT Edge for Linux on Windows

如果您想要使用 Azure IoT Edge for Linux on Windows,您可以遵循對等操作指南中的步驟。

工作如下所示:

  1. 建立單一裝置的個別註冊或建立一組裝置的群組註冊
  2. 安裝 IoT Edge 執行階段,並將其連線至 IoT 中樞。

對稱金鑰證明是驗證裝置與裝置佈建服務執行個體的簡單方法。 對於不熟悉裝置佈建或沒有嚴格安全性需求的開發人員,這個證明方法代表 "Hello world" 經驗。 使用 TPMX.509 憑證的裝置證明會更加安全,並且應該用於更嚴格的安全性需求。

必要條件

雲端資源

  • 使用中的 IoT 中樞
  • Azure 中的 IoT 中樞裝置佈建服務執行個體,其與您的 IoT 中樞連結

裝置需求

要成為 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 裝置的註冊。

  1. Azure 入口網站中,瀏覽至 IoT 中樞裝置佈建服務的執行個體。

  2. 在 [設定] 下方,選取 [管理註冊]

  3. 選取 [新增個別註冊],然後完成下列步驟以設定註冊:

    1. 針對 [機制],選取 [對稱金鑰]。

    2. 為您的裝置建立唯一的註冊識別碼

    3. 或者,您也可以為裝置提供 IoT 中樞裝置識別碼。 您可以使用裝置識別碼,將個別裝置設為模組部署的目標。 如果您未提供裝置識別碼,則會使用註冊識別碼。

    4. 選取 [True] 以宣告註冊適用於 IoT Edge 裝置。

    5. 或者,您也可將標記值新增至 [初始裝置對應項狀態]。 您可以使用標記將裝置群組設定為模組部署的目標。 例如:

      {
         "tags": {
            "environment": "test"
         },
         "properties": {
            "desired": {}
         }
      }
      
    6. 選取 [儲存]。

  4. 複製個別註冊的主索引鍵值,以在安裝 IoT Edge 執行階段時使用。

現在此裝置已有註冊,因此 IoT Edge 執行階段可以在安裝期間自動佈建此裝置。

安裝 IoT Edge

在本節中,您會為 IoT Edge 準備 Windows VM 或實體裝置。 然後,您會安裝 IoT Edge。

Azure IoT Edge 會依賴 OCI 相容的容器執行階段。 Moby (Moby 型引擎) 包含在安裝指令碼中,因此不需要其他步驟即可安裝該引擎。

若要安裝 IoT Edge 執行階段:

  1. 以系統管理員身分執行 PowerShell。

    使用 AMD64 工作階段來安裝 PowerShell,而不是使用 PowerShell (x86)。 如果您不確定正在使用的工作階段類型為何,請執行下列命令:

    (Get-Process -Id $PID).StartInfo.EnvironmentVariables["PROCESSOR_ARCHITECTURE"]
    
  2. 執行 Deploy-IoTEdge 命令,以執行下列工作:

    • 檢查您的 Windows 機器是否處於支援的版本
    • 開啟容器功能
    • 下載 Moby 引擎和 IoT Edge 執行階段
    . {Invoke-WebRequest -useb https://aka.ms/iotedge-win} | Invoke-Expression; `
    Deploy-IoTEdge
    
  3. 重新啟動您的裝置 (若出現提示)。

在裝置上安裝 IoT Edge 時,您可以使用其他參數來修改程序,包括:

  • 將流量導向經過 Proxy 伺服器
  • 將安裝程式指向本機目錄以進行離線安裝

如需這些其他參數的詳細資訊,請參閱使用 Windows 容器的 IoT Edge PowerShell 指令碼

使用雲端身分識別來佈建裝置

在裝置上安裝執行階段之後,請使用裝置用來連線至裝置佈建服務和 IoT 中樞的資訊來設定裝置。

請備妥下列資訊:

  • DPS 識別碼範圍
  • 您建立的裝置註冊識別碼
  • 來自個別註冊的主索引鍵,或是使用群組註冊之裝置的衍生金鑰
  1. 在系統管理員模式下開啟 [Azure PowerShell] 視窗。 安裝 IoT Edge 時請務必使用 PowerShell 的 AMD64 工作階段,而不是使用 PowerShell (x86)。

  2. Initialize-IoTEdge 命令會設定機器的 IoT Edge 執行階段。 命令預設為使用 Windows 容器進行手動佈建,因此請使用 -DpsSymmetricKey 旗標來搭配對稱金鑰驗證使用自動佈建。

    paste_scope_id_herepaste_registration_id_herepaste_symmetric_key_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 執行相同作業。