什麼是 Azure IoT 中樞裝置佈建服務?
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 解決方案之間註冊裝置來建立初始連線。
- 第二個部分是以其註冊之解決方案的特定需求為基礎為裝置套用正確的設定。
這兩個步驟都完成之後,裝置才算完全佈建。 某些雲端服務只會提供布建程式的第一個步驟、向IoT解決方案端點註冊裝置,但未提供初始設定。 DPS 會自動進行這兩個步驟,以提供順暢的裝置佈建體驗。
裝置佈建服務的功能
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 | No |
登錄數目上限 | 1,000,000 | No |
個別註冊數目上限 | 1,000,000 | No |
註冊群組 (「X.509 憑證」) 數目上限 | 100 | No |
註冊群組 (「對稱金鑰」) 數目上限 | 100 | No |
CA 數目上限 | 25 | No |
連結的 IoT 中樞數目上限 | 50 | No |
訊息大小上限 | 96 KB | No |
提示
如果對稱金鑰註冊群組的固定限制是封鎖問題,建議使用個別註冊作為因應措施。
裝置佈建服務具有下列速率限制。
費率 | 每個單位值 | 是否可調整? |
---|---|---|
Operations | 1,000/分鐘/服務 | No |
裝置註冊 | 1,000/分鐘/服務 | No |
裝置輪詢作業 | 5/10 秒/裝置 | No |
計費服務作業和定價
DPS 上的每個 API 呼叫都作為一個作業計費。 這包含所有服務 API 及裝置註冊 API。
下表顯示每個 DPS 服務 API 作業的目前計費狀態。 若要深入了解 DPS 的價格,請選取 Azure IoT 中樞價格頁面頂端的 [定價資料表]。 然後選取 [IoT 中樞裝置佈建服務] 索引標籤及服務的貨幣和區域。
API | 作業 | 可計費嗎? |
---|---|---|
裝置 API | 裝置註冊狀態查閱 | No |
裝置 API | 作業狀態查閱 | No |
裝置 API | 註冊裝置 | Yes |
DPS 服務 API (註冊狀態) | 刪除 | Yes |
DPS 服務 API (註冊狀態) | Get | Yes |
DPS 服務 API (註冊狀態) | 查詢 | Yes |
DPS 服務 API (註冊群組) | 建立或更新 | Yes |
DPS 服務 API (註冊群組) | 刪除 | Yes |
DPS 服務 API (註冊群組) | Get | Yes |
DPS 服務 API (註冊群組) | 取得證明機制 | Yes |
DPS 服務 API (註冊群組) | 查詢 | Yes |
DPS 服務 API (註冊群組) | 執行大量作業 | Yes |
DPS 服務 API (個別註冊) | 建立或更新 | Yes |
DPS 服務 API (個別註冊) | 刪除 | Yes |
DPS 服務 API (個別註冊) | Get | Yes |
DPS 服務 API (個別註冊) | 取得證明機制 | Yes |
DPS 服務 API (個別註冊) | 查詢 | Yes |
DPS 服務 API (個別註冊) | 執行大量作業 | Yes |
DPS 憑證 API | 建立或更新 | No |
DPS 憑證 API | 刪除 | No |
DPS 憑證 API | 產生驗證碼 | No |
DPS 憑證 API | Get | No |
DPS 憑證 API | 清單 | No |
DPS 憑證 API | 驗證憑證 | No |
IoT DPS 資源 API | 檢查佈建服務名稱可用性 | No |
IoT DPS 資源 API | 建立或更新 | No |
IoT DPS 資源 API | 刪除 | No |
IoT DPS 資源 API | Get | No |
IoT DPS 資源 API | 取得作業結果 | No |
IoT DPS 資源 API | 依資源群組列示 | No |
IoT DPS 資源 API | 依訂用帳戶列出 | No |
IoT DPS 資源 API | 依金鑰列出 | No |
IoT DPS 資源 API | 列出金鑰名稱的金鑰 | No |
IoT DPS 資源 API | 列出有效的 SKU | No |
IoT DPS 資源 API | 更新 | No |
相關的 Azure 元件
DPS 可使用 Azure IoT 中樞將裝置佈建自動化。 深入了解 IoT 中樞。
注意
DPS 目前不支援佈建巢狀邊緣裝置 (父/子階層)。
IoT Central 應用程式使用內部 DPS 執行個體來管理裝置連線。 若要深入瞭解,請參閱 裝置如何連線到 IoT Central。
下一步
現在您已了解 Azure 中 IoT 裝置的概觀。 下一個步驟是嘗試端對端 IoT 情節。