共用方式為


使用對稱密鑰在 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 Edge 1.2 版開始,不支援使用 Windows 容器的 Azure IoT Edge。

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

如果您想要在 Windows 上使用適用於 Linux 的 Azure IoT Edge,您可以遵循 對等作指南中的步驟

連線到 IoT 中樞的每個裝置都有裝置識別碼,可用來追蹤雲端到裝置或裝置到雲端的通訊。 您可以使用連線資訊來設定裝置,其中包括 IoT 中樞主機名稱、裝置識別碼,以及裝置用來向 IoT 中樞驗證的資訊。

本文中的步驟會帶您完成稱為手動佈建的程序,您會在此程序中將單一裝置連線到其 IoT 中樞。 針對手動佈建,您有兩個選項可用來驗證 IoT Edge 裝置:

  • 對稱金鑰:當您在 IoT 中樞中建立新的裝置身分識別時,服務會建立兩個金鑰。 您會在裝置上放置其中一個金鑰,並在驗證時呈現 IoT 中樞的金鑰。

    這個驗證方法上手較為快速,但並非是安全的方法。

  • X.509 自我簽署:您可以建立兩個 X.509 身分識別憑證,並將其置於裝置上。 當您在 IoT 中樞中建立新的裝置身分識別時,您會從這兩個憑證提供指紋。 當裝置向 IoT 中樞進行驗證時,其會顯示一個憑證,而 IoT 中樞會確認憑證符合其指紋。

    此驗證方法較安全,建議用於實際執行案例。

本文說明如何使用對稱金鑰做為驗證方法。 如果您想要使用 X.509 憑證,請參閱 使用 X.509 憑證在 Windows 上建立和布建 IoT Edge 裝置

備註

如果您有許多裝置可設定,且不想手動佈建每個裝置,請使用下列其中一篇文章來了解 IoT Edge 如何與 IoT 中樞裝置佈建服務搭配運作:

先決條件

本文說明如何註冊 IoT Edge 裝置及在裝置上安裝 IoT Edge。 完成這些工作有不同的必要條件和公用程式。 在繼續之前,請先確定您已準備好所有必要條件。

裝置管理工具

您可以使用 Azure 入口網站Visual Studio CodeAzure CLI 來完成註冊裝置的步驟。 每個公用程式都有自己的必要條件:

於 Azure 訂閱中的免費或標準 IoT 中樞

裝置需求

Windows 裝置。

具有 Windows 容器的 IoT Edge 需要使用 Windows 版本 1809/建 17763,這是最新的 Windows 長期支援組建。 請務必檢閱 支援的系統清單,以取得支援的SKU清單。

請注意,容器和主機上的 Windows 版本必須相符。 如需詳細資訊,請參閱 因OS不符而無法啟動模組

註冊您的裝置

您可以根據喜好,使用 Azure 入口網站Visual Studio CodeAzure CLI來註冊裝置。

在 Azure 入口網站的 IoT 中樞中,IoT Edge 裝置的建立和管理與未啟用 Edge 的 IoT 裝置是分開的。

  1. 登入 Azure 入口網站,然後瀏覽至 IoT 中樞。

  2. 在左側窗格中,從功能表中選取 [裝置],然後選取 [新增裝置]

  3. 在 [建立裝置] 頁面上,提供下列資訊:

    • 建立描述性裝置識別碼。 記下此裝置識別碼,因為您稍後會使用它。
    • 請勾選 [IoT Edge 裝置] 核取方塊。
    • 選取 [對稱金鑰] 作為 [驗證類型]。
    • 使用預設設定來自動產生驗證密鑰,並將新裝置連線到您的中樞。
  4. 選取 [儲存]。

現在您已在 IoT 中樞內註冊裝置,接著請擷取用來完成安裝及佈建 IoT Edge 執行階段的資訊。

檢視已註冊的裝置並擷取佈建資訊

使用對稱金鑰驗證的裝置需要其連接字串,才能完成 IoT Edge 執行階段的安裝和佈建。

連線至 IoT 中樞且已啟用 Edge 的裝置都列於 [裝置] 頁面。 您可以依類型 IoT Edge 裝置篩選清單。

如何在 Azure 入口網站 IoT 中樞中檢視裝置的螢幕快照。

當您準備好開始設定裝置時,需要連接字串才能將您的實體裝置與在 IoT 中心中的其身分識別連結起來。

使用對稱金鑰進行驗證的裝置,可在入口網站中複製其連接字串。

  1. 從入口網站中的 [裝置] 頁面,從清單中選取IoT Edge裝置標識碼。
  2. 複製 [主要連接字串] 或 [次要連接字串] 的值。

安裝 IoT Edge

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

Azure IoT Edge 依賴 OCI 相容的容器運行時間。 Moby,以Moby為基礎的引擎包含在安裝腳本中,這表示沒有額外的步驟可安裝引擎。

若要安裝 IoT Edge 執行環境:

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

    請選擇 PowerShell 的 AMD64 工作階段,不要使用 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 時,您可以使用其他參數來修改程式,包括:

  • 將流量引導至代理伺服器
  • 將安裝程式指向本機目錄以進行離線安裝

如需這些其他參數的詳細資訊,請參閱適用於使用 Windows 容器之 IoT Edge 的 PowerShell 腳本

使用雲端身分識別來配置裝置

既然容器引擎和 IoT Edge 執行時間已安裝在您的裝置上,您就可以進行下一個步驟,也就是使用其雲端身分識別和驗證資訊來設定裝置。

  1. 在 IoT Edge 裝置上,以系統管理員身分執行 PowerShell。

  2. 使用 Initialize-IoTEdge 命令,在您的電腦上設定 IoT Edge 運行時間。 命令預設為使用 Windows 容器手動佈建。

    . {Invoke-WebRequest -useb https://aka.ms/iotedge-win} | Invoke-Expression; `
    Initialize-IoTEdge -ManualConnectionString -ContainerOs Windows
    
    • 如果您將 IoTEdgeSecurityDaemon.ps1 腳本下載到裝置以進行離線或特定版本安裝,請務必參考腳本的本機複本。

      . <path>/IoTEdgeSecurityDaemon.ps1
      Initialize-IoTEdge -ManualConnectionString -ContainerOs Windows
      
  3. 出現提示時,請提供您在上一節中擷取的裝置連接字串。 裝置連接字串會將實體裝置與IoT中樞中的裝置標識碼產生關聯,並提供驗證資訊。

    裝置連接字串採用下列格式,不應包含引號: HostName={IoT_hub_name}.azure-devices.net;DeviceId={device_name};SharedAccessKey={key}

當您手動佈建裝置時,您可以使用其他參數來修改程式,包括:

  • 將流量引導至代理伺服器
  • 宣告特定的 edgeAgent 容器映像,並在私有容器登錄中提供驗證憑證。

如需這些其他參數的詳細資訊,請參閱適用於使用 Windows 容器之 IoT Edge 的 PowerShell 腳本

確認設定成功

確認您的 IoT Edge 裝置上已成功安裝並設定執行階段。

檢查 IoT Edge 服務的狀態。

Get-Service iotedge

檢查服務記錄。

. {Invoke-WebRequest -useb aka.ms/iotedge-win} | Invoke-Expression; Get-IoTEdgeLog

列出執行中的模組。

iotedge list

離線或特定版本安裝 (選擇性)

本節中的步驟適用於標準安裝步驟未涵蓋的情況。 可能包括:

  • 離線時安裝 IoT Edge
  • 安裝釋出候選版本
  • 安裝非最新版

安裝期間會下載三個檔案:

  • PowerShell 腳本,其中包含安裝指示
  • Microsoft Azure IoT Edge cab,其中包含 IoT Edge 安全性精靈(iotedged)、Moby 容器引擎和 Moby CLI
  • Visual C++ 可再發佈套件(VC 執行時間)安裝程式

如果您的裝置會在安裝期間離線,或您想要安裝特定版本的IoT Edge,您可以事先將這些檔案下載到裝置。 在安裝時,請將安裝文本指向包含所下載檔案的目錄。 安裝程式會先檢查該目錄,然後只會下載找不到的元件。 如果所有檔案都可供離線使用,則可以在沒有因特網連線的情況下安裝。

  1. 如需最新的 IoT Edge 安裝檔案和舊版,請參閱 Azure IoT Edge 版本

  2. 尋找您要安裝的版本,並從IoT裝置的版本資訊 Assets 區段下載下列檔案:

    • IoTEdgeSecurityDaemon.ps1
    • 來自 1.1 發佈通道的 Microsoft-Azure-IoTEdge-amd64.cab。

    請務必使用與您使用 .cab 檔案相同的版本PowerShell腳本,因為功能會變更以支援每個版本中的功能。

  3. 如果您下載的 .cab 檔案上有架構後綴,請將檔案重新命名為只 Microsoft-Azure-IoTEdge.cab

  4. 可以選擇下載 Visual C++ 可轉散發套件安裝程式。 例如,PowerShell 腳本會使用此版本:vc_redist.x64.exe。 將安裝程式儲存在IoT裝置上與IoT Edge檔案相同的資料夾中。

  5. 若要使用脫機組件進行安裝,點來源 PowerShell 腳本的本機複本。

  6. 使用 參數執行 -OfflineInstallationPath 命令。 提供檔案目錄的絕對路徑。 例如,

    . path_to_powershell_module_here\IoTEdgeSecurityDaemon.ps1
    Deploy-IoTEdge -OfflineInstallationPath path_to_file_directory_here
    

    部署命令會使用在提供的本機檔案目錄中找到的任何元件。 如果 .cab 檔案或 Visual C++ 安裝程式遺失,則會嘗試下載它們。

解除安裝 IoT Edge

如果您想要從 Windows 裝置移除 IoT Edge 安裝,請使用系統管理 PowerShell 視窗中的 Uninstall-IoTEdge 命令。 此命令會移除 IoT Edge 執行時間,以及您現有的組態和 Moby 引擎數據。

. {Invoke-WebRequest -useb aka.ms/iotedge-win} | Invoke-Expression; `
Uninstall-IoTEdge

如需卸載選項的詳細資訊,請使用 命令 Get-Help Uninstall-IoTEdge -full

後續步驟

繼續部署 IoT Edge 模組,以了解如何將模組部署至您的裝置。