次の方法で共有


IoT ソリューション内のデバイス構成のベスト プラクティス

Azure IoT Hub の自動デバイス管理により、大規模なデバイスフリートをライフサイクル全体にわたって管理する多くの反復的で複雑なタスクが自動化されます。 この記事では、IoT ソリューションの開発と運用に関連するさまざまなロールのベスト プラクティスの多くを定義します。

  • IoT ハードウェアの製造元/インテグレーター: IoT ハードウェアの製造元、さまざまな製造元のハードウェアを組み立てるインテグレーター、または他のサプライヤーによって製造または統合された IoT 展開用のハードウェアを提供するサプライヤー。 ファームウェア、組み込みオペレーティング システム、および組み込みソフトウェアの開発と統合に関与します。

  • IoT ソリューション開発者: IoT ソリューションの開発は、通常、ソリューション開発者が行います。 この開発者は、社内チームまたはこのアクティビティに特化したシステム インテグレーターの一員である可能性があります。 IoT ソリューション開発者は、IoT ソリューションのさまざまなコンポーネントをゼロから開発し、さまざまな標準コンポーネントまたはオープンソース コンポーネントを統合できます。

  • IoT ソリューションオペレーター: IoT ソリューションをデプロイした後は、長期的な操作、監視、アップグレード、メンテナンスが必要になります。 これらのタスクは、情報技術スペシャリスト、ハードウェア運用およびメンテナンス チーム、および IoT インフラストラクチャ全体の正しい動作を監視するドメイン スペシャリストで構成される社内チームなど、複数のチームが実行できます。

大規模な IoT デバイスを構成するための自動デバイス管理について理解する

自動デバイス管理には、 クラウドとデバイス の間で必要な状態と報告された状態を同期するデバイス ツインとモジュール ツイン の多くの利点が含まれています。 自動デバイス構成では、大規模なツイン セットが自動的に更新されて、進行状況とコンプライアンスが要約されます。 次の大まかな手順では、自動デバイス管理の開発と使用方法について説明します。

  • IoT ハードウェアの製造元/インテグレーターは、デバイス ツインを使用して、埋め込みアプリケーション内にデバイス管理機能を実装します。 これらの機能には、ファームウェアの更新、ソフトウェアのインストールと更新、および設定の管理が含まれる場合があります。

  • IoT ソリューション開発者は、デバイス ツインと自動デバイス構成を使用して、デバイス管理操作の管理レイヤーを実装します。 ソリューションには、デバイス管理タスクを実行するためのオペレーター インターフェイスの定義を含める必要があります。

  • IoT ソリューション オペレーターは、IoT ソリューションを使用してデバイス管理タスクを実行します。特に、デバイスをまとめてグループ化し、ファームウェアの更新などの構成変更を開始し、進行状況を監視し、発生した問題のトラブルシューティングを行います。

IoT ハードウェアの製造元/インテグレーター

組み込みソフトウェア開発を扱うハードウェアの製造元とインテグレーターのベスト プラクティスを次に示します。

  • デバイス ツインを実装する:デバイス ツインを使用すると、クラウドから必要な構成を同期し、現在の構成とデバイスのプロパティをレポートできます。 埋め込みアプリケーション内にデバイス ツインを実装する最善の方法は、 Azure IoT SDK を使用することです。 デバイス ツインは、次の理由で構成に最適です。

    • 双方向通信をサポートします。
    • 接続されているデバイスの状態と切断されたデバイスの状態の両方を許可します。
    • 最終的な整合性の原則に従います。
    • クラウド内で完全にクエリ可能です。
  • デバイス管理用のデバイス ツインを構成します 。デバイス ツインは、デバイス管理プロパティが論理的にセクションにグループ化されるように構成する必要があります。 これにより、ツインの他のセクションに影響を与えることなく、構成の変更を分離できます。 たとえば、ファームウェアの必要なプロパティ内にセクションを作成し、ソフトウェアの別のセクションを作成し、ネットワーク設定用の 3 番目のセクションを作成します。

  • デバイス管理に役立つデバイス属性を報告します。 物理デバイスの作成とモデル、ファームウェア、オペレーティング システム、シリアル番号、その他の識別子などの属性は、レポートに役立ち、構成の変更をターゲットにするためのパラメーターとして役立ちます。

  • 状態と進行状況を報告するための主な状態を定義します 。最上位レベルの状態は、演算子に報告できるように列挙する必要があります。 たとえば、ファームウェアの更新プログラムは、現在、ダウンロード中、適用中、進行中、およびエラーとして状態を報告します。 各状態の詳細については、より多くのフィールドを定義します。

IoT ソリューション開発者

Azure に基づいてシステムを構築している IoT ソリューション開発者向けのベスト プラクティスを次に示します。

  • デバイス ツインを実装する:デバイス ツインを使用すると、クラウドから必要な構成を同期し、現在の構成とデバイスのプロパティをレポートできます。 クラウド ソリューション アプリケーション内にデバイス ツインを実装する最善の方法は、 Azure IoT SDK を使用することです。 デバイス ツインは、次の理由で構成に最適です。

    • 双方向通信をサポートします。
    • 接続されているデバイスの状態と切断されたデバイスの状態の両方を許可します。
    • 最終的な整合性の原則に従います。
    • クラウド内で完全にクエリ可能です。
  • デバイス ツイン タグを使用してデバイスを整理する: このソリューションを使用すると、オペレーターは、カナリアなどのさまざまな展開戦略に基づいて、品質リングやその他のデバイス セットを定義できます。 デバイスツインのタグと クエリを使用して、ソリューション内にデバイス組織を実装できます。 デバイスの編成は、構成を安全かつ正確にロールアウトできるようにするために必要です。

  • 自動デバイス構成を実装します自動デバイス構成では、デバイス ツインを使用して、構成の変更を多数の IoT デバイスにデプロイして監視します。

    自動デバイス構成では、ターゲット条件 (デバイス ツイン タグまたは報告されたプロパティに対するクエリ) を使用して、デバイス ツインのセットを ターゲット にします。 ターゲット コンテンツは、対象となるデバイス ツイン内で設定される必要なプロパティのセットです。 ターゲット コンテンツは、IoT ハードウェアの製造元/インテグレーターによって定義されたデバイス ツイン構造と一致している必要があります。 メトリックは、デバイス ツインの報告されたプロパティに対するクエリであり、IoT ハードウェアの製造元/インテグレーターによって定義されたデバイス ツイン構造にも一致する必要があります。

    自動デバイス構成は、構成が作成された直後に初めて実行され、次に 5 分間隔で実行されます。 また、デバイス ツインの読み取りと更新の 調整制限 を超える速度でデバイス ツイン操作を実行する IoT Hub のメリットもあります。

  • Device Provisioning Service を使用する: ソリューション開発者は、Device Provisioning Service を使用してデバイス ツイン タグを新しいデバイスに割り当てる必要があります。これにより、そのタグを持つツインを対象とする自動デバイス構成によって自動的に構成されます。

IoT ソリューション オペレーター

Azure 上に構築された IoT ソリューションを使用する IoT ソリューションオペレーターのベスト プラクティスを次に示します。

  • 管理用のデバイスを整理する: IoT ソリューションでは、カナリアなどのさまざまなデプロイ戦略に基づいて、品質リングまたはその他のデバイス セットを定義または作成できるようにする必要があります。 デバイスのセットは、構成の変更をロールアウトしたり、その他の大規模なデバイス管理操作を実行したりするために使用されます。

  • 段階的なロールアウトを使用して構成の変更を実行します 。段階的なロールアウトは、オペレーターが広がる一連の IoT デバイスに変更をデプロイする全体的なプロセスです。 目標は、大規模な破壊的変更を行うリスクを軽減するために、徐々に変更することです。  オペレーターはソリューションのインターフェイスを使用して 自動デバイス構成 を作成し、ターゲット条件はデバイスの初期セット (カナリア グループなど) をターゲットにする必要があります。 その後、オペレーターは、デバイスの初期セットの構成変更を検証する必要があります。

    検証が完了すると、オペレーターは自動デバイス構成を更新して、より大きなデバイス セットを含めます。 また、オペレーターは、これらのデバイスを現在対象としている他の構成よりも構成の優先度を高く設定する必要があります。 ロールアウトは、自動デバイス構成によって報告されるメトリックを使用して監視できます。

  • エラーや構成の誤りが発生した場合は、ロールバックを実行します。 エラーや構成の誤りを引き起こす自動デバイス構成は、 ターゲット条件を 変更して、デバイスがターゲット条件を満たさなくなったようにロールバックできます。 優先順位の低い別の自動デバイス構成が、それらのデバイスを対象にしていることを確認します。 メトリックを表示してロールバックが成功したことを確認します。ロールバックされた構成では、ターゲットが設定されていないデバイスの状態が表示されなくなり、2 番目の構成のメトリックに、まだ対象になっているデバイスの数が含まれるようになりました。

次のステップ