MS_AzureIoTHubDPS - NetDevInfraWGinOSSConsortium/NetDevInfraWiki GitHub Wiki
- 戻る
-
適切な IoT ハブへのゼロタッチの JIT プロビジョニングを
人の介入を必要とせずに実現する、IoT Hub のヘルパー サービス -
シンプルな「Plug & Play」のプロビジョニング
- 手動から自動化へ。
- HSM 連携(セキュリティ)
- 全世界で利用可能
補足(何が問題で、DPS が何を解決するのか): IoT Hub に
デバイスを接続するには、そのデバイス固有の接続文字列が要る。
デバイスが 10 台なら手作業でよいが、10 万台では不可能である。【DPS なし】 工場 ─ 1 台ずつ接続文字列を書き込む ─▶ 出荷 ↑ 接続先の IoT Hub を出荷前に決めておく必要がある 【DPS あり】 工場 ─ 全台に同じ DPS のエンドポイントを書き込む ─▶ 出荷 │ 初回起動 ▼ DPS が証明書で本人確認し、 適切な IoT Hub を割り当てて 接続情報を返すつまり DPS の本質は、
**「出荷時に接続先を決めなくてよくなる」**ことにある。
後からリージョンを増やしたり、
特定のハブに寄せたりといった変更が、デバイスに触れずにできる。
不明
不明
補足(原文が「不明」のため、流れを補う)
① デバイス起動 │ DPS のグローバル エンドポイント(global.azure-devices-provisioning.net)へ ▼ ② 構成証明(X.509 証明書 / TPM / 対称キー)で本人確認 │ ▼ ③ 登録一覧(enrollment)と照合 │ ・個別登録(1 台ずつ) │ ・グループ登録(同じ中間 CA で署名された全デバイス) ▼ ④ 割り当てポリシーに従って IoT Hub を決定 │ ▼ ⑤ IoT Hub にデバイスを登録し、接続情報をデバイスに返す │ ▼ ⑥ 以降、デバイスは直接 IoT Hub と通信(DPS は経由しない)⑥ が重要で、DPS は初回(および再プロビジョニング時)だけ
使われる。定常運用中の通信路には入らない。
- X.509
- TPM ベースの ID
補足: 現在は上記に加えて対称キーも選べる
(実装は容易だが、鍵の管理が課題になるため本番では非推奨)。
大量生産では、中間 CA で署名した証明書を使い、
グループ登録でまとめて許可するのが定石。
こうすると、デバイスを 1 台ずつ登録する作業自体が不要になる。
- 任意の時点で登録できるデバイスまたはデバイス グループの完全なレコード
- いつでも更新することができる、デバイスの望ましい構成情報
-
DPS がデバイスを IoT Hub に割当る方法を制御。
- 静的な構成
- 均等な分布
- 最短待ち時間
待ち時間は Traffic Manager と同じ方法を使用して決定
-
Azure Functions でホストされている Webhook を使用して
独自の割り当てポリシを実装できるカスタム割当サポート
補足: 「Traffic Manager と同じ方法」とは、
パフォーマンス(レイテンシ)ルーティングのことで、
Microsoft が収集しているネットワーク遅延の実測値に基づいて
最も近い IoT Hub を選ぶ。
すべての機能が正常に動作していることを確認
- DPS でデバイスを複数の IoT Hub に割当る。
- 複数の Azure サブスクリプションにわたって IoT Hub と対話。
デバイスを他のリージョンの IoT Hub に割当
DPS 内のデータは、FIPS 140-2 に準拠
補足(再プロビジョニング): 原文には無いが、実運用で効いてくるのが
再プロビジョニング ポリシーである。
デバイスが再度 DPS に接続してきたときの挙動を決める。
ポリシー 動作 変更しない(既定) 既存の IoT Hub に留まる 再プロビジョニングしてデータを保持 別のハブへ移すが、デバイス ツインを引き継ぐ 再プロビジョニングして初期化 別のハブへ移し、状態をリセット これがあるため、IoT Hub の障害時や移行時に
デバイスを別リージョンへ寄せ替えることができる。
DPS を「初回登録の道具」とだけ捉えると、この用途を見落とす。
-
IoT Hub Device Provisioning Service とは?超概要
https://qiita.com/mstakaha1113/items/231c859d7427b466d4ad -
IoT Hub Device Provisioning Service とは?を作りながら理解する
https://qiita.com/mstakaha1113/items/1ccaaf445ea6f7ffd76c -
IoT Hub Device Provisioning Service の主な機能を紹介
https://qiita.com/mstakaha1113/items/9396fdb542a21cb6f683 -
Azure IoT Hub & Device Provisioning Service でリージョン間 HA を実施する
https://qiita.com/mstakaha1113/items/3fec7dfb69107d6f076d
-
Azure IoT Hub Device Provisioning Service (DPS) のドキュメント
https://learn.microsoft.com/ja-jp/azure/iot-dps/- Azure IoT Hub Device Provisioning Service の概要
https://learn.microsoft.com/ja-jp/azure/iot-dps/about-iot-dps
- Azure IoT Hub Device Provisioning Service の概要
Tags: 移行, クラウド, IoT, Azure