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 を更新する」を参照してください。
Azure IoT Edge はデバイスに重点を置いたランタイムです。これを使って、コンテナー化された Linux ワークロードをデプロイ、実行、監視できます。
分析は、IoT ソリューションのビジネス上の価値を決める重要な要素ですが、すべての分析をクラウドで行う必要はありません。 Azure IoT Edge を使うと、クラウドの分析能力をデバイスに近づけることで、より優れたビジネスの分析情報を導き、オフラインでの意思決定を実現することができます。 たとえば、異常検出ワークロードをエッジで実行し、生産ラインで起きている緊急事態にできるだけ早く対応することができます。 帯域幅コストを削減し、テラバイト規模の生データを転送することを回避したい場合は、データのクリーニングや集約をローカルで行い、分析のために分析情報をクラウドに送信するだけで済みます。
Azure IoT Edge は Azure IoT Hub の機能であり、クラウドから IoT ソリューションをスケールアウトして管理することができます。 ビジネス ロジックを標準コンテナーにパッケージ化し、パートナーまたは Microsoft アーティファクト レジストリのオプションの事前構築済み IoT Edge モジュール イメージを使用すると、ソリューションの作成、デプロイ、保守が簡単に行えます。
Azure IoT Edge は、次の 3 つのコンポーネントで構成されます。
- IoT Edge モジュール: Azure のサービス、サードパーティのサービス、または独自のコードを実行するコンテナーです。 モジュールは、IoT Edge デバイスにデプロイされ、そのデバイス上でローカルに実行されます。
- IoT Edge ランタイム: 個々の IoT Edge デバイス上で動作し、各デバイスにデプロイされたモジュールを管理します。
- クラウドベースのインターフェイス: IoT Edge デバイスをリモートから監視して管理します。
Note
Azure IoT Edge は、IoT Hub の Free および Standard レベルで利用できます。 Free レベルは、テストおよび評価用です。 Basic レベルおよび Standard レベルの詳細については、適切な IoT Hub レベルの選び方に関するページを参照してください。
IoT Edge のモジュール
IoT Edge のモジュールは、実行の単位となるもので、Docker 互換のコンテナーとして実装されます。エッジに置かれたビジネス ロジックが、この単位で実行されます。 互いに通信を行う複数のモジュールを構成することで、データ処理のパイプラインを作成することができます。 カスタム モジュールを開発するか、特定の Azure サービスをパッケージ化して、エッジからオフラインで洞察が得られるモジュールとしてまとめることができます。
エッジで利用できる人工知能
Azure IoT Edge を使用すると、複合イベント処理や機械学習、画像認識など、高価な AI を自社開発することなくデプロイすることができます。 Azure Stream Analytics、Azure Machine Learning などの Azure のサービスは、Azure IoT Edge を介してオンプレミスで実行することができます。 ただし、Azure サービスには限りません。 誰でも自分専用の AI モジュールを作成できます。
Bring Your Own Code
デバイスに独自のコードをデプロイする場合にも Azure IoT Edge が役立ちます。 Azure IoT Edge には、他の Azure IoT サービスと同じプログラミング モデルが踏襲されています。 同じコードをデバイスでもクラウドでも実行できます。 コーディングの対象プラットフォームを自由に選べるよう、Azure IoT Edge は Linux と Windows の両方に対応しています。 Java、.NET Core 3.1、Node.js、C、Python がサポートされているため、開発者は既に身に付けた言語でコードを記述でき、既存のビジネス ロジックを利用することができます。
IoT Edge ランタイム
Azure IoT Edge ランタイムは、カスタム ロジックやクラウド ロジックを IoT Edge デバイスで実行することを可能にするものです。 ランタイムは、IoT Edge デバイスに常駐して管理操作や通信処理を実行します。 このランタイムによって実行されるいくつかの機能を次に示します。
- デバイスにワークロードをインストールし、更新する。
- デバイス上の Azure IoT Edge のセキュリティ標準を維持する。
- IoT Edge モジュールの実行状態を絶えず確保する。
- モジュールの正常性をクラウドに報告してリモート監視を可能にする。
- ダウンストリームのデバイスと IoT Edge デバイス間、IoT Edge デバイス上のモジュール間、IoT Edge デバイスとクラウド間の通信を管理する。
Azure IoT Edge デバイスをどのように使用するかは開発者しだいです。 そのランタイムは多くの場合、他のオンプレミス デバイスからのデータを集約して処理するゲートウェイ デバイスに対して AI をデプロイする目的で使用されますが、そのデプロイ モデルは選択肢の 1 つにすぎません。
Azure IoT Edge ランタイムは、多数の IoT デバイス上で動作することにより、さまざまな利用形態を実現します。 Linux と Windows の両方のオペレーティング システムに対応し、ハードウェアの細部を抽象化する働きを担います。 大量のデータを処理しているのでなければ、Raspberry Pi 3 より小型のデバイスを使用します。または、産業用サーバーを使用して、リソースを集中的に消費するワークロードを実行します。
IoT Edge クラウド インターフェイス
製造元やモデルが異なっていたり、地理的に分散したりしている数百万台の IoT デバイスのソフトウェア ライフ サイクルを管理するのは困難です。 ワークロードは、特定の種類のデバイスに合わせて作成および構成され、使用するすべてのデバイスにデプロイされ、異常な動作をしているデバイスを検出するために監視されます。 これらのアクティビティは、デバイス単位で行うことはできないので、一定の規模で実施する必要があります。
Azure IoT Edge は、Azure IoT Central とシームレスに連携し、実際のソリューションのニーズに合った一元的なコントロール プレーンを提供します。 ユーザーは Cloud Services を通じて次のことを実行できます。
- 特定の種類のデバイス上で動作するワークロードを作成して構成する。
- まとまったデバイスに対してワークロードを送信する。
- 現場のデバイスで実行されるワークロードを監視する。
次のステップ
初めての IoT Edge モジュールをデバイスにデプロイして、IoT Edge の概念を試してみましょう。