グループにソフトウェアアップデートをデプロイする(プレビュー)

Azureデバイスレジストリはジョブを使って、IoT Hubに接続されたデバイスのグループにソフトウェアアップデートを適用します。 ソフトウェア更新ジョブは、デバイスのグループを対象とし、そのグループ内の互換性のあるデバイスに対してソフトウェア更新を適用します。 対照的に、オンボーディングアップデートジョブはネームスペースにオンボーディングされるデバイスを対象とします。 ソフトウェアアップデートを作業として展開することで、同じアップデートを複数のデバイスに同時に展開できるため、IoT Hubに接続されたデバイスを個別に更新せずに最新の状態を保つことができます。

この記事では、ターゲットグループの定義や検証、AzureポータルやBicepを使って標準的なソフトウェアアップデートジョブを作成する方法、ジョブの実行やスケジュール、結果の監視方法を紹介します。 適用したい ソフトウェアアップデートをインポート した後、この記事をご利用ください。 ジョブ、グループ、ソフトウェアアップデートがどのように連携しているかについては、「Azure デバイスレジストリのソフトウェアアップデート」をご覧ください。

Important

Azure デバイス レジストリのソフトウェア更新機能は、現在プレビュー版として提供されています。 現在のプレビューはIoT Hub接続デバイスに限定されています。 このプレビューはサービスレベル契約なしで提供されており、一般公開前に機能やポータル体験が変わる可能性があります。 詳細については、「 Microsoft Azure プレビューの追加使用条件」を参照してください。

Note

プレビュー中は、既存のDevice Update for IoT Hubインスタンスを持たないIoTハブでのみソフトウェアアップデートを使用できます。 ソフトウェア更新を使用するには、Device Update for IoT Hub インスタンスがない IoT Hub を名前空間にリンクするか、既存のインスタンスを削除してからハブをリンクしてください。 詳細については、IoT Hub 向けのソフトウェア更新とデバイス更新を参照してください。

Prerequisites

  • 更新対象のデバイスを識別するプロパティを持つ、IoT Hub に接続されたデバイス。 これらの特性を使ってターゲットグループを定義しましょう。
  • 名前空間にインポートされたソフトウェアの更新プログラム。 詳細は 「ソフトウェアアップデートのインポート(プレビュー)」をご覧ください。
  • ご利用のデバイスが含まれる名前空間で、ソフトウェアの更新が有効になっています。 詳しくは、「Azure Device Registry の使用を開始する」をご覧ください。
  • ジョブの作成、読み取り、更新、削除を行うための、Contributor ロールなどの Azure Resource Manager のコントロール プレーン権限。
  • ジョブを実行するには、名前空間のマネージド ID が名前空間にリンクされたソフトウェア更新インスタンスにアクセスできる必要があります。 Azureポータルでソフトウェアアップデートを有効にすると、これらの役割割り当てが作成されます。

ターゲットグループの定義または検証

ソフトウェアアップデートジョブは名前空間内のすべてのデバイスではなくグループを対象にします。 アップデートを受け取るべきIoT Hubに接続されたデバイスだけを選択するフィルター付きのグループを作成するか、その範囲に合致する既存のグループを再利用してください。 例えば、メーカー、モデル、ソフトウェアのリビジョンなどのデバイスプロパティを使って特定のデバイスコホートをターゲットにします。 AzureポータルやBicepを使ってグループを作成してください。

グループを Azure portal で作成するには、次の手順に従ってください。

  1. 名前空間ナビゲーションで Operations>Groups(プレビュー)を開き、コマンドバーからグループ作成を開始します。

  2. 基本 ページで、わかりやすい名前を入力し、必要に応じて、対象となるデバイス コホートを特定するための説明も入力します。

  3. 定義ページのフィルター条件を定義の下で、更新したいIoT Hub接続デバイスを選択するクエリを入力してください。

    デバイスクエリエディタ付きの定義ページのスクリーンショットです。

    グループフィルターは作成後は不変です。 別のメンバーシップ条件を使用するには、別のクエリを設定したグループをもう 1 つ作成してください。

  4. レビュー ページで 基本、定義、クエリのフィルター を確認し、作成 を選択します。

    レビューページのスクリーンショットで、グループ名、説明、クエリフィルターが表示されます。

グループのメンバーシップは、グループを作成または再読み込みした際に計算され、キャッシュされます。 ソフトウェアアップデートの作業でグループを使う前に:

  • デバイスプロパティが変わった場合は、グループのメンバーシップを更新してください。 Azureポータルでは、グループの詳細コマンドバーからRefreshが利用可能です。
  • グループステータスが「Ready」になるまで待ちましょう。
  • グループの詳細画面で、解決済みのクエリ フィルターとメンバー数を確認します。 メンバー一覧には最大 10 台のデバイスが表示されるため、これは完全なリストではなく、あくまで目視確認として扱い、メンバー数が更新対象のデバイス数と一致していることを確認してください。

ソフトウェアアップデートのジョブを作成する

ソフトウェアアップデートジョブは、デバイスのグループを対象にし、そのグループ内の互換性のあるメンバーにインポートされたソフトウェアアップデートを適用します。 AzureポータルやBicepを使ってジョブを作成してください。

  1. Azureポータルで、Azureデバイスレジストリにアクセスし、更新したいデバイスを含む名前空間を選択します。

  2. 名前空間でOperations>Jobsを選択します。 ジョブ画面では、定義されたジョブのステータス、ジョブタイプ、ターゲットグループが表示されます。 この画面からは、名前空間内のグループやソフトウェアアップデートも確認できます。

    ジョブページのスクリーンショットで、定義されたジョブの種類、ステータス、ターゲットグループが示されています。

  3. 新しいジョブを作成するために 「作成」 を選択してください。

  4. 基本ページには、ジョブの名前と説明を記載してください。

  5. ジョブの種類では「ソフトウェアアップデート」を選択してください。

    プレビューでは、利用可能なジョブタイプは ソフトウェアアップデート と オンボーディングアップデートです。 ソフトウェア更新ジョブはデバイスのグループを対象とし、オンボーディング更新ジョブは名前空間にオンボードされるデバイスを対象とします。 この記事ではソフトウェアアップデートの作業について説明しています。

  6. ターゲットにしたいグループを選択してください。 グループピッカーを使ってグループを検索し、選択してください。 ピッカーは各グループに所属するデバイスのおおよその数を示します。

    グループ メンバーシップの更新方法については、「グループの概念 (プレビュー)」をご覧ください。

  7. グループ選択を保存してください。 ポータルにはグループ内のデバイスのサンプルとデバイス数が表示されます。

  8. 名前空間にインポートされたソフトウェア更新プログラムのいずれかを選択して、実行するアクションを定義します。 各ソフトウェアアップデートには、デバイスに適用されるかどうかを判断する互換性チェックが含まれています。 ポータルは選択したグループの互換性チェックを実行し、ソフトウェアアップデートが互換性があるかどうかを判断します。

    ソフトウェアアップデートジョブのアクション定義を示すジョブページのスクリーンショットです。

  9. 「次へ」を選択して、ジョブの概要をご覧ください。 この概要には、グループのメンバー数と、そのジョブによって正常に更新される可能性が高い互換性のあるメンバー数の推定値が表示されています。

    ソフトウェアアップデートのジョブレビューが示されたジョブページのスクリーンショットです。

  10. を選択してを作成します。 ジョブステータスは「作成中」と表示され、しばらくすると「準備完了」に変わります。

作業を実行またはスケジュールしてください

ジョブが準備できたら、すぐに実行するか、後で実行をスケジュールできます。

  1. ジョブ画面で、実行したいジョブを選択します。

  2. 次のいずれかのオプションを選択してください。

    • 今すぐ実行: ジョブは即座に実行されます。
    • 後でスケジュールを決める: 今後 7 日間のうちで、都合の良い日時を選択します。 ジョブはあなたが選んだ時間に実行されます。

ジョブを実行するかスケジュールした後、ポータルは Runs タブに移動します。

ジョブ実行を監視してください

Runsタブには、実行中、完了、およびスケジュールされた実行を含むジョブが表示されます。

  1. 実行タブを選択すると、実行履歴とその状態を確認できます。

  2. 完了したランを選択してその統計を見る。 実行の詳細は、更新されたデバイス数とそれらのデバイスの詳細を示しています。

  3. 特定のデバイスを確認してください。 特定のデバイスが更新されたかどうかを確認するには、実行詳細の検索ボックスを使ってデバイスを見つけてください。