Device Update for IoT Hub とは?

Device Update for Azure IoT Hub は、IoT デバイスの無線更新をデプロイできるようにするサービスです。

モノのインターネット (IoT) ソリューションが急速に採用され続けているため、これらのソリューションを形成するデバイスを簡単に接続して大規模に管理することが不可欠です。 Device Update for IoT Hub は、小さなセンサーからゲートウェイレベルのデバイスまで、あらゆるものを対象にした Over-the-Air 更新を公開、配布、管理するために顧客が使用できるエンドツーエンドのプラットフォームです。

IoT に対応したデジタル トランスフォーメーションのベネフィットを最大限に実現するため、顧客には、デバイスを大規模で運用、保守、更新するための機能が必要です。 Device Update for IoT Hub は、次のような機能を公開します。

  • セキュリティの脅威に迅速に対応する
  • ビジネス目標を達成するために新しい機能をデプロイする
  • 独自の更新プラットフォームを構築する追加の開発および保守のコストを回避する

広範な IoT デバイスのサポート

Device Update for IoT Hub と Azure IoT Hub を統合することにより、更新プログラムのデプロイの最適化と操作の効率化を実現できます。 この統合により、既存のどのソリューションでも Device Update を容易に導入できます。 これにより、ほとんどすべてのデバイスを接続するためのクラウドでホストされたソリューションが提供されます。 Device Update は、Linux や Eclipse ThreadX (リアルタイム オペレーティング システム) を含む広範な IoT オペレーティング システムをサポートしており、オープンソースを通じて拡張できます。 Device Update for IoT Hub オファリングを、STMicroelectronics、NXP、Renesas、Microchip などの半導体パートナーと共同で開発しています。 主要な半導体評価ボードのサンプルをご覧ください。MCU クラスのデバイスへの無線での更新を構成、構築、デプロイする方法のファースト ステップ ガイドが含まれています。

Device Update エージェントのシミュレーター バイナリと Raspberry Pi リファレンス Yocto イメージの両方が提供されます。 Device Update エージェントが、Ubuntu Server 18.04、Ubuntu Server 20.04、Debian 10 用に構築されて提供されます。 上記のどのプラットフォームも実行していない場合、Device Update for IoT Hub では、オープンソースのコードも提供しています。 実行中のディストリビューションにエージェントを移植できます。

Device Update for IoT Hub では、Azure IoT Edge デバイスの更新もサポートしています。

Device Update は IoT プラグ アンド プレイと連携し、必要な IoT プラグ アンド プレイ インターフェイスをサポートする任意のデバイスを管理できます。 詳細については、Device Update for IoT Hub と IoT プラグ アンド プレイに関するページを参照してください。

広範な更新成果物のサポート

Device Update for IoT Hub では、パッケージベースとイメージベースの 2 つの形式の更新がサポートされています。

"パッケージベースの更新" は、デバイス上の特定のコンポーネントまたはアプリケーションのみを変更するターゲット指定の更新です。 この更新タイプでは、帯域幅の消費量が少なくなるほか、更新のダウンロードとインストールにかかる時間が短縮されます。 通常、パッケージ更新を使用すると、更新を適用する際のデバイスのダウンタイムを短縮し、イメージ作成のオーバーヘッドを回避できます。

"イメージベースの更新" では、デバイスの最終状態の信頼性が高くなります。 通常、運用前環境と運用環境の間でイメージ更新の結果をレプリケートする方が簡単です。そうすれば、パッケージやその依存関係と同様の課題が生じることがないからです。 イメージ更新はアトミックな性質であるため、A/B フェールオーバー モデルを簡単に導入することもできます。

1 つの正解は存在せず、特定のユース ケースに応じて異なった選択をする場合があります。 Device Update for IoT Hub では、イメージとパッケージの両方の形式の更新がサポートされているため、デバイス環境に適した更新モデルを選択できます。

デバイスを更新するための柔軟な機能

Device Update for IoT Hub により、次のような強力で柔軟な機能が提供されます。

  • 管理とレポートのツール。

    • Azure IoT Hub と統合された更新管理エクスペリエンス。
    • 自動化とカスタム ポータル エクスペリエンスを可能にするためのプログラム API。
    • Azure portal から利用可能なサブスクリプションおよびロールベースのアクセス制御。
    • 更新のコンプライアンスと状態を異種デバイス フリート全体にわたって一目で把握できるビュー。
    • コマンド ラインから Device Update のリソース、グループ、デプロイを作成および管理するための Azure CLI サポート。
  • 更新のデプロイ プロセスの詳細な制御。

    • デバイスのグループ化と更新スケジュールの制御による段階的な更新のロールアウト。
    • シームレスなロールバックを実現するための回復性があるデバイス更新 (A/B) のサポート。
    • ロールバック条件を満たすマネージド デバイスの定義済みフォールバック バージョンへの自動ロールバック。
    • 現在のイメージとターゲット イメージの間の変更のみを表す小規模の更新プログラムを生成できる差分更新プログラム (パブリック プレビュー)。これにより、デバイスに更新プログラムをダウンロードするための帯域幅を減らすことができます。
  • エージェントチェックやデバイス同期などの、デバイスの診断と修復に役立つトラブルシューティング機能。

  • クラウドから切断されたデバイスを更新できるようにするオンプレミス コンテンツ キャッシュと入れ子になったエッジのサポート。

  • 互換性プロパティとデバイス ツイン タグに基づくデバイスの自動グループ化。

Device Update for IoT Hub の管理およびデプロイ制御によって、ユーザーは生産性を最大化し、貴重な時間を節約することができます。 Device Update for IoT Hub には、デバイスをグループ化したり、更新をデプロイするデバイスを指定したりする機能が含まれています。 ユーザーは、デプロイの状態を表示し、各デバイスで更新が正常に適用されていることを確認することもできます。

更新の失敗が発生したとき、Device Update for IoT Hub は、ユーザーが更新の適用に失敗したデバイスを識別して、関連する失敗の詳細を確認するのに役立ちます。 更新に失敗したデバイスを識別できることにより、発生源を手動で特定するのにかかる数え切れないほどの時間を節約できます。

グローバル規模でのクラス最高のセキュリティ

Microsoft Azure では、10 億を超える IoT デバイスを世界中でサポートしており、その数は日ごとに急速に増加しています。 Device Update for IoT Hub は、この経験と、Windows Update プラットフォームによって実証された確かな信頼性に基づいて構築されているため、グローバル規模でデバイスをシームレスに更新できます。

Device Update for IoT Hub では、Microsoft Azure のために開発された、クラウドからエッジまでの包括的なセキュリティを使用しているため、顧客は、自力で最初からセキュリティを構築する方法を考案するのに時間を費やす必要がありません。 詳細については、「Device Update のセキュリティ モデル」を参照してください。

Device Update のワークフロー

Device Update の機能は、エージェント統合、インポート、管理の 3 つの領域に分けることができます。

デバイス更新エージェント

デバイスで更新コマンドを受信すると、Device Update エージェントは要求された更新フェーズ (ダウンロード、インストール、適用のいずれか) を実行します。 各フェーズ中、エージェントから IoT Hub 経由で Device Update にデプロイ状態が返されるため、デプロイの現在の状態を確認できます。 進行中の更新がない場合、ステータスは "Idle" として返されます。 デプロイはいつでも取り消すことができます。

Device Update エージェントのワークフローの図。

詳細については、「Device Update for IoT Hub エージェントの概要」を参照してください。

インポート

"インポート" とは、更新を Device Update に取り込んで、デバイスにデプロイする方法です。 Device Update では、デバイスごとに 1 つの更新のロールアウトをサポートしています。 このサポートにより、OS パーティション全体を更新するフルイメージ更新や、デバイス上で更新する個々のパッケージを記述する APT マニフェストに最適になります。

更新を Device Update にインポートするには、まず、更新を記述したインポート マニフェストを作成し、次に更新ファイルとインポート マニフェストを Azure Storage コンテナーにアップロードします。 その後、Azure portal または Device Update REST API を使用して、更新インポートの非同期プロセスを開始できます。 Device Update によってファイルがアップロードされて処理され、IoT デバイスへの配布に使用できるようになります。

機密性の高いコンテンツの場合、Azure Blob Storage のアドホック SAS などの共有アクセス署名 (SAS) を使用してダウンロードを保護します。 詳細については、SAS を使用した Azure Storage リソースへの制限付きアクセスの許可に関するページを参照してください。

Device Update for IoT Hub のインポート ワークフローの図。

詳細については、「Device Update for IoT Hub への更新プログラムのインポート」を参照してください。

グループ化とデプロイ

更新をインポートした後、お使いのデバイスおよびデバイス クラス用の互換性のある更新を表示できます。

Device Update では、IoT Hub のタグ経由でグループの概念をサポートしています。 最初に更新をテスト グループにデプロイするのは、本番ロールアウト中の問題のリスクを軽減するための優れた方法です。

Device Update では、"デプロイ" は、適切なコンテンツを、互換性があるデバイスの特定のセットに関連付ける方法です。 Device Update は、各デバイスにコマンドを送信し、更新をダウンロードしてインストールするよう指示し、ステータスを取得するプロセスを調整します。

Device Update for IoT Hub のグループ化とデプロイのワークフローの図。

デプロイの概念の詳細については、「デバイス更新のコンプライアンス」を参照してください。

Device Update グループの詳細については、「デバイス グループ」を参照してください。

次のステップ

サンプルを試して Device Update の使用を開始します。

チュートリアル: シミュレーター エージェントを使用した Device Update