次の方法で共有


IoT ハブ用デバイス更新 トラブルシューティングガイド

このドキュメントでは、Device Update ユーザーによって報告される一般的な質問と問題の一覧を示します。 このトラブルシューティング ガイドに表示されない問題が発生した場合は、「 Microsoft サポートへの問い合わせ 」セクションを参照して状況を文書化してください。

更新プログラムのインポート

Q: 更新プログラムを正常にインポートしましたが、互換性のあるデバイスに展開できる状態が表示されません

インポート マニフェスト .json ファイルに、特に Compatibility オブジェクト の値に誤ったエラーがないことを再確認します。 インポート マニフェストの互換性プロパティは、デバイスによって報告されるプロパティと正確に一致する必要があります。これにより、適切な更新プログラムは常に適切なデバイスにのみ送信されます。 たとえば、インポート マニフェストに文字体裁エラーが発生し、デバイスが報告する文字と比較して互換性プロパティの文字が不足したり、入れ替えたり、余分な文字が追加されたりする可能性があります。 その場合、Device Update for IoT Hub サービスはそのデバイスの更新プログラムと一致できません。 既に更新プログラムをインポートしている場合は、その更新プログラムの [詳細] リンクをクリックし、右側のポップアップ メニューの [追加の詳細] をクリックすることで、互換性プロパティに関する問題をすばやく確認できます。 そこから、その更新プログラムのインポート マニフェスト JSON コンテンツを表示し、潜在的なエラーを特定できます。

Q: Device Update インスタンスを IoT Hub インスタンスに接続できない

Device Update リソースのドキュメントに従って、IoT Hub メッセージ ルートが正しく構成されていることを確認します。

アクセス許可が正しく構成されていない可能性があります。 デバイス更新プログラムのアクセス制御に関するドキュメントに従って、アクセス許可が正しく構成されていることを確認します。

Q: Device Update サービスにコンテンツをインポートするときに 500 種類のエラーが発生する

500 の範囲のエラー コードは、デバイス更新サービスの問題を示している可能性があります。 5 分待ってから、もう一度やり直してください。 同じエラーが解決しない場合は、「 Microsoft サポートへの問い合わせ 」セクションの手順に従って、Microsoft にサポートリクエストを提出してください。

Q: 同じ互換性プロパティを保持する (更新プログラムを同じデバイスの種類に設定する) が、インポート マニフェストでプロバイダーまたは名前を変更したい。 しかし、私はそうするときに「失敗:制限を超えたために更新プログラムをインポート中にエラーが発生しました」というエラーが表示されます

同じ互換性プロパティのセットを、複数の更新プロバイダーと名前の組み合わせで使用することはできません。 このポリシーにより、デバイス更新サービスは、特定のデバイスに展開するために使用できる更新プログラムを確実に決定できます。 1 つのデバイスで複数のコンポーネントまたはパーティションを更新する必要がある場合は、プロキシの更新 機能によってその機能が提供されます。

Q: コンテンツをインポートするときにエラー メッセージが表示され、その詳細を理解したい

インポート関連のエラー メッセージの詳細については、 デバイス更新エラー コード のドキュメントを参照してください。

デバイスの障害

Q: デバイスが Device Update for IoT Hub に接続されていることを確認するにはどうすればよいですか?

デバイスが Device Update に接続されていることを確認するには、Azure portal のコンプライアンス ビューの [グループ化されていないデバイス] セクションにデバイスが表示されているかどうかを確認します。

Q: 1 つ以上のデバイスが更新に失敗しています

デバイスの更新エラーの根本原因は多数考えられます。 デバイスが IoT Hub インスタンスに接続されていること、2) Device Update インスタンスに接続されていること、3) 配信の最適化 (DO) サービスが実行されていることを確認します。 3 つすべてがデバイスに当てはまる場合は、「 Microsoft サポートへの問い合わせ 」セクションの手順に従って、Microsoft にサポートリクエストを提出してください。

Q: デバイス更新エージェントの起動に失敗する

Device Update エージェントの起動でエラーが発生する最も一般的な理由の 1 つは、形式が正しくない構成ファイル (du-config.json) です。 構成ファイルのドキュメントを参照し、エージェントが正しく構成されていることを確認します。 構成ファイル内のすべての値は、二重引用符を使用する必要があります。

更新プログラムの展開

Q: デバイスに更新プログラムを展開しましたが、コンプライアンスの状態に最新の更新プログラムが適用されていないことが示されています。 どうしたらいいでしょう。

デバイスのコンプライアンス状態は、更新に最大 5 分かかることがあります。

Q: デバイスの展開状態が互換性がないと表示されていますが、どうすればよいですか。

ターゲット デバイスの製造元とモデルのプロパティは、デバイスを IoT Hub に接続した後に変更された可能性があります。これにより、デバイスは現在のデプロイの更新コンテンツと互換性がないとみなされます。

ADU Core インターフェイスを調べて、デバイスが Device Update サービスに報告している製造元とモデルを確認します。 展開する更新プログラムのコンテンツの インポート マニフェスト で指定した製造元とモデルと一致していることを確認します。 Device Update 構成ファイルを使用して、特定のデバイスのこれらのプロパティを変更できます。

Q: 展開が「アクティブ」ステージにあるのに、更新を受けているデバイスがどれも「進行中」と表示されていないことがわかります。 どうしたらいいでしょう。

デプロイの開始日が将来設定されていないことを確認します。 新しいデプロイを作成すると、明示的に変更しない限り、デプロイの開始日はセーフガードとして次の日に既定で設定されます。 展開開始日に達するまで待つか、または進行中の展開をキャンセルし、目的の開始日で新しい展開を作成することができます。

Q: デバイスをグループ化しようとしていますが、グループの作成時にドロップダウンにタグが表示されない

IoT Hub 内のメッセージ ルートが 、Device Update リソース のドキュメントに従って正しく構成されていることを確認します。 ルートを構成した後、デバイスにもう一度タグを付ける必要があります。

もう 1 つの根本原因は、デバイスを Device Update for IoT Hub に接続する前にタグを適用した可能性があります。 デバイスが既に Device Update に接続されていることを確認します。 デバイスが Device Update for IoT Hub に接続されていることを確認するには、コンプライアンス ビューの [グループ化されていない] デバイスにデバイスが表示されているかどうかを確認します。 別の値のタグを一時的に追加し、デバイスが接続されたら、目的のタグをもう一度追加します。

Device Provisioning Service (DPS) を使用している場合は、デバイスの作成プロセス中ではなく、プロビジョニング後にデバイスにタグを付けます。 デバイスの作成手順で既にデバイスにタグを付けた場合は、プロビジョニング後にデバイスに別の値を一時的にタグ付けしてから、目的のタグをもう一度追加する必要があります。

Q: デプロイは正常に完了しましたが、一部のデバイスの更新に失敗しました

この状態は、障害が発生したデバイスのクライアント側エラーが原因で発生する可能性があります。 このトラブルシューティング ガイドの「デバイス障害」セクションを参照してください。

Q: デプロイを開始しようとしたときに UX でエラーが発生しました

この状態は、サービス/UX のバグ、または API のアクセス許可の問題によって発生する可能性があります。 「Microsoft サポートへの連絡」セクションの手順に従って、Microsoft にサポート リクエストを提出します。

Q: デプロイを開始しましたが、終了状態に達していません

この状態は、サービス パフォーマンスの問題、サービスのバグ、またはクライアントのバグが原因で発生する可能性があります。 10 分後にデプロイを再試行します。 同じ問題が発生した場合は、デバイス ログをプルし、このトラブルシューティング ガイドの「デバイスエラー」セクションを参照してください。 同じ問題が解決しない場合は、「 Microsoft サポートへの問い合わせ 」セクションの手順に従って、Microsoft にサポート リクエストを提出してください。

Q: デバイス レベルのエージェントから、デバイス上のモジュール ID としてエージェントを追加するように移行しました。 デバイスに適用されているにもかかわらず、更新プログラムが "進行中" と表示されるようになりました

この状態は、デバイス ツイン経由で通信していた古いエージェントが削除されなかった場合に発生する可能性があります。 Device Update エージェントをモジュールとしてプロビジョニングすると ( 方法を参照)、デバイスと Device Update サービス間のすべての通信がモジュール ツイン経由で行われます。 グループを作成するときにデバイスのモジュール ツインにタグを付け、すべての通信がモジュール ツイン経由で行われる必要があります。

デバイスへの更新プログラムのダウンロード

Q: 切断後にデバイスが再接続したときにダウンロードを再開するにはどうすればよいですか?

24 時間以内に接続が復元されると、ダウンロードは自己再開されます。 24 時間後、ユーザーはダウンロードを再開する必要があります。

Microsoft 接続キャッシュ (MCC) の使用

Q: IoT Edge デバイスに MCC モジュールをデプロイしようとすると問題が発生する

IoT Edge デバイスへの Edge モジュールのデプロイについては、IoT Edge のドキュメントを参照してください。 IoT Edge デバイスで MCC モジュールが正常に実行されているかどうかを確認するには、http://localhost:5100/Summary. に移動します。

Q: IoT デバイスの 1 つが MCC 経由で更新プログラムをダウンロードしようとしていますが、失敗しています

IoT デバイスが MCC への接続に失敗する原因となる可能性のあるいくつかの問題があります。 問題を診断するには、障害が発生したデバイスから DO クライアントと Nginx ログを収集します (クライアント ログの収集手順については、 Microsoft サポートへの問い合わせ に関するセクションを参照してください)。

使用している URL が許可されていないため、デバイスが MCC モジュールに渡すためにインターネットからコンテンツをプルできない可能性があります。 これを確認するには、Azure portal で IoT Edge 環境変数を確認します。

Azure portal で不足しているインスタンスのトラブルシューティング

Q: [歯車] アイコンを選択しても、Device Update for IoT Hub のインスタンスが表示されない

この問題には、いくつかの原因が考えられます。 トラブルシューティングの手順については、以下を参照してください。

Device Update インスタンスは、同じリソース グループとサブスクリプション内の Azure IoT ハブに関連付ける必要があります。 Device Update インスタンスまたはハブを別のリソース グループまたはサブスクリプションに移動すると、Azure portal にインスタンスが表示されないことがあります。 その場合は、次のいずれかの手順を実行して、Device Update for IoT Hub を引き続き使用します。

  • 移動した項目を元の構成に戻します。

  • IoT ハブをあるリソース グループから別のリソース グループに移動しただけの場合は、IoT ハブの新しい resourceId を使用して Device Update インスタンスを変更します。

  • あるサブスクリプションから別のサブスクリプションに項目を移動した場合は、Device Update アカウントと IoT ハブが同じサブスクリプションにあることを確認し、IoT ハブの新しい resourceId を使用して Device Update インスタンスを変更します。

Azure portal の IoT Hub エクスペリエンスを介して Device Update 機能にアクセスするには、少なくとも IoT ハブと Device Update for IoT Hub アカウントの両方に読み取りレベルのアクセス許可が必要です。

  • IoT Hub のアクセス許可を管理するには:
    • Azure portal からハブを選択する
    • 左側のナビゲーション バーから [アクセス制御 (IAM)] を選択します。
    • [ロールの割り当ての追加] を選択します。
    • 少なくとも読み取りアクセス権を持つロールを選択し、[次へ] を選択します。
    • [メンバー] の横にある [+メンバーの選択] を選択します。
    • 右側のポップアップにアカウントを追加し、[選択] ボタンを選択します。
    • [レビューと割り当て] を選択します
  • Device Update for IoT Hub アカウントのアクセス許可を管理するには、アカウントの所有者に次の手順を実行するように依頼します。
    • Azure portal から Device Update アカウントを選択します。
    • 左側のナビゲーション バーから [アクセス制御 (IAM)] を選択します。
    • [ロールの割り当ての追加] を選択します。
    • 閲覧者ロール (または同等のアクセス許可を持つロール) を選択します。
    • [メンバー] の横にある [+メンバーの選択] を選択します。
    • 右側のポップアップにアカウントを追加し、[選択] ボタンを選択します。
    • [レビューと割り当て] を選択します

Device Update サービス のロールベースのアクセス制御 の詳細について説明します。

Microsoft サポートへのお問い合わせ

このページのコンテンツを使用して解決できない問題が発生した場合は、Azure portal インターフェイスを使用して Microsoft サポートにサポート リクエストを提出できます。 問題が属しているカテゴリによっては、Microsoft サポートによる問題の調査に役立つデータを収集して共有するように求められる場合があります。

各データ型を収集する方法については、このセクションの残りのテキストを参照してください。

getDevice を使用して、API のペイロード応答で追加情報を確認できます。

問題の根本原因を絞り込むのに役立つ可能性があるため、可能であれば次の情報も含めてください。

  • 更新しようとしているデバイスの種類 (IoT Edge ゲートウェイ、その他)
  • 使用している Device Update クライアントの種類 (イメージベース、パッケージベース、シミュレーター)
  • デバイスが実行している OS
  • デバイスのアーキテクチャに関する詳細
  • デバイスの更新機能をこれまでに正常に使用してデバイスを更新したことがあるかどうか

クライアント ログの収集

  • Raspberry Pi デバイスには、次の 2 つのログ セットがあります。
/adu/logs
/var/cache/do-client-lite/log
  • パッケージ化されたクライアントの場合、ログは次の場所にあります。
/var/log/adu
/var/cache/do-client-lite/log
  • シミュレーターの場合、ログは次の場所にあります。
/tmp/aduc-logs

エラー コード

更新プログラムのインポート、デバイスの障害、または更新プログラムの展開に関連する問題を報告するときに、エラー コードを指定するように求められる場合があります。

エラー コードは、 ADUCoreInterface インターフェイスを調べることで取得できます。 自己診断とトラブルシューティングのためにエラー コードを解析する方法については、 デバイス更新 エラー コードのドキュメントを参照してください。

トレース ID

更新プログラムのインポートまたは展開に関連する問題を報告するときに、トレース ID を指定するように求められる場合があります。

特定のユーザー アクションのトレース ID は、API 応答内、または Azure portal ユーザー インターフェイスの [インポート履歴] セクションにあります。

現時点では、デプロイ アクションのトレース ID には、API 応答を介してのみアクセスできます。

デプロイメント ID

更新プログラムの展開に関連する問題を報告するときに、デプロイ ID を指定するように求められる場合があります。

デプロイ ID は、API を呼び出してデプロイを開始するときにユーザーによって作成されます。

現在、Azure portal ユーザー インターフェイスから開始されたデプロイのデプロイ ID は自動的に生成され、ユーザーには表示されません。

IoT Hub インスタンス名

デバイスの障害または更新プログラムのデプロイに関連する問題を報告するときに、IoT Hub インスタンスの名前を指定するように求められる場合があります。

IoT Hub 名は、初回プロビジョニング時にユーザーによって選択されます。

Device Update アカウント名

更新プログラムのインポート、デバイスの障害、または更新プログラムの展開に関連する問題を報告するときに、Device Update アカウントの名前を指定するように求められる場合があります。

Device Update アカウント名は、サービスに初めてサインアップするときにユーザーによって選択されます。 詳細については、 デバイス更新リソース のドキュメントを参照してください。

Device Update インスタンス名

更新プログラムのインポート、デバイスの障害、または更新プログラムの展開に関連する問題を報告するときに、Device Update インスタンスの名前を指定するように求められる場合があります。

Device Update インスタンス名は、初回プロビジョニング時にユーザーによって選択されます。 詳細については、 デバイス更新リソース のドキュメントを参照してください。

デバイス識別子

デバイスの障害に関連する問題を報告するとき、または更新プログラムを展開するときに、デバイス ID を指定するように求められる場合があります。

デバイス ID は、デバイスが最初にプロビジョニングされるときに顧客によって定義されます。 デバイスのデバイス ツインから取得することもできます。

更新 ID

更新プログラムの展開に関連する問題を報告するときに、更新プログラム ID を指定するように求められる場合があります。

更新プログラム ID は、デプロイを開始するときに顧客によって定義されます。

Nginx ログ

Microsoft 接続キャッシュに関連する問題を報告するときに、Nginx ログを提供するように求められる場合があります。

ADU-conf.txt

更新プログラムの展開に関連する問題を報告するときに、Device Update 構成ファイル ("adu-conf.txt") を指定するように求められる場合があります。

構成ファイルは省略可能であり、 Device Update 構成 ドキュメントの手順に従ってユーザーによって作成されます。

輸入明細書

更新プログラムのインポートまたは配置に関連する問題を報告するときに、インポート マニフェスト ファイルを指定するように求められる場合があります。

インポート マニフェストは、デバイス更新サービスに更新コンテンツをインポートするときに顧客によって作成されたファイルです。

次のステップ

デバイス更新プログラムのエラー コードの詳細