適用対象: IoT Edge 1.1
重要
IoT Edge 1.1 サポート終了日は 2022 年 12 月 13 日でした。 本製品、サービス、テクノロジ、または API のサポート内容については、Microsoft 製品のライフサイクルに関するページをご確認ください。 最新バージョンの IoT Edge への更新の詳細については、「IoT Edgeの更新」を参照してください。
この記事では、IoT Edge で一般提供またはプレビューとしてサポートされているオペレーティング システム プラットフォーム、IoT Edge ランタイム、コンテナー エンジン、コンポーネントについて説明します。
サポートを受ける
Azure IoT Edge サービスの使用中に問題が発生した場合は、いくつかの方法でサポートを求めることができます。 サポートについては、次のいずれかのチャネルをお試しください。
バグの報告 - Azure IoT Edge 製品となる開発のほとんどは、IoT Edge のオープンソース プロジェクトで行われます。 バグはプロジェクトの問題ページで報告できます。 Azure IoT Edge for Linux on Windows に関するバグは、 iotedge-eflow の問題ページで報告できます。 プロジェクトから製品の更新プログラムへの修正が迅速に行われます。
Microsoft カスタマー サポート チーム - サポート プランに加入しているユーザーは、Azure portal から直接サポート チケットを作成することで、Microsoft カスタマー サポート チームとやり取りできます。
機能の要望 - Azure IoT Edge 製品は、製品のユーザーの声ページを介して機能の要望を追跡します。
コンテナー エンジン
Azure IoT Edge モジュールはコンテナーとして実装されているため、IoT Edge にはモジュールを起動するためのコンテナー エンジンが必要です。 Microsoft には、この要件を満たすために、moby-engine というコンテナー エンジンが用意されています。 このコンテナー エンジンは、Moby オープンソース プロジェクトをベースとします。 他にも有名なコンテナー エンジンとして、Docker CE や Docker EE が挙げられます。 これらも Moby オープンソース プロジェクトをベースとし、Azure IoT Edge と互換性があります。 Microsoft はこれらのコンテナー エンジンを使用するシステムに対してベスト エフォート サポートを提供しています。ただし、Microsoft はそれらで発生した問題の修正プログラムを配布することができません。 この理由から、Microsoft では運用システムで moby-engine を使用することを推奨しています。
オペレーティング システム
Azure IoT Edge はコンテナーを実行できるほとんどのオペレーティング システムで実行できます。ただし、それらのすべてのシステムが均等にサポートされているわけではありません。 オペレーティング システムは、ユーザーが受けられるサポートのレベルを表す階層別にグループ化されています。
- レベル 1 のシステムはサポートされています。 レベル 1 のシステムの場合、Microsoft が以下を行います。
- このオペレーティングシステムは自動テストに含まれている
- Microsoft がそれらのインストール パッケージを提供している
- レベル 2 のシステムは Azure IoT Edge と互換性があり、比較的簡単に使用できます。 レベル 2 のシステムの場合:
- Microsoft がそのプラットフォームで非公式なテストを実施している、またはパートナーがそのプラットフォーム上で Azure IoT Edge を正常に実行していることを把握している
- 他のプラットフォーム用のインストール パッケージがそれらのプラットフォームで機能することがある
ホスト OS のファミリは、モジュールのコンテナー内で使用されるゲスト OS のファミリと常に一致する必要があります。
言い換えると、Linux コンテナーは Linux コンテナーと Windows 上の Windows コンテナーでのみ使用できます。 Windows コンテナーを使用する場合、分離コンテナー Hyper-V ではなく、プロセス分離コンテナーのみがサポートされます。
IoT Edge for Linux on Windows では、Windows ホストで実行されている Linux 仮想マシンで IoT Edge を使用します。 この方法で、Windows デバイス上で Linux モジュールを実行できます。
階層 1
次の表に示すシステムは、一般提供またはパブリック プレビューにおいて、Microsoft によってサポートされており、新しいリリースごとにテストされています。
Azure IoT Edge では、Linux または Windows コンテナーとして構築されたモジュールがサポートされています。 Linux コンテナーは、Linux デバイスにデプロイすることも、Windows 上の IoT Edge for Linux を使用して Windows デバイスにデプロイすることもできます。 Windows コンテナーは、Windows デバイスにのみ展開できます。
Linux コンテナー
Linux コンテナーとしてビルドされたモジュールは、Linux デバイスまたは Windows デバイスにデプロイできます。 Linux デバイスの場合、IoT Edge ランタイムはホスト デバイスに直接インストールされます。 Windows デバイスの場合、IoT Edge ランタイムでビルドされた Linux 仮想マシンは、ホスト デバイスで実行されます。
IoT Edge for Linux on Windows は、Windows デバイスで IoT Edge を実行する場合に推奨される方法です。
オペレーティング システム | AMD64 | ARM32v7 | ARM64 |
---|---|---|---|
Debian 11 (Bullseye) |
![]() |
||
Ubuntu Server 20.04 |
![]() |
![]() |
|
Ubuntu Server 18.04 |
![]() |
![]() |
|
Windows 10/11 Pro |
![]() |
||
Windows 10/11 Enterprise |
![]() |
||
Windows 10/11 IoT Enterprise |
![]() |
||
Windows Server 2019/2022 |
![]() |
すべての Windows オペレーティング システムは、現在のすべての累積的な更新プログラムがインストールされた最小ビルド 17763 である必要があります。
注
Ubuntu Server 16.04 のサポートは、IoT Edge バージョン 1.1 のリリースで終了しました。
Windows コンテナー
重要
IoT Edge 1.1 LTS は、Windows コンテナーをサポートする最後のリリース チャネルです。 バージョン 1.2 以降では、Windows コンテナーはサポートされません。 IoT Edge for Linux on Windows を使用または移行して、Windows デバイスで IoT Edge を実行することを検討してください。
Windows コンテナーとして構築されたモジュールは、Windows デバイスにのみ展開できます。
オペレーティング システム | AMD64 | ARM32v7 | ARM64 |
---|---|---|---|
Windows 10 IoT Enterprise |
![]() |
||
Windows Server 2019 |
![]() |
||
Windows Server IoT 2019 |
![]() |
すべての Windows オペレーティング システムは、バージョン 1809 (ビルド 17763) である必要があります。 Windows コンテナーのバージョンがホスト Windows デバイスのバージョンと完全に一致している必要があるため、Windows 上の IoT Edge には Windows の特定のビルドが必要です。 現在、Windows コンテナーではビルド 17763 のみが使用されています。
注
Windows 10 IoT Core のサポートは、IoT Edge バージョン 1.1 のリリースで終了しました。
階層 2
次の表に示すシステムは、Azure IoT Edge と互換性があると見なされますが、Microsoft によってアクティブにテストまたは管理されてはいません。
オペレーティング システム | AMD64 | ARM32v7 | ARM64 |
---|---|---|---|
CentOS-7 |
![]() |
![]() |
![]() |
Debian 10 1 |
![]() |
![]() |
![]() |
Debian 11 |
![]() |
![]() |
|
Mentor Embedded Linux Flex OS |
![]() |
![]() |
![]() |
Mentor Embedded Linux Omni OS |
![]() |
![]() |
|
RHEL 7 |
![]() |
![]() |
![]() |
Ubuntu 18.04 2 |
![]() |
||
Ubuntu 20.04 2 |
![]() |
||
ウィンドリバー 8 |
![]() |
||
Yocto |
![]() |
![]() |
![]() |
Raspberry Pi OS Buster |
![]() |
![]() |
1 1.3 のリリースでは、Debian 10 でクラッシュを引き起こす新しいシステム呼び出しがあります。 回避策を確認するには、1.3 リリース ノートのセクションの ARMv7 の Debian 10 (Buster) に関する既知の問題の詳細 を確認してください。
2 インストール パッケージは、 Azure IoT Edge リリースで利用できます。 「オフラインまたは特定のバージョンのインストール」のインストール手順を参照してください。
リリース
次の表は、現在サポートされているリリースの一覧です。 IoT Edge のリリース アセットとリリース ノートは、azure-iotedge リリース ページから入手できます。
リリース ノートとアセット | タイプ | リリース日 | サポート終了日 |
---|---|---|---|
1.4 | 長期サポート (LTS) | 2022 年 8 月 | 2024 年 11 月 12 日 |
1.1 | 長期サポート (LTS) | 2021 年 2 月 | 2022 年 12 月 13 日 |
IoT Edge のバージョン履歴の詳細については、「 バージョン履歴」を参照してください。
IoT Edge 1.1 は、最初の長期サポート (LTS) リリース チャネルです。 このバージョンでは新機能は導入されませんが、セキュリティ更新プログラムと回帰の修正プログラムを受け取ります。 IoT Edge 1.1 LTS では .NET Core 3.1 が使用され、 .NET Core および .NET 5 リリース ライフサイクルに合わせて 2022 年 12 月 13 日までサポートされます。
重要
- すべての Microsoft 製品にはライフサイクルがあります。 ライフサイクルは、製品がリリースされると開始され、サポートされなくなったときに終了します。 このライフサイクルの重要な日付を把握しておくと、ソフトウェアのアップグレードやその他の変更を行うタイミングについて、情報に基づいた決定を行うのに役立ちます。 IoT Edge は、Microsoft のモダン ライフサイクル ポリシーによって管理されます。
- 長期サポート チャネルのリリースでは、現在 1.0.x を実行しているすべてのお客様が、継続的なサポートを受けるためにデバイスを 1.1.x にアップグレードすることをお勧めします。
IoT Edge では、Microsoft.Azure.Devices.Client SDK が使用されます。 詳細については、Azure IoT C# SDK の GitHub リポジトリまたは Azure SDK for .NET のリファレンス コンテンツを参照してください。 次に示したのは、各リリースのテストに使用されたクライアント SDK のバージョンの一覧です。
IoT Edge のバージョン | Microsoft.Azure.Devices.Client SDK のバージョン |
---|---|
1.4 | 1.36.6 |
1.3 | 1.36.6 |
1.2.0 | 1.33.4-NestedEdge |
1.1 (LTS) | 1.28.0 |
1.0.10 | 1.28.0 |
1.0.9 | 1.21.1 |
1.0.8 | 1.20.3 |
1.0.7 | 1.20.1 |
1.0.6 | 1.17.1 |
1.0.5 | 1.17.1 |
Virtual Machines
Azure IoT Edge は仮想マシンで実行できます。 仮想マシンを IoT Edge デバイスとして使用することは、エッジ インテリジェンスで既存のインフラストラクチャを拡張しようとする場合によく行われます。 ホスト VM OS のファミリは、モジュールのコンテナー内で使用されるゲスト OS のファミリと一致する必要があります。 この要件は、Azure IoT Edge がデバイス上で直接実行されるときと同じです。 Azure IoT Edge は基盤となる仮想化テクノロジに依存しており、Hyper-V や vSphere などのプラットフォームを使用した VM で動作します。
最小システム要件
Azure IoT Edge は、Raspberry Pi3 のような小規模なデバイスから、サーバー グレード ハードウェアまで、幅広いデバイスで快適に動作します。 シナリオに適したハードウェアの選択は、実行するワークロードによって決まります。 デバイスを最終的に決定するまでには複雑なプロセスを要する場合もありますが、従来型のラップトップやデスクトップ上でソリューションのプロトタイプを作成することは簡単に開始できます。
プロトタイプ作成の過程で得られた経験は、最終的なデバイスの選択に役立ちます。 考慮すべき質問としては次のようなものがあります。
- ワークロード内のモジュールはいくつありますか。
- モジュールのコンテナーが共有するレイヤーはいくつありますか。
- モジュールはどの言語で作成されていますか。
- モジュールで処理されるデータはどのくらいですか。
- モジュールには、ワークロードを加速するための特殊なハードウェアが必要ですか。
- ソリューションの望ましいパフォーマンス特性はどのようなものですか。
- ハードウェア予算はどのくらいですか。