Azure portal から Azure IoT Edge モジュールをデプロイする
適用対象: IoT Edge 1.5 IoT Edge 1.4
重要
サポートされているリリースは、IoT Edge 1.5 LTS と IoT Edge 1.4 LTS です。 IoT Edge 1.4 LTS は、2024 年 11 月 12 日にサポートが終了します。 以前のリリースの場合は、「IoT Edge を更新する」を参照してください。
重要
2024 年 8 月 28 日より、Azure Marketplace は IoT Edge モジュールの配布モデルを更新しています。 パートナー (モジュール パブリッシャー) は、パブリッシャー所有のコンテナー レジストリへの IoT Edge モジュールのホスティングを開始します。 IoT Edge モジュール イメージは、Azure Marketplace コンテナー レジストリからダウンロードできなくなります。
IoT Edge モジュール パブリッシャーに連絡して更新されたコンテナー イメージ URI を取得し、パブリッシャーから提供された新しいイメージ URI を使用して IoT Edge デバイス構成を更新してください。
Azure Marketplace から取得したパートナー モジュールを使用しない IoT Edge デバイスは影響を受けず、アクションは必要ありません。
ビジネス ロジックで IoT Edge モジュールを作成したら、それらをデバイスにデプロイしてエッジで動作させます。 連携してデータを収集および処理する複数のモジュールがある場合は、一度にそのすべてをデプロイし、それらを接続するルーティング規則を宣言できます。
この記事では、Azure Portal を使用して配置マニフェストを作成し、IoT Edge デバイスにデプロイをプッシュする方法を紹介します。 共有タグに基づいて複数のデバイスをターゲットとするデプロイの作成については、「IoT Edge モジュールを大規模にデプロイおよび監視する」をご覧ください。
前提条件
Azure サブスクリプション内の IoT ハブ。
IoT Edge デバイス。
IoT Edge デバイスがセットアップされていない場合は、Azure 仮想マシンで作成できます。 クイックスタートの記事のいずれかの手順に従って、仮想 Linux デバイスを作成するか、仮想 Windows デバイスを作成します。
配置マニフェストを構成する
配置マニフェストは、デプロイするモジュール、モジュール間でのデータ フロー、およびモジュール ツインの目的のプロパティを記述した JSON ドキュメントです。 配置マニフェストのしくみとその作成方法について詳しくは、「IoT Edge モジュールをどのように使用、構成、および再利用できるかを理解する」をご覧ください。
Azure Portal には、JSON ドキュメントを手動で作成する代わりに配置マニフェストを作成する手順を示すウィザードがあります。 3 つのステップがあります。モジュールの追加、ルートの指定、およびデプロイの確認。
Note
この記事の手順は、IoT Edge エージェントとハブの最新のスキーマ バージョンに合わせています。 スキーマ バージョン 1.1 は IoT Edge バージョン 1.0.10 と共にリリースされており、モジュールの起動順序機能とルートの優先順位付け機能を使用できます。
1.0.9 以前のバージョンを実行しているデバイスにデプロイする場合は、ウィザードの [モジュール] ステップで [ランタイムの設定] を編集して、スキーマ バージョン 1.0 を使用できるようにしてください。
デバイスを選択してモジュールを追加する
Azure portal にサインインし、IoT Hub に移動します。
左側のウィンドウで、[デバイス管理] メニューの[デバイス] を選択します。
一覧からターゲット IoT Edge デバイスを選択します。
上部のバーで [モジュールの設定] を選択します。
ページの [Container Registry の資格情報] セクションで、モジュール イメージを格納するコンテナー レジストリにアクセスするための資格情報を指定します。 たとえば、モジュールがプライベート コンテナー レジストリ内にあるか、認証が必要なパートナー コンテナー レジストリを使用しているとします。
ページの [IoT Edge モジュール] セクションで、[追加] を選択します。
ドロップダウン メニューから追加するモジュールの種類を選びます。 IoT Edge モジュールまたは Azure Stream Analytics モジュールを追加できます。
IoT Edge モジュール
このオプションを使用して、Microsoft モジュール、パートナー モジュール、またはカスタム モジュールを追加します。 モジュール名とコンテナー イメージ URI を指定します。 コンテナー イメージ URI は、コンテナー レジストリ内のモジュール イメージの場所です。 Microsoft IoT Edge モジュール イメージの一覧については、「Microsoft アーティファクト レジストリ」を参照してください。 パートナー モジュールの場合、コンテナー イメージ URI を取得するには、IoT Edge モジュールの発行元に問い合わせてください。
たとえば、Microsoft の Simulated Temperature Sensor モジュールを追加するには、次のようにします。
次の情報を入力します :
設定 Value 画像の URL mcr.microsoft.com/azureiotedge-simulated-temperature-sensor
再起動ポリシー 常時 必要な状態 実行中 [追加] を選択します。
モジュールを追加したら、一覧からモジュール名を選択してモジュールの設定を開きます。 必要な場合は、省略可能なフィールドに入力します。
指定可能なモジュール設定の詳細については、モジュールの構成と管理に関するページを参照してください。
モジュール ツインの詳細については、「必要なプロパティの定義または更新」を参照してください。
Azure Stream Analytics モジュール
このオプションは、Azure Stream Analytics ワークロードから生成されたモジュールに使用します。
- 自分のサブスクリプションと、作成した Azure Stream Analytics Edge ジョブを選びます。
- [保存] を選択します。
IoT Edge モジュールで Azure Stream Analytics をデプロイする方法の詳細については、「チュートリアル: Azure Stream Analytics を IoT Edge モジュールとしてデプロイする」を参照してください。
ルートを指定する
[ルート] タブで、モジュールと IoT Hub の間でメッセージが渡される方法を定義します。 メッセージは、名前と値のペアを使用して作成されます。 既定では、新しいデバイスの最初のデプロイには、route という名前で、FROM /messages/* INTO $upstream として定義されているルートが含まれます。つまり、任意のモジュールによって出力されたすべてのメッセージは IoT ハブに送信されます。
priority パラメーターと time to live パラメーターは、ルート定義に含めることができる省略可能なパラメーターです。 priority パラメーターでは、メッセージが最初に処理されるルート、または最後に処理されるルートを選択できます。 優先度は 0 から 9 の数値で設定されます (最高優先度は 0)。 time to live パラメーターでは、メッセージが処理されるかキューから削除されるまで当該ルートに保持しておく期間を宣言できます。
ルートの作成方法の詳細については、「ルートの宣言」をご覧ください。
ルートが設定されたら、 [次へ: 確認と作成] を選択し、ウィザードの次の手順に進みます。
デプロイを確認する
確認のセクションには、前述の 2 つのセクションの選択項目に基づいて作成された JSON 配置マニフェストが表示されます。 追加しなかった 2 つのモジュール ($edgeAgent および $edgeHub) が宣言されていることに注目してください。 これらの 2 つのモジュールは、IoT Edge ランタイムを構成し、すべてのデプロイの既定値として使用されます。
デプロイ情報を確認し、[作成] を選択します。
デバイス上のモジュールを表示する
モジュールをデバイスにデプロイすると、そのすべてを IoT Hub のデバイスの詳細ページで表示できます。 このページには、デプロイした各モジュールの名前、およびデプロイ状態や終了コードなどの役立つ情報が表示されます。
Next:この記事の前で記載したルートの指定とデプロイの確認で説明されているように、デプロイをルーティングして続行します。
次のステップ
大規模な IoT Edge モジュールの展開と監視の方法を学習します。