IoT 中樞裝置佈建服務 (DPS) 是 IoT 中樞的一項協助程式服務,可對正確的 IoT 中樞進行自動 Just-in-Time 佈建,完全無須人為介入。 在雲端式解決方案中,DPS 可讓您以安全且可調整的方式布建數百萬部裝置。 傳統上包含於佈建的許多手動步驟,都會使用 DPS 加以自動化,從而減少部署 IoT 裝置的時間,並降低手動錯誤的風險。
裝置布建服務的運作方式
下圖說明使用 DPS 布建裝置的幕後動作。
在裝置布建流程開始之前,有兩個手動步驟可供準備:
- 在裝置端,裝置製造商會準備裝置進行佈建,方法是使用驗證認證和指派的裝置佈建服務識別碼與端點預先設定裝置。
- 在雲端,您或裝置製造商會準備裝置配置服務實例,其中包含可識別有效裝置並定義應如何配置的註冊。
設定裝置和雲端以進行布建之後,當裝置第一次開啟時,下列步驟就會自動開始:
- 裝置會第一次開啟,然後連線到 DPS 端點,並呈現其驗證認證。
- DPS 執行個體將根據註冊清單檢查裝置的身分識別。 驗證裝置身分識別後,DPS 會將裝置指派給 IoT 中樞並在中樞中進行註冊。
- DPS 執行個體會從指派的中樞接收裝置識別碼和註冊資訊,並將該資訊傳回裝置。
- 裝置使用其註冊資訊以直接連線至指派的 IoT 中樞並進行驗證。
- 裝置和IoT中樞會開始直接通訊。 除非裝置需要重新部署,否則 DPS 執行個體沒有後續角色作為媒介。
何時要使用裝置佈建服務
在許多佈建案例中,DPS 都是用來將裝置設定並連線至 IoT 中樞的絕佳選擇,例如:
- 以零接觸方式佈建到單一 IoT 解決方案,無須在出廠時硬式編碼 IoT 中樞連線資訊 (初始安裝)
- 跨多個中樞為裝置進行負載平衡
- 以銷售交易資料作為基礎,將裝置連線到其擁有者的 IoT 解決方案 (多組織用戶管理)
- 根據使用案例,將裝置連線到特定的 IoT 解決方案 (解決方案隔離)
- 以最低的延遲將裝置連線到 IoT 中樞 (地區分區化)
- 以裝置中的變更作為基礎重新佈建
- 輪替裝置所用的金鑰,以連線到 IoT 中樞 (不使用 X.509 憑證連線時)。
DPS 不支援布建巢狀 IoT Edge 裝置(父層/子階層)。
佈建程序
使用 DPS 布建裝置之前,有兩個步驟:
- 建立裝置及出廠時準備的製造步驟,和
- 雲端安裝步驟,可在其中設定裝置佈建服務以進行自動佈建。
這兩個步驟都可以併入現有的製造和部署程式。 DPS 甚至可簡化某些部署程序,這些程序需要手動工作才能取得裝置的連線資訊。
製造步驟
這個步驟是關於製造線的事項。 此步驟所涉及的角色包括晶片設計工具、矽製造商、整合者及/或裝置的終端製造商。 這個步驟是關於建立本身的硬體。
DPS 不會在製造過程中引入新的步驟;相反地,它會系結至現有步驟,以在裝置上安裝初始軟體,並在裝置上安裝硬體安全性模組 (HSM)。 裝置不是在此步驟中建立裝置標識碼,而是使用布建服務資訊進行程序設計,讓它在開啟時呼叫布建服務以取得其連線資訊/IoT 解決方案指派。
在這個步驟中,製造商也會提供裝置部署器/運算子,當中包含識別金鑰資訊。 提供該資訊可能很簡單,就像確認所有裝置都具有由裝置部署者/操作員提供之簽署憑證所產生的 X.509 憑證;也可能很複雜,就像從每個 TPM 裝置擷取 TPM 簽署金鑰的公開部分。 許多矽製造商都提供這些服務。
雲端安裝步驟
這個步驟與設定適用於自動佈建的雲端相關。 通常雲端安裝步驟中會包含兩種類型的使用者:知道裝置必須初始設定方式的使用者 (裝置運算子),以及其他知道裝置如何在 IoT 中樞 (方案運算子) 之間分割的使用者。
布建服務有一次性的初始設定,解決方案操作員通常會處理此設定。 設定布建服務之後,除非使用案例變更,否則不需要修改它。
服務設定為自動布建之後,必須準備好註冊裝置。 此步驟是由裝置操作員所完成,該操作員知道裝置所需的設定,並確定布建服務可以正確證明裝置的身分識別。 裝置運算子會向製造商取得識別金鑰資訊,並將它新增至註冊清單。 隨著使用裝置的最新相關資訊來新增新的項目或更新現有的項目時,會對註冊清單進行後續更新。
註冊和佈建
佈建表示根據在當中使用字詞的產業之各種項目。 在將 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
- 透過 Web 通訊端的 AMQP
- MQTT
- 透過 Web 通訊端的 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 | 全部 | 否 |
相關的 Azure 元件
DPS 可使用 Azure IoT 中樞將裝置佈建自動化。 深入了解 IoT 中樞。
IoT Central 應用程式使用內部 DPS 執行個體來管理裝置連線。 若要深入瞭解,請參閱 裝置如何連線到 IoT Central。