共用方式為


Azure IoT 中樞的架構最佳做法

Azure IoT 中樞是受控雲端式服務,可作為中央訊息中樞,用於IoT應用程式與其連線裝置之間的通訊。 您可以大規模地將幾乎所有裝置及其後端解決方案連線到IoT中樞。

本文假設身為架構設計人員,您已檢閱可用來建立IoT解決方案的 技術和服務,並選擇 IoT中樞 作為工作負載的 Azure IoT 平台服務。 本文中的指引提供架構建議,這些建議會對應至 Well-Architected Framework 支柱的原則。

重要

如何使用本指南

每個區段都有一個 設計檢查清單,其中會呈現需要關注的架構領域,以及針對技術範圍量身訂製的設計策略。

此外,也包含可協助具體化這些策略的技術功能建議。 這些建議並不代表 IoT 中樞及其相依性所有可用組態的完整清單。 相反地,他們會列出主要建議,並將其對應至設計觀點。 使用建議來建置概念證明,或將現有的環境優化。

技術範圍

此檢閱著重於下列 Azure 資源的相關決策:

  • Azure IoT 中樞
  • Azure IoT 中樞裝置布建服務 (DPS)
  • 適用於IoT中樞的 Azure 裝置更新
  • Azure IoT Edge
  • Azure Digital Twins
  • Azure Sphere
  • 適用於 IoT 的 Microsoft Defender

可靠性

可靠性支柱的目的是藉由 建置足夠的復原能力,以及從失敗中快速復原的能力,來提供持續的功能。

可靠性設計原則 提供適用於個別元件、系統流程和整個系統的高階設計策略。

設計檢查清單

根據可靠性 設計檢閱檢查清單,啟動您的設計策略。 在考慮 IoT 中樞效能的同時,判斷其與業務需求的相關性。 擴充策略,以視需要包含更多方法。

  • 設計用於復原的裝置。 設計您的裝置,以滿足端對端解決方案的運行時間和可用性需求。 請確定您的IoT裝置可在與雲端的間歇性連線下有效率地運作。

  • 商務需求的設計。 請考慮引進架構修改以符合服務等級協定的成本影響。 例如,若要提高可靠性和高可用性,您可以實作跨區域備援和自動調整系統。 仔細考慮取捨。

  • 實作安全、簡單的更新程式。 建立作員在企業IoT解決方案中管理裝置的策略。 IoT作員需要簡單且可靠的更新工具和做法。

  • 觀察應用程式健康情況。 根據可觀察性定義服務等級指標(SLI)和服務等級目標(SLO)。 除了IoT中樞中包含的進程之外,新增稽核、監視和警示的程式。

  • 針對重要元件實作高可用性和災害復原。 規劃可復原的硬體和軟體元件,以增加備援,包括跨區域備援。

  • 規劃容量。 規劃服務配額和節流,並考慮偵測和動作之間發生的延遲。 在生產規模建立基準,以支援不間斷的數據流。

建議

建議 好處
計算所需的IoT中樞容量,例如每日訊息數目和其他限制。 如果您的工作負載有變動的容量需求,請實作自動調整機制,以便根據需求增加和減少容量。 如需詳細資訊,請參閱 為您的解決方案選擇正確的IoT中樞層和大小 動態調整有助於優化資源使用量。 其可協助確保您的解決方案在未過度布建資源的情況下保持回應且可靠。
將裝置重新連線策略新增至IoT中樞,以設計彈性應用程式。 如需詳細資訊,請參閱 管理裝置重新連線 IoT 裝置通常依賴間歇性或不穩定的網路連線。 重新連線策略可讓您的工作負載在沒有使用者介入的情況下復原,進而增加可用性。
評估在 IoT Hub 中 的不同 高可用性和災害復原選項的取捨。 視IoT解決方案的運行時間目標而定,判斷最適合您商務目標的選項。 選擇 Microsoft發起的故障轉移手動故障轉移,以及 跨區域高可用性 故障轉移策略可協助工作負載快速切換至備份實例,以將使用者和商務作業的影響降到最低。
使用 DPS 來布建裝置,並將其指派給IoT中樞。 DPS 是一項輔助服務,可啟用零接觸即時布建,無需人工干預。 DPS 可讓您以高度安全且可調整的方式布建數百萬部裝置。
使用 適用於 IoT Hub 的設備更新 來管理您的 IoT 設備的無線更新。 請確定您的更新策略包含漸進式推出、復原的 A/B 更新、詳細管理和報告工具。 這種方法有助於確保IoT裝置的安全、安全且可靠的更新,進而降低停機時間並提升營運效率。 其可協助維護裝置合規性,並快速識別並解決更新失敗,進而增強整體系統可靠性。
實作DevOps做法來管理IoT解決方案,包括持續整合和持續部署 (CI/CD)、監視和自動更新。

- 使用 DevOps 來建置和發行 IoT Edge 應用程式,
- 使用 Azure 監視器來監視和取得 IoT 中樞所收集數據的警示。
- 在 IoT 中樞使用 自動裝置管理,將大規模裝置的管理自動化
DevOps 做法可增強IoT解決方案的可靠性與效率。 它們可快速部署、持續監視和自動更新。 這些功能可減少停機時間、改善系統效能,以及安全地且一致地部署更新和變更。

安全

安全性要素的目的是為工作負載提供 機密性、完整性和可用性 保證。

安全性設計原則 藉由將方法套用至IoT中樞的技術設計,為達成這些目標提供高階的設計策略。

設計檢查清單

根據安全性 設計檢閱檢查清單來啟動您的設計策略,並識別弱點和控件,以改善安全性狀態。 擴充策略,以視需要包含更多方法。

  • 使用強式身分識別來驗證裝置和使用者。 實作增強安全性的做法。 例如,您應該:

    • 信任身分識別的硬體信任根據。
    • 將裝置註冊。
    • 發出可更新的認證。
    • 使用無密碼或多重要素驗證 (MFA)。
  • 自動化並使用最低許可權的訪問控制。 限制遭入侵裝置或身分識別或未核准工作負載的影響。

  • 評估您的裝置健康情況。 評估您的裝置健康情況,以控制存取或識別裝置以進行補救。 檢查安全性設定、評估弱點和不安全的密碼、監視威脅和異常狀況,以及建置持續的風險配置檔。

  • 實作裝置更新。 實作持續更新,讓裝置保持狀況良好。 使用集中式設定和合規性管理解決方案和健全的更新機制,以確保裝置 up-to日期且狀況良好。

  • 監視系統安全性,並規劃事件回應。 主動監視未經授權或遭入侵的裝置,並回應新興的威脅。

  • 確保高度安全連線。 確定IoT裝置與IoT雲端服務之間傳輸的所有數據都是機密且防竄改的。

建議

建議 益處
為裝置套用零信任準則。 連接到 IoT 中樞的裝置應該:
- 包含 硬體安全性模組 以提供強化身分識別。
- 使用 的可更新認證。
- 實施最小權限的訪問控制。
- 針對條件式存取發出適當的健康訊號。
- 當發生入侵時,警示操作員 從 IoT 中樞移除裝置

您的裝置應該包括:
- 更新代理程式以進行安全性更新。
- 雲端驅動組態和自動化安全性回應的裝置管理功能。
- 僅啟用必要的功能,才能將實體攻擊使用量降到最低。
- 透過標準加密演算法進行靜態資料保護
連接到IoT中樞的裝置的零信任標準可增強安全性和可靠性。

硬體安全性模組、可再生能源認證和最低許可權訪問控制可將未經授權的存取和遭入侵的裝置降到最低。

條件式存取和更新代理程式的健康情況訊號可協助確保裝置保持安全且符合規範。 雲端驅動的裝置管理和自動化安全性回應,以及安全性代理程式,強化安全性狀態。

小型實體攻擊面和靜態數據保護以保護敏感資訊並維護系統完整性。
使用 X.509 憑證向 IoT 中樞驗證您的裝置。 如需詳細資訊,請參閱 使用 X.509 憑證驗證身分識別 相較於安全性令牌,生產環境中的 X.509 型驗證可提供更大的安全性。
為 IoT 裝置實施最小特權的存取分層策略。 使用 網路分割 來群組 IoT 裝置。 這種做法可減輕潛在洩漏的後果。

例如,您可以將IoT裝置連線到裝置的「IoT 網路」,例如印表機、VoIP 手機和智慧型手機電視。 將此 IoT 網路與員工存取的其他組織資源分開。

使用網路微分割,以邏輯方式將專用作業技術環境與公司資訊技術網路分開。 若要建立此區隔,請使用包含防火牆的周邊網路架構。 成熟的組織也可以在 Purdue 模型的多層實作微分割原則,通常是使用新一代防火牆。
網路區隔會將 IoT 裝置分組,以減輕損害影響。

網路微分割會在網路層隔離功能較弱的裝置,無論是在閘道後方還是離散網路區段上。
使用 Microsoft Defender IoT 作為第一道防線,以保護 Azure 中的資源。

適用於IoT的Defender是無代理程式的網路層安全性平臺,可提供IoT裝置的持續資產探索、弱點管理和威脅偵測。
適用於 IoT 的 Defender 提供持續監視和威脅偵測,以快速識別未經授權的或遭入侵的裝置。 其可增強IoT網路的整體安全性和復原能力。
使用 IoT 中樞搭配 Azure Sphere 作為安全模組,以協助保護其他裝置,包括那些您無法依賴於安全連線的現有舊版系統。

Azure Sphere 守護者模組會附帶應用程式,並透過乙太網路、序列或藍牙低能(BLE)與現有裝置介面連接。 裝置不一定具有直接因特網連線能力。
Azure Sphere 守護者模組提供在現有裝置中實作高度安全連線的方式,而不需將這些裝置公開至因特網。 此保護包括加密數據傳輸、高度安全的 OS 和應用程式更新,以及驗證,以確保只與受信任的主機通訊。
使用 IoT Edge 閘道,為能力較低的裝置應用強式身分識別模式。

IoT Edge 提供與 IoT 中樞的邊緣運行時間連線,並支援憑證作為強式裝置身分識別。 IoT Edge 支援 PKCS#11 標準,適用於受信任平台模組 (TPM) 或硬體安全性模組上的裝置製造身分識別和其他秘密。
IoT Edge 閘道可協助強制執行強式身分識別模式,讓只有已驗證和授權的裝置可以在網路內通訊。 這項功能可增強IoT生態系統的安全性和完整性。

成本優化

成本優化著重於 偵測支出模式、將投資放在重要領域,並將其他 優化,以符合組織的預算,同時符合商務需求。

成本優化設計原則 提供高階設計策略,以達成這些目標,並在與IoT中樞及其環境相關的技術設計中視需要進行取捨。

設計檢查清單

根據投資成本優化 設計檢閱檢查清單,開始您的設計策略。 微調設計,讓工作負載符合為工作負載配置的預算。 您的設計應該使用正確的 Azure 功能、監視投資,以及尋找經過一段時間優化的機會。

  • 發展成本管理紀律。 若要瞭解總擁有成本 (TCO),請同時考慮方案中的功能和非功能性成本。

  • 使用業界標準策略和方法。 針對製造等IoT特定產業,請使用 業界標準策略和方法, 建置結構、IoT系統、智慧城市或能源電網。 此方法可協助將成本優化。

  • 瞭解保護IoT解決方案的成本。 IoT 涵蓋整個程式,從硬體到雲端服務,因此您會在每個階段產生安全性相關費用。 例如,您可以產生微控制器單元(MPU)、裝置、電信、雲端技術和作業技術的成本。

  • 針對速率優化的設計。 針對每一個 IoT 解決方案的全面議題 定義實施計劃,以優化成本。

  • 隨時間進行監視和優化。 持續監視和優化IoT中樞成本。 實作解決方案之後,請執行持續的成本優化活動。

  • 預估實際成本。 選取 適當的 IoT 中樞層級和大小,以適用於您 IoT 解決方案的開發和運作階段。

  • 評估一次性成本與週期性成本。 請考慮一次性成本與週期性成本的成本優點。 例如,駭客技術會持續演進,因此您可以使用可靠的商業作系統和模組,例如 Azure Sphere。 透過一次性付款,這類服務會持續提供每月的裝置安全性修補程式。

  • 優化資源使用量。 實作 自動調整機制, 根據需求調整IoT中樞容量。 這種方法有助於確保有效率的資源使用量和成本控制。

  • 使用保留容量。 評估 大小和頻率的訊息承載,以確保 IoT 中樞已適當配置並準備好進行擴展。

  • 實作成本警示和預算。 在Microsoft成本管理中設定成本警示和預算,以有效地追蹤和控制您的支出。 針對 IoT 中樞DPS使用成本管理 API。

建議

建議 效益
瞭解 IoT 中樞配額和節流限制,以及當解決方案大規模在生產環境中執行時,它們如何影響 TCO。

您的成本模型應該會考慮生產環境中大規模的裝置、基礎結構、作業和監視。
每個服務都有自己的配額和節流限制。 瞭解IoT中樞中的這些限制,以將成本優化。
瞭解裝置生態系統和各種涉及的角色,例如硬體製造商、應用程式開發人員和營運商進行規劃。 裝置的種類範圍可以從小型 8 位元微控制器 (MCU) 到進階的 x86 處理器,像是桌上型電腦所用的 CPU。 如需詳細資訊,請參閱 IoT 解決方案內的裝置設定最佳做法

您選擇的硬體取決於許多變數。 瞭解IoT裝置中 主要硬體差異,以降低成本。
瞭解裝置的範圍和主要硬體差異,有助於更有效率地配置資源。 這可確保您將正確的裝置用於正確的工作,進而提升效能和成本效益。
使用 IoT 隨插即用 來減少硬體開發和上架時間。 採用 數位雙胞胎定義語言(DTDL)產業本體論,這是一種模型,裝置用來向支持 IoT 隨插即用功能的應用程式宣告其功能。 解決方案建置者可以使用IoT隨插即用整合IoT裝置與IoT中樞,而不需手動設定。
使用適用於IoT中樞的 裝置更新 以進行無線更新,並遠端管理您的裝置。 遠端更新裝置韌體或軟體的解決方案可協助降低長期手動人力成本。
使用適用於 Azure 服務的連接器,例如 Power Apps、Power Automate 和 Azure Logic Apps。

IoT 中樞和 Azure 事件方格 提供連接器,以在 Logic Apps 和 Power Automate 中實作您的需求。
連接器可讓您在IoT裝置與各種 Azure 服務之間順暢地整合,以啟用自動化工作流程和增強的數據處理功能。
使用 裝置模擬器 並設定負載測試環境,以生產規模測試解決方案,並了解解決方案成本。

模擬程式代碼範例,例如 Azure IoT 裝置遙測模擬器, 協助您使用各種參數大規模測試和估計成本。
裝置模擬器可協助大規模節省模型、測試和模擬案例結果的成本。
若要降低傳輸大小和成本:
- 為您的IoT裝置選擇正確的通訊協定
- 在邊緣運算環境中壓縮遙測數據。
- 裝置上的批次訊息
- 選擇讓連線保持運作,或在裝置喚醒時重新連線。
- 如果成本是關鍵,請使用 裝置孿生功能 以非同步方式交換狀態資訊。

針對電池供電的IoT裝置,您可以選擇在裝置喚醒時保持連線或重新連線。 請使用保持連線訊息或心跳訊息來檢查裝置狀態,但要考慮傳輸時可能產生的額外網路成本。

重新聯機會使用大約 6 KB 的數據來建立 TLS 連線、驗證裝置,以及擷取裝置對應項。 但如果裝置每天只喚醒一次或兩次,它就會節省電池容量。
最適合您案例的通訊協定可讓裝置降低傳輸層中的傳輸大小和成本。
瞭解如何使用IoT資料的熱、暖和冷路徑分析,並套用 Lambda 架構。 使用IoT中樞的內建 訊息路由 功能。 IoT 解決方案可以儲存大量數據。 記憶體成本占整體解決方案成本的很大一部分。 根據您的商務案例選擇適當的處理和記憶體方案。

卓越營運

卓越營運主要著重於 開發實務、監控性以及發佈管理。

營運卓越設計原則 提供高階設計策略,以達成工作負載作業需求的目標。

設計檢查清單

根據營運卓越 設計檢閱檢查清單,開始制定您的設計策略,來定義與 IoT 中樞相關的可觀察性、測試和部署程序。

  • 擁抱持續運作和擴展能力。 確定 IoT 解決方案可以:

    • 成功管理自動化裝置佈建。
    • 與其他後端系統整合。
    • 支援不同的角色,例如解決方案開發人員、解決方案管理員和作員。
    • 根據需求有效地適應和擴展,例如新部署的IoT裝置或更高的資料輸入量。
  • 優化建置和發布流程。 成功的企業IoT解決方案需要建立和更新裝置或裝置組態的一組策略。 裝置的組態包括裝置屬性、連線設定、關聯性和韌體。 IoT作員需要簡單且可靠的工具,以在裝置存留期間的任何時間點更新裝置或裝置車隊的設定。

  • 了解作業健康情況。 使用IoT解決方案記錄、監視和警示系統來判斷解決方案是否如預期般運作,並協助針對解決方案整個生命週期的問題進行疑難解答。

  • 使用自動化和DevOps。 IoT 裝置基本上是具有特殊硬體和軟體的小型電腦。 IoT 裝置通常會受限於硬體。 例如,它們可能有有限的記憶體或計算容量。 自動化和 DevOps 可協助確保將 OS 和軟體的適當上傳和部署至 IoT 裝置和閘道,以將作業停機時間降到最低。 使用自動化和DevOps來監視和管理IoT裝置的生命週期。

建議

建議 好處
使用 IoT 中樞自動裝置管理IoT Edge 自動部署 來實作現有或新裝置的連續更新,以及 IoT Edge 裝置組態,例如屬性、應用程式特定設定或關聯性。

若要根據一次性或週期性排程更新現有的裝置或 IoT Edge 裝置組態,請使用 IoT 中樞排程工作

若要透過無線方式更新現有的裝置或IoT Edge裝置韌體、應用程式或套件更新,請使用 IoT中樞的裝置更新

為物聯網設備準備一個手動更新方法。 由於根憑證變更或連線問題,您可能需要手動更新裝置,方法是物理連接至本地計算機或使用本地連線協定,例如 BLE。
IoT 中樞自動裝置管理和 IoT Edge 自動部署提供高效、安全且可靠的方式,可將車隊或特定裝置群組的組態部署自動化。 為了確保裝置具有指定的組態,服務會根據標記持續監視新的和現有的目標裝置及其組態。

IoT 中樞排程工作提供最佳方式,以在排程時間更新車隊或特定裝置群組的組態。

IoT 中樞的裝置更新可有效率地更新車隊或特定裝置群組。
設定IoT雲端解決方案的擷取和其他後端層,以有效率地處理預期和非預期的容量需求。 如果您的解決方案已連結至已連線的產品,請確定它可以處理IoT中樞內預期負載和相關聯後端層內的波動。 營銷計劃,例如銷售或促銷,以及假日等季節性事件,可能會帶來負載高峰。 為了確保您的解決方案可以調整以處理尖峰,請針對預期和非預期的事件測試負載變化。
使用 IoT 中樞 REST API 公開的 REST API 來建置集中式管理 UI,以協助作業小組管理裝置機群。 集中式裝置管理解決方案可簡化IoT裝置的管理、監視和作業,有助於確保IoT解決方案的生命週期管理和一致設定有效率。 整合式UI也可協助作業小組有效地管理裝置機隊,進而降低作業複雜度並改善整體系統可靠性。
使用集中式識別提供者,例如 Microsoft Entra ID,建立 受控識別。 只允許這些角色中的適當使用者執行管理或操作活動,例如建立和布建新裝置、將命令傳送至現場的硬體、部署更新,以及修改使用者權限。 Microsoft Entra ID 驗證提供了比傳統安全性令牌更好的安全性和使用便利性。 您可以使用 Microsoft Entra ID 中的 Azure 角色型存取控制 (RBAC)來控制 IoT 中樞的存取。
在 IoT 中樞型解決方案中,您可以使用 Microsoft Entra ID 來驗證 IoT 中樞服務 API 的要求,例如建立裝置身分識別或叫用直接方法。 您可以開發解決方案作員和系統管理員的自訂管理UI。 此 UI 會根據Microsoft Entra 識別碼來驗證使用者,並代表其將 API 要求傳送至 IoT 解決方案後端。 自定義管理UI藉由納入 RBAC 和其他安全性措施來改善安全性。 它們也會藉由提供直覺式介面來簡化複雜工作,來增強用戶體驗。
使用IoT中樞記錄、監視和警示系統來判斷解決方案是否如預期般運作,並協助疑難解答和減輕問題。 如需IoT中樞所建立計量和記錄的詳細資訊,請參閱 IoT中樞監視資料參考 監視和記錄有助於判斷裝置或系統是否發生錯誤、正確設定、產生精確的數據,並滿足定義的 SLO。
使用 CI/CD DevOps 原則和程式來提升生產力,並建立順暢的快速開發週期。 使用 Azure Pipelines 中的內建的 IoT Edge 作業,將 DevOps 導入您的 IoT Edge 應用程式。 如需詳細資訊,請參閱 CI/CD 至 IoT Edge 裝置 IoT 中樞和IoT Edge中的DevOps工具和程式可協助自動化邊緣軟體生命週期。
定義重新佈建和取消佈建物聯網裝置的流程。 如需詳細資訊。 請參閱 IoT 樞紐裝置重新佈建的概念。 IoT 裝置生命週期包括定義將現有裝置重新佈建至其他位置或用途的程式,並在必要時安全地取消布建。 IoT 裝置的重新佈建和取消佈建過程可協助您管理它們的整個生命週期。 當您在IoT中樞之間移轉裝置狀態資訊和組態時,這些程式有助於維護作業的持續性。 這種做法有助於確保裝置在移動後繼續正常運作。
測試 IoT 中樞 的故障轉移和 的故障回復,以確保高可用性。 Microsoft起始故障轉移和手動故障轉移的文件復原步驟。

在發生故障時,制定並自動化將應用程式復原或故障轉移至次要 Azure 區域所需的步驟。 這種做法有助於確保您可以有效地響應中斷,並將影響降到最低。 同樣地,在問題解決之後,將應用程式恢復到主要區域的步驟編纂並自動化。
故障轉移和容錯回復程式測試可協助確保您的IoT解決方案可以處理失敗並維護高可用性,進而將失敗的影響降到最低。

文件化的由Microsoft引發的和手動的故障轉移復原步驟,提供清楚且結構化的方法來處理故障轉移情境,以確保小組成員了解過程,並能有效執行。
使用基礎結構即程序代碼 (IaC) 語言,例如 Bicep 或 Azure Resource Manager 範本 (ARM 範本),定義並儲存所有 IoT 中樞、DPS 和後端基礎結構組態。 將整個基礎結構定義為 IaC,讓您可以自動跨環境一致地部署資源。

使用身分識別和存取管理 (IAM) 或治理工具,例如 Azure RBAC 或 Azure 原則,來控制基礎結構的寫入許可權。

將組態設定或基礎結構更新限制為自動化管線。 使用此方法可讓您查看環境中和何時發生的變更。
布建和設定IoT解決方案資源的可重複且可預測的程式,例如IoT中樞或 DPS,可協助減少錯誤和停機時間。

DevOps 工具,例如 Azure DevOps 或 GitHub,可協助追蹤設定、IaC 和韌體版本。 版本追蹤可協助您識別每個環境中的韌體、組態和 IaC 版本。
建立與生產環境相同的韌體、組態設定和 IaC 的測試環境。 若要輕鬆建立這些環境,請使用 IaC 並盡可能自動執行您的程式。 比對測試和生產環境有助於簡化新功能和熱門修正的開發和測試。

效能效率

效能效率與 維護用戶體驗有關,即使藉由管理容量來增加負載 也一定。 此策略包括調整資源、識別和優化潛在的瓶頸,以及優化尖峰效能。

效能效率設計原則 提供針對預期使用量達成這些容量目標的高階設計策略。

設計檢查清單

根據 設計檢閱檢查清單啟動您的設計策略,以效能效率 為基準定義 IoT Hub 的關鍵性能指標基準。

  • 水平調整的設計。 IoT 解決方案可以從數百個裝置或訊息開始,並且每分鐘成長至數百萬個裝置和訊息。 IoT 中樞和相關雲端服務可以輕鬆地處理增加的負載,但 IoT 裝置和閘道會增加複雜性。 在完成解決方案之前,您可以設計和部署IoT裝置。 像工業物聯網這樣的產業中使用的裝置可以持續多年,通常可達數十年。 更換裝置以更新容量可能會產生大量成本,因此您必須事先規劃。

  • 儘早測試效能。 早期測試並經常測試,以快速找出問題。 瞭解可帶來複雜性的變數,例如不同地理位置的感測器、裝置和閘道,具有不同特性、速度和可靠性的通訊。 在測試中考慮到此複雜性。 測試失敗案例,例如網路中斷連線。 對 IoT 中樞和相關雲端服務中的所有裝置、邊緣和雲端元件執行壓力和負載測試。

  • 持續監控生產環境中的效能。 若要監視多個地理區域中不同類型的裝置,請使用分散式監視解決方案。 針對您監視和傳送至雲端的資訊量,平衡記憶體和效能成本。 調整診斷案例的傳輸,並在多個層級和層面進行監視。 公開工業或閘道啟用解決方案的閘道計量。

建議

建議 效益
優化硬體功能。 硬體升級和更換可能會增加成本和時間。 事先調整IoT裝置的大小,以符合您所需的容量和功能。

若要優化現有的硬體功能,請使用有效率的語言和架構,例如 Embedded CRust Embedded。 當您針對受限制的裝置進行開發,或當裝置上大部分的安全性和通訊堆疊可用時,請使用 Azure IoT Embedded C SDK
在特定硬體上執行的計算和輸入輸出密集工作可以大幅提升效能。 例如,在本機 GPU 上執行的機器學習演算法可以從中央處理器卸除處理,這樣會建立更快速且更有效率的計算。

有效率的語言和架構可以改善效能並降低資源耗用量。

適用於 C 的 Azure IoT 裝置 SDK 可有效率地管理所有必要的元件,讓您可以連線到雲端閘道。 Azure IoT 裝置 SDK 會處理復原連線所需的訊息轉譯、錯誤處理和重試機制,以優化現有硬體功能的使用。
請考慮在邊緣執行某些工作負荷,具體取決於網路吞吐量或延遲等系統條件的限制。 邊緣的工作負載可降低延遲並改善回應性,因為它們會處理更接近產生的數據位置。 這種方法可將持續雲端連線的需求降到最低,這有利於間歇性或有限網路存取的案例。 它也有助於從雲端卸除處理,進而降低頻寬使用量和相關聯的成本。
請勿一次連接所有裝置,例如區域性電源中斷之後。 當您重試時,請使用加入抖動的截斷指數退避策略。 這種方法會隨著時間分散重新連線嘗試,這有助於防止網路壅塞和伺服器多載。 它會建立更穩定且可靠的重新連線程式,以降低其他中斷或效能降低的風險。 正確管理的重新連線嘗試可協助維護IoT中樞的整體健康情況和效能。
優化離線場景。 為裝置提供足夠的資訊和內容,以便在沒有雲端連線的情況下運作,並在本機儲存數據,以便從中斷連線和重新啟動中復原。 使用 裝置雙胞胎和模組雙胞胎,以非同步方式在裝置與雲端之間同步狀態資訊,適用於那些與 IoT 中樞連線不穩定的裝置。

設定數據的存留時間(TTL),以確保自動移除過期的數據。 這種做法可減少手動介入的需求。

如果邊緣裝置儲存空間達到容量,請使用快取收回策略,例如先進後出、先出後進或優先順序型策略,以有效率地管理儲存空間。 請考慮使用個別的磁碟或磁碟控制器來儲存數據,讓裝置運行時間或應用程式即使在記憶體不足的情況下仍可繼續運作。
可將數據本地儲存的裝置,包括根據優先級的記錄和快取的遙測,能在未連線時幫助維持功能的正常運作。 當裝置未連線時捨棄較不重要的數據,以減少裝置重新連線時的本機記憶體需求和同步處理時間。

用來儲存數據的個別磁碟或磁碟控制器有助於確保記憶體限制不會中斷重大作業。
將傳訊效率優化。 IoT 中樞會根據 4 KB 訊息大小計算每日配額訊息計數,。 傳送較小的訊息會讓部分容量未使用。 為了優化用量,請使訊息大小接近 4 KB。 若要減少訊息總數,請將較小的裝置到雲端訊息分組為較大的訊息。 但請注意合併訊息時所引進的延遲。

若要實作應用層級批處理,請在下游裝置結合多個較小的訊息,並將較大的訊息傳送至邊緣網關。

使用直接方法進行請求-回覆交互操作,這些方法可以在使用者指定的逾時後立即成功或失敗。針對因裝置是否回應而導致行動方案不同的場景,請使用此方法。

使用裝置對應項取得裝置狀態資訊,包括元數據和組態。 IoT 中樞會為每個已連接的裝置維護其裝置孿生。
裝置到雲端訊息的數目和大小是IoT解決方案效能效率的重要參數。 IoT 中樞會定義每一層的訊息限制,這會影響解決方案的效能和成本。

批處理有助於限制訊息額外負荷,並減少本機邊緣磁碟記憶體的寫入。
瞭解傳訊配額和限制流量。 IoT 中樞層會設定每個雲端閘道單位的限制。 傳訊配額會定義該層的持續輸送量和持續傳送速率。 IoT 中樞可以處理在短時間內超過這些配額的負載,以彈性地處理高載或負載超載。

另一個重要的限制是每小時或每日服務負載或節流限制。 節流限制可保護IoT中樞在長時間內避免過度負載。
瞭解傳訊配額和節流,以協助確保您的IoT解決方案在定義的限制內運作。 這種做法可防止多載和維護效能。 有效地管理負載,讓您可以處理高載和負載超載,而不會影響整體系統穩定性。

這種方法有助於維護可靠且有效率的IoT解決方案,並防止因負載過大而導致潛在的服務中斷。
優化訊息處理。 優化您用來將數據傳送至雲端的格式。 根據頻寬成本,權衡優化數據格式並降低雲端處理的優點。 請考慮使用 IoT Hub 訊息豐富化功能,為裝置訊息添加背景資訊。

在數據傳入時,對其進行時間關鍵性事件處理,而不是儲存尚未處理的數據,且還需透過複雜查詢來獲取數據。 針對時間關鍵性事件處理,請考慮延遲數據抵達和窗口處理的影響。 根據使用案例評估您的方法,例如處理重大警示與擴充訊息。

根據您的解決方案需求選取基本或標準IoT中樞層。 瞭解基本層不支援的功能。

請考慮使用事件方格進行發佈-訂閱事件路由。 如需更多資訊,請參閱使用事件網格來觸發動作以回應IoT中樞事件比較IoT中樞的訊息路由與事件網格
在儲存之前,您可能需要將來自裝置或閘道的訊息翻譯、處理或加以豐富以添加更多資訊。 此步驟可能很耗時,因此您應該評估效能的影響。

某些建議會衝突,例如使用壓縮來優化數據傳輸,而不是避免在解密訊息時進行雲端處理。 根據其他架構要素和解決方案需求,平衡並評估這些建議。
使用 IoT Edge 優先順序佇列 來排定傳送至 IoT 中樞的重要資料優先順序。 IoT Edge 會在沒有連線能力時緩衝訊息。 還原連線之後,它會先依優先順序傳送所有緩衝的訊息,後面接著新的訊息。

根據使用案例,使用 IoT 中樞訊息路由 來分隔不同數據優先順序的路由。 IoT 中樞訊息路由會增加延遲。

以較長的間隔儲存和傳送低優先順序資料,或使用批次或 檔案上傳。 上傳檔案的惡意代碼偵測會增加延遲。

根據時間限制分隔訊息。 例如,如果沒有任何時間限制,則直接將訊息傳送至IoT中樞,並使用透過IoT中樞或批次資料傳輸的檔案上傳,例如 Azure Data Factory。 您可以使用IoT Edge模組中的 Azure Blob 記憶體 進行檔案上傳。
裝置傳送至雲端的某些數據可能比其他數據更重要。 根據優先順序來分類及處理數據,以改善效能效率。 例如,控溫器感測器會傳送溫度、濕度和其他遙測,但也會在溫度偏離定義的範圍時傳送警示。 系統會將警示訊息分類為高優先順序,並處理它與溫度遙測不同。
使用 DPS 在布建期間設定與 IoT 中樞的連線、當 IoT 中樞連線已不再可用,或在裝置重新啟動期間。

使用 均衡加權分配策略,根據使用案例調整配置權重。 此方法會將資源配置優化。
DPS 可協助確保裝置安全且有效率地佈建。 在一段時間內或較小的批次中布建裝置有助於平衡 DPS 負載和配額,以確保順暢的上線程式。

根據延遲將裝置配置至不同區域中的IoT中樞可改善效能並減少連線時間。 藉由對 DPS 連接字串實行快取策略,可以減少重新連線的操作,從而增強整體系統的效率。
優化邊緣處理與雲端處理之間的平衡。 使用本機計算,在裝置或邊緣執行具有時間限制的即時和近乎即時工作負載,或小型、優化、低延遲的處理。 對於較大的工作負載,或需要額外外部數據或計算相依性的工作負載,請使用雲端資源。

例如,您可以在邊緣執行機器學習演算法來計算影片串流中的人員,並將包含計數的事件傳送至雲端。 此方法提供快速的本機處理和有效率的雲端式趨勢分析。

使用 Azure 串流分析 IoT Edge 模組 在邊緣執行分析工作負載,例如異常偵測。 這種做法可協助將偵測到的異常事件加上標籤,再將其傳送至雲端,進而提升整體系統效率。

了解邊緣計算工作負載的額外負荷,其中包含多個互相連接的下游裝置。 邊緣節點必須轉送或處理所有訊息,並在有間歇性雲端連線時快取所有數據。

若要評估解決方案的效能影響,請使用每個邊緣節點預期的最大下游裝置和訊息來測試您的解決方案。 也瞭解訊息轉譯或擴充在邊緣、IoT 中樞或雲端事件處理上可能具有的效能效果。 請據以規劃以維護系統效率。
在邊緣執行即時和近乎即時的工作負載可提供低延遲處理和立即回應時間,這對時間敏感應用程序至關重要。

使用預期的最大下游裝置和訊息進行測試,可確保邊緣節點可以處理負載並維護效能。
若要將大量雲端數據的效能效率優化,請使用IoT中樞與數據目的地之間的內建服務整合,例如 Azure Data Lake Storage 和 Azure 數據總管。 這些服務已針對高效能輸送量進行優化。

使用事件中心 SDK 從 IoT 中樞開發自訂資料擷取功能。 SDK 包含可重新平衡裝置和主機的事件處理器。 根據同時資料讀取器的人數和所需的吞吐量,調整 IoT 中樞分割區和使用者群組的數目。

將數據擷取和事件處理所需的記憶體與報告和整合所需的記憶體分開。 根據所需的輸送量、大小、保留期間、數據磁碟區、CRUD 需求和區域複寫,使用符合您需求的數據記憶體。 記憶體範例包括 Data Lake Storage、Azure 數據總管、Azure SQL 和 Azure Cosmos DB。 如需詳細資訊,請參閱 選取應用程式的 Azure 資料存放區
大量雲端數據的優化效能效率可確保IoT解決方案可以有效率地處理大量數據。 內建服務整合和事件中樞 SDK 可協助簡化數據擷取和處理。

正確配置 IoT Hub 的分割區和使用者群組,並為不同目的提供個別的儲存,有助於提升資料管理。 根據特定需求的適當數據記憶體可協助維護IoT解決方案的效能、延展性和可靠性。
將IoT解決方案擷取管線與整合處理分開。 請確定複雜的查詢或載入不會影響IoT中樞中的數據擷取效能。 針對裝置對應項、模組對應項、作業和訊息路由,使用定義完善的和已建立版本的 API 來存取 IoT 中樞資訊。 防止終端用戶針對IoT中樞記憶體建立使用者定義的查詢。 請考慮使用不同的數據存放區進行整合和報告。 IoT 解決方案擷取管線和整合處理區隔可確保複雜的查詢或從整合層載入不會影響數據擷取效能。 此方法會維護IoT中樞的效率和可靠性。
使用 Azure 監視器來收集 IoT 中樞計量,並傳送重要計量的警示。 根據您的規模限制設定 Azure 監視器警示,例如每秒傳送的裝置到雲端訊息。 將警示設定為限制的百分比,例如 75%,以事先通知您。 設定記錄和計量的 Azure 監視器警示,例如節流錯誤的數目。 設定 Azure 服務健康狀態服務警示,以在 IoT 中樞狀態變更時觸發通知。 重要計量的IoT中樞計量和警示可確保IoT解決方案的主動式監視和管理。 根據規模限制和這些限制的百分比的警示,可以在您達到擴展性限制之前進行通知,以便您及時調整。 記錄和計量的警示,例如節流錯誤,可協助您及時識別並解決問題。 當 IoT 中樞狀態變更時發出警示,這些警示能夠讓您知道潛在的中斷,並讓您採取必要的措施來維持 IoT 解決方案的可靠性和效能。

Azure 原則

Azure 提供一組與IoT中樞及其相依性相關的大量內建原則。 您可以透過 Azure 原則稽核上述一些建議。 例如,您可以檢查是否:

  • IoT 中樞已針對服務 API 停用本機驗證方法。
  • IoT 中樞裝置佈建實例會停用公用網路存取,因此無法透過公用因特網存取。
  • IoT 中樞只能從私人端點存取。
  • IoT 中樞中的資源記錄已啟用。 這些記錄會重新建立活動線索,協助您在安全性事件或網路入侵之後進行調查。

為了完整的治理,請檢閱 Azure 原則的內建定義,這包括有關於物聯網的 以及其他可能影響物聯網解決方案安全性的原則。

Azure Advisor 建議

Azure Advisor 是個人化的雲端顧問,可協助您遵循最佳做法來優化 Azure 部署。 顧問的建議與 Well-Architected Framework 支柱原則一致。

如需詳細資訊,請參閱 Azure Advisor中的建議。

下一步

IoT 中樞文件