IoT Hub を使用したデバイス管理の概要

Azure IoT Hub には、デバイスやバックエンドの開発者が堅牢なデバイス管理ソリューションを構築するために使用できる機能や拡張モデルが用意されています。 デバイスは、リソースの制約の大きいセンサーをはじめ、専用マイクロコントローラー、デバイス グループの通信をルーティングする強力なゲートウェイなど、多岐にわたります。 また、ユース ケースや IoT オペレーターの要件は業界によってかなり異なります。 このような違いがありながら、IoT Hub によるデバイス管理で提供される機能、パターン、およびコード ライブラリは、多様なデバイスとエンド ユーザーに対応することができます。

Note

この記事で言及されている一部の機能 (cloud-to-device メッセージング、デバイス ツイン、デバイス管理など) は、IoT Hub の Standard レベルだけで使用することができます。 Basic および Standard または Free レベルの IoT Hub の詳細については、ソリューションに適した IoT Hub のレベルの選択に関するページを参照してください。

優れたエンタープライズ IoT ソリューションを構築するために不可欠な要素は、オペレーターがそのデバイス コレクションを継続的に管理するための手法について、戦略を定めることです。 IoT のオペレーターには、シンプルで信頼性が高く、かつ、より戦略的な観点からその仕事に取り組むことのできるツールとアプリケーションが必要です。 この記事では、次について説明します。

  • デバイス管理に対する Azure IoT Hub のアプローチの概要。
  • 一般的なデバイス管理の原則の説明。
  • デバイスのライフサイクルの説明。
  • 一般的なデバイス管理パターンの概要。

デバイスのライフサイクル

一般的なデバイス管理ステージは、ほとんどのエンタープライズ IoT プロジェクトに共通しています。 Azure IoT では、デバイスのライフサイクルは 5 つのステージで構成されています。

Azure IoT デバイス のライフサイクルの 5 つのフェーズ: 計画、プロビジョニング、構成、監視、使用中止

この 5 つの各ステージにデバイス オペレーター要件がいくつかあり、完全なソリューションを提供するには、これを満たさなければなりません。

デバイス管理パターン

以下に示したのは、IoT Hub によって実現される一連のデバイス管理パターンです。 デバイス管理のチュートリアルでは、このパターンを実際のシナリオに合わせて拡張する方法と、こうしたコア テンプレートに基づいて新しいパターンをデザインする方法について詳しく説明しています。

  • 再起動: バックエンド アプリによって再起動が開始されたことが、ダイレクト メソッドでデバイスに伝えられます。 デバイスは、報告されるプロパティを使用して、その再起動状態を更新します。

    デバイス管理の再起動パターンを示す図

  • 出荷時の設定にリセット: バックエンド アプリによって出荷時の設定へのリセットが開始されたことが、ダイレクト メソッドでデバイスに伝えられます。 デバイスは、報告されるプロパティを使用して、そのデバイスの出荷時の設定へのリセット状態を更新します。

    デバイス管理の出荷時の設定へのリセット パターンを示す図

  • 構成 - バックエンド アプリでは、必要なプロパティを使用して、デバイス上で実行されているソフトウェアが構成されます。 デバイスは、報告されるプロパティを使用して、その構成状態を更新します。

    デバイス管理の構成パターンを示す図

  • 進行状況とステータスの報告: ソリューション バックエンドによって、一連のデバイス対してデバイス ツイン クエリが実行され、デバイス上で実行されている操作のステータスと進行状況が報告されます。

    デバイス管理の進行状況とステータスの報告パターンを示す図

デバイスの更新

Device Update for IoT Hub は、小さなセンサーからゲートウェイ レベルのデバイスまで、あらゆるものを対象にした Over-the-Air 更新を公開、配布、管理するために顧客が使用できる包括的なプラットフォームです。 顧客は、Device Update for IoT Hub を使用することにより、独自の更新プラットフォームを構築するための開発および保守の追加コストをかけずに、セキュリティの脅威に迅速に対応したり、事業目標を達成するための機能を展開したりすることができます。

Device Update for IoT Hub と Azure IoT Hub を統合することにより、更新プログラムの展開の最適化および操作の効率化を実現できます。 Azure IoT Edge によって範囲が拡大するため、事実上すべてのデバイスに接続できるクラウド ホスト型ソリューションを提供できます。 Linux や Eclipse ThreadX (リアルタイム オペレーティング システム) を含む広範な IoT オペレーティング システムがサポートされており、オープンソースを通じて拡張できます。 機能の一部を以下に示します。

  • Azure IoT Edge のホスト レベル コンポーネントを含むエッジ デバイスの更新のサポート
  • Azure IoT Hub と統合された更新管理 UX
  • デバイスのグループ化と更新スケジュール制御による段階的な更新のロールアウト
  • 自動化とカスタム ポータル エクスペリエンスを可能にするためのプログラム API
  • 更新のコンプライアンスとステータスを異種デバイス フリート全体にわたって一目で把握できるビュー
  • 回復性があるデバイス更新 (A/B) のサポートによってシームレスなロールバックを実現
  • 組み込みの Microsoft 接続キャッシュおよび Azure IoT Edge との統合による、コンテンツ キャッシングと切断されたデバイスのサポート (構成が入れ子になっているデバイスを含む)
  • Azure portal から利用可能なサブスクリプションおよびロールベースのアクセス制御
  • クラウドからエッジまでの包括的なセキュリティ機能とプライバシー制御

詳細については、Device Update for IoT Hub に関するページを参照してください。

次の手順

IoT Hub でデバイス管理用に提供される機能、パターン、コード ライブラリを使用することで、デバイスのライフサイクル ステージごとのエンタープライズ IoT オペレーター要件を満たす IoT アプリケーションを作成できます。

IoT Hub のデバイス管理機能について学習を続けるには、「デバイス管理の開始 (Node.js)」をご覧ください。