次の方法で共有


IoT Edge デバイスを作成する

適用対象: IoT Edge 1.5 のチェックマーク IoT Edge 1.5 IoT Edge 1.4 チェックマーク IoT Edge 1.4

重要

サポートされているリリースは、IoT Edge 1.5 LTS と IoT Edge 1.4 LTS です。 IoT Edge 1.4 LTS は、2024 年 11 月 12 日にサポートが終了します。 以前のリリースの場合は、「IoT Edge を更新する」を参照してください。

この記事では、デバイスに IoT Edge をインストールしてプロビジョニングするために使用できるオプションの概要を示します。

この記事では、IoT Edge ソリューションのすべてのオプションについて説明します。これは、次の場合に役立ちます。

この記事の最後には、IoT Edge ソリューションに使用するプラットフォーム、プロビジョニング、および認証のオプションが明確になります。

はじめに

IoT Edge デバイスの作成に使用するプラットフォーム、プロビジョニング、および認証のオプションの種類がわかっている場合は、次の表のリンクを使って作業を開始してください。

適切なオプションを選択する方法の詳細については、この記事を読み進めて確認してください。

Linux ホスト上の Linux コンテナー Windows ホスト上の Linux コンテナー
手動プロビジョニング (単一デバイス) X.509 証明書

対称キー
X.509 証明書

対称キー
自動プロビジョニング (大規模なデバイス) X.509 証明書

TPM

対称キー
X.509 証明書

TPM

対称キー

用語と概念

IoT Edge の用語にまだ慣れていない場合は、次のいくつかの主要な概念を確認してください。

IoT Edge ランタイム: IoT Edge ランタイムは、デバイスを IoT Edge デバイスに変えるプログラムのコレクションです。 一括して、IoT Edge ランタイム コンポーネントを使用すると、IoT Edge デバイスで IoT Edge モジュールを実行できます。

プロビジョニング: 各 IoT Edge デバイスをプロビジョニングする必要があります。 プロビジョニングは 2 段階のプロセスです。 最初の手順では、IoT ハブにデバイスを登録し、IoT ハブへの接続を確立するためにデバイスで使用されるクラウド ID を作成します。 2 番目の手順では、クラウド ID を使用してデバイスを構成します。 プロビジョニングは、デバイスごとに手動で行うことができます。あるいは、IoT Hub Device Provisioning Service を使用して大規模に行うことができます。

認証: IoT Edge デバイスでは、IoT Hub に接続するときに ID を検証する必要があります。 対称キー パスワード、証明書の拇印、トラステッド プラットフォーム モジュール (TPM) など、使用する認証方法を選択できます。

プラットフォームの選択

プラットフォーム オプションは、コンテナー オペレーティング システムとホスト オペレーティング システムによって参照されます。 コンテナー オペレーティング システムは、IoT Edge ランタイムおよびモジュール コンテナー内で使用されるオペレーティング システムです。 ホスト オペレーティング システムは、IoT Edge ランタイム コンテナーおよびモジュールが実行されるデバイスのオペレーティング システムです。

IoT Edge デバイスには 3 つのプラットフォーム オプションがあります。

  • Linux ホスト上の Linux コンテナー: Linux ホスト上で直接 Linux ベースの IoT Edge コンテナーを実行します。 IoT Edge ドキュメント全体で、わかりやすくするために、このオプションは Linux および Linux コンテナーと呼ばれます。

  • Windows ホスト上の Linux コンテナー: Windows ホスト上の Linux 仮想マシンで Linux ベースの IoT Edge コンテナーを実行します。 IoT Edge ドキュメント全体で、このオプションは Linux on WindowsIoT Edge for Linux on Windows、および EFLOW とも呼ばれます。

  • Windows ホスト上の Windows コンテナー: Windows ホスト上で直接 Windows ベースの IoT Edge コンテナーを実行します。 IoT Edge ドキュメント全体で、わかりやすくするために、このオプションは Windows および Windows コンテナーとも呼ばれます。

運用シナリオ向けに現在サポートされているオペレーティング システムに関する最新の情報については、「Azure IoT Edge のサポートされるシステム」を参照してください。

Linux 上の Linux コンテナー

Linux デバイスの場合、IoT Edge ランタイムはホスト デバイスに直接インストールされます。

IoT Edge では、X64、ARM32、および ARM64 Linux デバイスがサポートされています。 Microsoft では、さまざまなオペレーティング システム用の公式インストール パッケージを提供しています。

Windows 上の Linux コンテナー

IoT Edge for Linux on Windows により、Windows デバイス上の Linux 仮想マシンがホストされます。 仮想マシンには、IoT Edge ランタイムがあらかじめ組み込まれており、更新は Microsoft Update を介して管理されます。

IoT Edge for Linux on Windows は、Windows デバイスで IoT Edge を実行する場合に推奨される方法です。 詳細については、「Azure IoT Edge for Linux on Windows とは」を参照してください。

Windows 上の Windows コンテナー

IoT Edge バージョン 1.2 以降では Windows コンテナーはサポートされていません。 バージョン 1.1 以降では、Windows コンテナーはサポートされません。

デバイスをプロビジョニングする方法を選択する

IoT Edge ソリューションのニーズに応じて、単一デバイス、または複数のデバイスを大規模にプロビジョニングすることができます。

IoT Edge デバイスと IoT ハブ間の通信を認証するために使用できるオプションは、選択するプロビジョニング方法によって異なります。 これらのオプションの詳細については、「認証方法を選択する」セクションを参照してください。

単一デバイス

単一デバイスのプロビジョニングとは、IoT Hub Device Provisioning Service (DPS) を利用せずに IoT Edge デバイスをプロビジョニングすることを指します。 単一デバイスのプロビジョニングは、手動プロビジョニングとも呼ばれます。

単一デバイスのプロビジョニングを使用する場合は、デバイス上で、接続文字列などのプロビジョニング情報を手動で入力する必要があります。 手動プロビジョニングの場合、少数のデバイスに対して迅速かつ簡単に設定できますが、デバイスの数に応じてワークロードが増加します。 プロビジョニングは、ソリューションのスケーラビリティを検討する際に役立ちます。

対称キーおよび X.509 自己署名認証方法は、手動プロビジョニングで使用できます。 これらのオプションの詳細については、「認証方法を選択する」セクションを参照してください。

大規模なデバイス

大規模なデバイスのプロビジョニングとは、IoT Hub Device Provisioning Service を利用して 1 台または複数台の IoT Edge デバイスをプロビジョニングすることを指します。 大規模なプロビジョニングは、自動プロビジョニングとも呼ばれます。

IoT Edge ソリューションで複数のデバイスが必要な場合、DPS を使用した自動プロビジョニングにより、各デバイスの構成ファイルにプロビジョニング情報を手動で入力する手間が省けます。 この自動モデルは、数百万台の IoT Edge デバイスにスケーリングできます。

任意の認証方法を使用して、IoT Edge ソリューションをセキュリティで保護できます。 対称キーX.509 証明書、およびトラステッド プラットフォーム モジュール (TPM) 構成証明認証方法は、大規模なデバイスのプロビジョニングに使用できます。 これらのオプションの詳細については、「認証方法を選択する」セクションを参照してください。

DPS の機能の詳細については、概要ページの機能に関するセクションを参照してください。

認証方法を選択する

X.509 証明書の構成証明

X.509 証明書を構成証明メカニズムとして使用することは、運用環境を拡張し、デバイス プロビジョニングを簡素化するために推奨される方法です。 通常、X.509 証明書は信頼する証明書チェーンに配置されます。 自己署名証明書または信頼されたルート証明書から開始して、チェーン内の各証明書によって、それよりも 1 つ下位にある証明書が署名されます。 このパターンにより、ルート証明書から各中間証明書を経由して、デバイスにインストールされた最終的なダウンストリーム デバイス証明書に至る、委任された信頼チェーンが作成されます。

2 つの X.509 ID 証明書を作成し、デバイスに配置します。 IoT Hub で新しいデバイス ID を作成するときは、両方の証明書の拇印を指定します。 デバイスでは IoT Hub に対して認証を行うときに、1 つの証明書が提示され、その証明書がその拇印と一致することが IoT によって検証されます。 デバイス上の X.509 キーは、ハードウェア セキュリティ モジュール (HSM) に格納する必要があります。 たとえば、PKCS#11 モジュール、ATECC、dTPM などです。

この認証方法は対称キーよりも安全であり、多数のデバイスに対して簡素化された管理エクスペリエンスを提供するグループ登録をサポートします。 この認証方法は、運用環境のシナリオの場合に推奨されます。

トラステッド プラットフォーム モジュール (TPM) 構成証明

TPM 構成証明の使用は、ソフトウェアとハードウェアの両方で認証機能を使用するデバイス プロビジョニングの方法です。 各 TPM チップでは一意の認証キーを使用して、その信頼性を検証します。

TPM 構成証明は、DPS を使用した大規模なプロビジョニングでのみ使用できます。また、グループ登録ではなく個々の登録のみがサポートされます。 TPM のデバイス固有の性質上、グループ登録は使用できません。

Device Provisioning Service で TPM 構成証明を使用する場合は、TPM 2.0 が必要です。

この認証方法は対称キーよりも安全であり、運用シナリオに推奨されます。

対称キーの構成証明

対称キーの構成証明は、デバイスを認証するための簡単な方法です。 この構成証明の方法では、初めてデバイスのプロビジョニングを行う開発者または厳密なセキュリティ要件がない開発者に対して、"Hello world" エクスペリエンスを提示します。

IoT Hub で新しいデバイス ID を作成すると、サービスによって 2 つのキーが作成されます。 いずれかのキーをデバイスに配置すると、認証時にそのキーが IoT Hub に提示されます。

この認証方法は比較的すばやく開始できますが、それほど安全ではありません。 TPM または X.509 証明書を使用するデバイス プロビジョニングの方が安全であり、より厳しいセキュリティ要件を持つソリューションにはそれを使用する必要があります。

次のステップ

目次を使用して、IoT Edge ソリューションのプラットフォーム、プロビジョニング、および認証の要件に合った IoT Edge デバイスを作成するための適切なエンドツーエンド ガイドに移動できます。

次のリンクを使用して、関連記事に移動することもできます。

Linux ホスト上の Linux コンテナー

単一デバイスを手動でプロビジョニングする:

複数のデバイスを大規模にプロビジョニングする:

Windows ホスト上の Linux コンテナー

単一デバイスを手動でプロビジョニングする:

複数のデバイスを大規模にプロビジョニングする: