次の方法で共有


Device Update for IoT Hub とは?

モノのインターネット (IoT) ソリューションがより広範に広がっているため、これらのソリューションを形成するデバイスを簡単に接続し、大規模に管理することが不可欠です。 Azure Device Update for IoT Hub は、IoT デバイスの無線更新プログラムを展開できるようにするサービスです。

Device Update for IoT Hub は、小さなセンサーからゲートウェイ レベルのデバイスまで、あらゆるものに対する無線更新プログラムを公開、配布、および管理するためのエンド ツー エンドのプラットフォームです。 IoT 対応のデジタル変革の利点をすべて実現するために、Device Update には、次のような大規模なデバイスの運用、保守、更新を行う機能が用意されています。

  • セキュリティ上の脅威への迅速な対応。
  • ビジネス目標を達成するための新機能の展開。
  • 更新プラットフォームを開発および保守するための、追加コストなしの統合された更新プログラム。

サポートされている IoT デバイス

Device Update for IoT Hub は、ほぼすべてのデバイスを接続するためのクラウドでホストされたソリューションです。 Device Update では、Azure IoT Hub との統合により、最適化された更新プログラムの展開と合理化された操作が提供されるため、Azure IoT Edge デバイスを含む既存の IoT Hub ベースのソリューションに簡単に導入できます。

Device Update では、広範な IoT オペレーティング システムと共通マイクロコントローラー ユニット (MCU) クラス デバイス用の無線更新プログラムの構成、ビルド、展開がサポートされています。 Eclipse ThreadX リアルタイム オペレーティング システムは、STMicroelectronics、NXP、Renesas、Microchip などの半導体パートナーと共に開発した Device Update サンプルを提供します。 Device Update には、Raspberry Pi 参照 Yocto イメージと Device Update エージェント シミュレーター バイナリも用意されています。

さまざまな Linux OS 用の Device Update エージェントが構築され、提供されます。 また、Eclipse ThreadX やサポートされている Linux プラットフォームを実行していない場合には、提供されているオープンソース コードを使用して Device Update を拡張することもできます。 実行中のディストリビューションにエージェントを移植できます。

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

サポートされている更新プログラムの種類

Device Update for IoT Hub では、"パッケージベース" と "イメージベース" の 2 つの形式の更新がサポートされています。 選択する方法は、個別のユース ケースとデバイス環境によって異なります。

  • パッケージ ベースの更新プログラムは、特定のデバイス コンポーネントまたはアプリケーションのみを変更することを対象としています。 これらの更新プログラムは、帯域幅の消費量がより少なく、ダウンロードとインストールの時間がより短く済むので、デバイスのダウンタイムを減らし、イメージを作成するオーバーヘッドを回避できます。

  • イメージ ベースの更新では、デバイスの最終状態に対する高い信頼性が提供されるため、運用前環境と運用環境間、または A/B フェールオーバー モデル間のレプリケーションが容易になります。 イメージ ベースの更新では、パッケージとその依存関係の管理に関する課題を回避できます。

管理と展開の制御

Device Update の管理と展開の制御を使用して、生産性を最大化し、貴重な時間を節約できます。

管理とレポートのツール

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

展開の詳細を制御する

  • デバイスのグループ化と更新スケジュールの制御による段階的な更新のロールアウト。
  • シームレスなロールバックを実現するための回復性があるデバイス更新 (A/B) のサポート。
  • ロールバック条件を満たすマネージド デバイスの定義済みフォールバック バージョンへの自動ロールバック。
  • 現在のイメージとターゲット イメージの間の変更のみを表す小規模の更新プログラムを生成できる差分更新プログラム (パブリック プレビュー)。これにより、帯域幅とダウンロード時間を減らすことができます。
  • クラウドから切断されたデバイスを更新できるようにするオンプレミス コンテンツ キャッシュと入れ子になったエッジのサポート。

グローバル セキュリティ

Device Update では、Microsoft Azure 用に開発された包括的なクラウドからエッジへのセキュリティが使用されるため、セキュリティを自分で構成する必要はありません。 Microsoft Azure では、世界中で 10 億を超える IoT デバイスがサポートされています。 Device Update は、このサポートと Windows Update プラットフォームの実証済みの信頼性に基づいて構築されているため、デバイスをグローバル規模でシームレスに更新できます。 詳細については、「Device Update のセキュリティ モデル」を参照してください。

デバイスの自動グループ化

Device Update for IoT Hub には、互換性プロパティとデバイス ツイン タグに基づいてデバイスをグループ化して、更新するデバイスを指定する機能が含まれています。 展開の状態を表示し、各デバイスが正常に更新されるようにすることもできます。

トラブルシューティング機能

トラブルシューティング機能には、デバイスの診断と修復に役立つエージェントチェックやデバイス同期などが含まれます。 更新エラーが発生すると、Device Update は更新に失敗したデバイスを識別し、関連するエラーの詳細を提供できます。 この機能を使用すると、ソースを手動で特定しようとして時間を費やす必要がなくなります。

Device Update のワークフロー

Device Update の機能は、"エージェント統合"、"インポート"、"管理" の 3 つの領域で構成されます。

エージェント統合

デバイスが更新コマンドを受信すると、Device Update "エージェント" は、要求された downloadinstall、または apply 更新フェーズを実行します。 各フェーズ中、エージェントから IoT Hub 経由で Device Update に展開状態が返されるため、展開の現状態を確認できます。 進行中の更新がない場合、エージェントは Idle 状態を返します。 展開はいつでも取り消すことができます。

次の図は、Device Update 管理サービスが IoT Hub デバイス ツインのプロパティを使用してエージェント更新ワークフローを調整する方法を示しています。

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

  1. Device Update 管理では、更新コマンドのプロパティ値を applyDeployment に設定するか、cancel に設定してリセットします。
  2. Device Update エージェントは、更新コマンドのプロパティ値を読み取り、目的のコマンドを実行します。
  3. エージェントは、更新ステータス プロパティの値を DeploymentInprogress に設定します。 エージェントが非アクティブな場合は、プロパティ値を Idle に設定します。

詳細については、「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 で更新プログラムをインポートする方法を示しています。

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

  1. 開発者が、互換性データを含む更新プログラムとマニフェストを作成します。
  2. 開発者は、更新プログラムとマニフェストを Device Update にインポートします。
  3. Device Update は、更新プログラムを処理します。
  4. 互換性データを使用した更新プログラムの配布準備が整いました。

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

管理

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

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

Device Update では、"展開" は、適切なコンテンツを互換性のあるデバイスの特定のセットに紐付けする方法です。 Device Update は、各デバイスにコマンドを送信し、更新をダウンロードしてインストールするようデバイスに指示し、ステータスを取得するプロセスを調整します。 更新プログラムのコンプライアンスの測定については、「Device Update のコンプライアンス」を参照してください。

次の図は、Device Update のグループ化と展開のワークフローを示しています。

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

  1. オペレーターは、デバイスの適用可能な更新プログラムを表示できます。
  2. Device Update は、IoT Hub でデバイスを検索します。
  3. オペレーターは、指定されたデバイスの更新を開始します。
  4. IoT Hub は、更新プログラムをダウンロードしてインストールするようにデバイスにメッセージを送信します。
  5. デバイスは、更新プログラムをインストールするコマンドを受け取ります。
  6. 更新プログラムがダウンロードされ、インストールされます。
  7. 更新状態は、IoT Hub 経由で Device Update に返されます。