什麼是 Azure IoT 中樞裝置佈建服務?

IoT 中樞裝置佈建服務 (DPS) 是 IoT 中樞的協助程式服務,可對正確的 IoT 中樞進行自動 Just-in-Time 佈建,完全無須人為介入。 在雲端式解決方案中,DPS 可讓您以安全且可調整的方式布建數百萬部裝置。 傳統上包含於佈建的許多手動步驟,都會使用 DPS 加以自動化,從而減少部署 IoT 裝置的時間,並降低手動錯誤的風險。

裝置佈建服務的運作方式

下圖說明使用 DPS 佈建裝置的幕後動作。

顯示裝置、裝置佈建服務和 IoT 中樞 如何一起運作的圖表。

在裝置佈建流程開始之前,需要先完成以下兩個手動準備步驟:

  • 在裝置端,裝置製造商會先為裝置做好佈建準備,預先設定其驗證認證,以及指派的 Device Provisioning Service ID 與端點。
  • 在雲端,您或裝置製造商會準備裝置配置服務實例,其中包含可識別有效裝置並定義應如何配置的註冊。

設定裝置和雲端以進行布建之後,當裝置第一次開啟時,下列步驟就會自動開始:

  1. 裝置會第一次開啟,然後連線到 DPS 端點,並呈現其驗證認證。
  2. DPS 執行個體會將裝置的身分與其註冊清單進行比對與驗證。 一旦裝置身分通過驗證,DPS 便會將該裝置指派至 IoT Hub,並在該中樞中完成註冊。
  3. DPS 執行個體會從已指派的中樞接收裝置 ID 與註冊資訊,並將這些資訊回傳給裝置。
  4. 裝置會使用其註冊資訊,直接連線至指派給它的 IoT 中樞並進行驗證。
  5. 裝置和 IoT 中樞會開始直接通訊。 除非裝置需要重新部署,否則 DPS 執行個體沒有後續角色作為媒介。

何時要使用裝置佈建服務

在許多佈建情境中,DPS 都是用來將裝置連線並設定至 IoT Hub 的理想選擇,例如:

  • 零接觸佈建到單一 IoT 解決方案,無須在出廠時 (初始安裝) 寫入程式碼 IoT 中樞連線資訊
  • 跨多個中樞的負載平衡裝置
  • 以銷售交易資料 (多租用戶) 作為基礎,將裝置連線到其擁有者的 IoT 解決方案
  • 根據使用案例 (解決方案隔離),將裝置連線到特定的 IoT 解決方案
  • 以最低延遲的方式將裝置連線到 IoT 中樞 (地區分區化)
  • 以裝置中的變更作為基礎重新佈建
  • 移動裝置所用的金鑰,以連線到 IoT 中樞 (不使用 X.509 憑證連線時)

DPS 不支援布建巢狀 IoT Edge 裝置(父層/子階層)。

佈建程序

使用 DPS 佈建裝置之前,有兩個步驟:

  • 製造步驟,可在其中建立裝置和進行出廠準備,和
  • 雲端安裝步驟,可在其中設定裝置佈建服務以進行自動佈建。

這兩個步驟都可以併入現有的製造和部署程式。 DPS 甚至可簡化某些部署程序,這些程序需要手動工作才能取得裝置的連線資訊。

製造步驟

此步驟主要說明在製造產線上所發生的流程。 此步驟所涉及的角色包括晶片設計工具、矽製造商、整合者及/或裝置的終端製造商。 這個步驟是關於建立本身的硬體。

DPS 並未在製造流程中新增額外的步驟;相反地,它是整合到既有的流程中,也就是在裝置上安裝初始軟體,並 (理想情況下) 部署硬體安全模組 (HSM) 的那個階段。 裝置不是在此步驟中建立裝置標識碼,而是使用布建服務資訊進行程序設計,讓它在開啟時呼叫布建服務以取得其連線資訊/IoT 解決方案指派。

在這個步驟中,製造商也會提供裝置部署器/運算子,當中包含識別金鑰資訊。 提供該資訊可能很簡單,就像確認所有裝置都具有由裝置部署者/操作員提供之簽署憑證所產生的 X.509 憑證;也可能很複雜,就像從每個信賴平台模組 (TPM) 裝置擷取 TPM 簽署金鑰的公開部分。 許多矽製造商都提供這些服務。

雲端安裝步驟

這個步驟與設定適用於自動佈建的雲端相關。 一般而言,雲端設定步驟中會涉及兩種類型的使用者:一種是了解裝置初始設定方式的人員 (裝置操作人員),另一種則是了解如何將裝置分配至各個 IoT Hub 的人員 (解決方案操作人員)。

佈建服務需要進行一次性的初始設定,通常由解決方案操作人員負責。 一旦佈建服務完成設定,除非使用情境有所變更,否則不需要再進行修改。

在服務完成自動佈建的設定後,必須先完成準備,才能開始為裝置進行註冊。 此步驟由裝置操作人員執行,他們了解裝置所需的設定內容,並確保佈建服務能夠正確驗證裝置的身分。 裝置運算子會向製造商取得識別金鑰資訊,並將它新增至註冊清單。 隨著新增註冊項目,或現有項目更新為最新的裝置資訊,註冊清單可能會持續進行後續更新。

註冊和佈建

根據使用佈建字詞的產業,佈建具有多種意思。 在將 IoT 裝置佈建到其雲端解決方案的內容中,佈建是一個包含兩個部分的程序:

  • 第一個部分是在裝置與 IoT 解決方案之間註冊裝置來建立初始連線。
  • 第二個部分是根據裝置所註冊之解決方案的特定需求,將適當的設定套用到該裝置上。

完成這兩個步驟之後,我們可以說裝置已完全佈建。

裝置佈建服務的功能

DPS 有許多功能,因此適合用來佈建裝置。

  • 安全證明支援 X.509 與 TPM 型身分識別。
  • 註冊清單 ,其中包含可能在某個時間點註冊之裝置/裝置群組的完整記錄。 一旦註冊,註冊清單就會包含裝置所需設定的相關資訊,並可以隨時更新。
  • 多個配置原則可以控制 DPS 如何將裝置指派給 IoT 中樞以支援您的案例:最低延遲、平均加權分佈 (預設) 和靜態設定。 自定義配置可讓您透過裝載於 Azure Functions 中的 Webhook 來實作自己的配置原則,而不是使用其中一個預設值。
  • 監視及診斷記錄並確定一切正常運作。
  • 多重中樞支援可讓 DPS 將裝置指派給一個以上的 IoT 中樞。 DPS 可跨多個 Azure 訂用帳戶與中樞通訊。
  • 跨區域支援可讓 DPS 將裝置指派給其他區域的 IoT 中樞。
  • 待用資料加密允許使用 256 位元的 AES 加密 (可用的最強區塊編碼器之一),以透明方式加密及解密 DPS 中的資料,而且符合 FIPS 140-2 規範。

您可以深入了解涉及裝置佈建的概念和功能,請檢閱 DPS 術語文章,以及同一章節中的其他概念性文章。

跨平台支援

DPS 和所有 Azure IoT 服務一樣,都能跨平台用於各種作業系統。 Azure 提供多種程式設計語言的開放原始碼 SDK,以協助建立裝置的連線及管理服務。

DPS 支援使用下列通訊協定建立裝置的連線:

  • HTTPS*
  • AMQP
  • 透過 WebSocket 的 AMQP
  • MQTT
  • 透過 WebSocket 的 MQTT

*DPS 僅支援服務作業的 HTTPS 連線。

區域

DPS 可在許多區域中使用。 如需所有服務支援的區域清單,請參閱 Azure 區域。 您可以在 Azure 狀態 頁面上檢查裝置佈建服務的可用性。

如需復原和可靠性,建議您部署到支援可用性區域的其中一個區域。

資料駐留考量

裝置佈建服務會儲存客戶資料。 預設情況下,客戶資料會複寫至次要區域,以支援災害復原情境。 針對部署於東南亞與巴西南部的環境,客戶可選擇停用災害復原,將資料僅保留在該區域內。 如需詳細資訊,請參閱 Azure 中的跨區域複寫

DPS 會針對所有佈建服務執行個體使用相同的裝置佈建端點,並對最接近的可用服務端點執行流量負載平衡。 因此,驗證密碼可能會暫時傳送至 DPS 執行個體最初建立所在區域以外的地區。 不過,一旦裝置完成連線,裝置資料便會直接傳送至 DPS 執行個體的原始區域。 為確保資料不會離開原始或次要區域,請使用私人端點。 如需深入了解如何設定私人端點,請參閱虛擬網路 DPS 支援

配額和限制

每個 Azure 訂用帳戶都有預設配額限制,可能會影響 IoT 解決方案的範圍。 目前每個訂用帳戶最多可建立 10 個裝置佈建服務執行個體。

如需配額限制的詳細資訊,請參閱 Azure 訂用帳戶服務限制

下表列出適用於 Azure IoT 中樞裝置佈建服務資源的限制。

資源 限制
每個 Azure 訂用帳戶的裝置佈建服務上限 10
登錄數目上限 1,000,000
個別註冊數目上限 1,000,000
註冊群組 (X.509 憑證) 的最大數量 100
註冊群組 (對稱金鑰) 數目上限 100
每個伺服器的 CA 25
連結的 IoT 中樞數目上限 50
訊息大小上限 96 KB

秘訣

如果對稱密鑰註冊群組的硬性限制是封鎖問題,請使用個別註冊作為因應措施。

裝置佈建服務具有以下速率限制。

費率 每單位價值
業務 1,000/分鐘/服務
裝置註冊 1,000/分鐘/服務
裝置輪詢作業 5/10 秒/裝置

計費服務作業和定價

DPS 上的每個 API 呼叫,無論是從服務 API 還是裝置註冊 API,都會以一項 作業計費。

下表顯示每個 DPS API 作業目前的可計費狀態。 若要進一步了解 DPS 的定價資訊,請選取 Azure IoT 中樞定價頁面頂端的定價表。 然後選取 IoT 中樞裝置佈建服務索引標籤及服務的貨幣和區域。

API 作業 可計費?
DPS 裝置 API - 執行時間註冊 裝置註冊狀態查閱
作業狀態查閱
註冊裝置 是的
DPS 服務 API - 裝置註冊狀態 全部 是的
DPS 服務 API - 註冊群組 全部 是的
DPS 服務 API - 個別註冊 全部 是的
DPS 憑證 API 全部
IoT DPS 資源 API 全部

DPS 可使用 Azure IoT 中樞將裝置佈建自動化。 深入了解 IoT 中樞

IoT Central 應用程式使用內部 DPS 執行個體來管理裝置連線。 若要深入瞭解,請參閱裝置如何連線到 IoT Central

後續步驟

使用 Azure 入口網站設定 IoT 中樞裝置佈建服務

建立及佈建模擬裝置