Azure モノのインターネット (IoT) は、大規模な IoT 資産の接続、監視、制御を可能にする、Microsoft によって管理される一連のクラウド サービス、エッジ コンポーネント、SDK です。 よりシンプルに言えば、IoT ソリューションは、クラウド サービスと通信する IoT デバイスから成ります。
IoT ソリューションを設計する際の重要な決定事項は、クラウドベースのソリューションとエッジ ベースのソリューションのどちらを使用するかです。
- クラウドベースのソリューションでは、IoT デバイスは、メッセージが処理および分析されるクラウドに直接接続します。 クラウドから直接デバイスを監視および制御します。
- エッジベースのソリューションでは、IoT デバイスは、メッセージを処理するエッジ環境に接続してから、ストレージと分析のためにクラウドに転送します。 通常は、エッジ ランタイム環境を介して、クラウドからデバイスを監視および制御します。 また、デバイスをエッジから直接監視および制御することもできます。
次のセクションでは、一般的なクラウドベースおよびエッジベースの IoT ソリューションのコンポーネントの概要を示します。 この記事では、デバイス、IoT クラウド サービス、その他のクラウド サービス、エッジ ランタイム環境、その他のソリューション全体の懸念事項など、コンポーネントの主要なグループに重点を置いて説明します。 このセクションのその他の記事では、これらの各コンポーネントについて詳しく説明します。
クラウド ベース ソリューション
クラウド ベースのソリューションは、ビジネス ニーズに対応し、デバイスをクラウドに直接接続する、IoT デバイス、コンポーネント、サービスの統合されたセットです。 クラウドベースのソリューションの例として、分析と視覚化のためにセンサー データをクラウドに送信する配送トラックが含まれます。
クラウドベースのソリューションの構築には、IoT Hub、デバイス プロビジョニング サービス、Azure Digital Twins などのサービスを使用できます。
エッジ ベースのソリューション
エッジ ベースのソリューションは、ビジネス ニーズを満たし、デバイスを近くのエッジ サービスに接続する、IoT デバイス、コンポーネント、およびサービスの統合されたセットです。 エッジ ベースのソリューションの例として、産業用 IoT デバイスがオンプレミス サービスに接続する工場があります。次に示します。
- デバイスは、OPC UA などのローカル ネットワーク プロトコルを使用して通信します。
- セキュリティ上の問題は、デバイスをパブリック インターネットに直接接続してはならないことを意味します。
エッジベースのソリューションでは、分析や視覚化などのさらに処理を行うために、デバイスからクラウドにデータを転送できます。
エッジ ベースのソリューションの構築には、Azure IoT Operations または Azure IoT Edge を使用できます。 Azure IoT Operations は、クラウドとエッジのコンポーネントを統合するための Microsoft の適応型クラウド アプローチに従った新しいオファリングです。
デバイスと接続
クラウドベースとエッジベースの両方のソリューションには、ビジネス分析情報を導き出すデータを収集するデバイスがあります。 次のセクションでは、IoT ソリューション内のデバイスと、それらがクラウドに接続する方法について説明します。
IoT デバイス カテゴリ
IoT デバイスを次のように分類すると便利です。
クラウド接続デバイス (カテゴリ 1): クラウドに直接接続するデバイス。 このカテゴリには、HTTP、MQTT、AMQP などの標準プロトコルを使用して IoT Hub などのクラウド サービスに接続するデバイスが含まれます。 これらのデバイスは、Azure IoT Operations などのエッジ ベースのソリューションには関係ありません。
エッジ接続デバイス (カテゴリ 2):エッジベースのプロキシまたはゲートウェイを介してクラウドに接続するデバイス。 このカテゴリの例には、次のようなデバイスが含まれます。
- Azure IoT Operations の MQTT ブローカーを使用して、クラウドに間接的に接続します。
- IoT Edge ゲートウェイを介して IoT Hub に間接的に接続します。
プロトコル固有のデバイス (カテゴリ 3):これらのデバイスは、デバイスが特定のプロトコルを使用できるようにするコネクタを介してエッジ ベースのランタイムに接続します。 たとえば、OPC UA サーバーとその接続されているデバイスは、OPC UA のコネクタを介して接続します。 これらのデバイスは、Azure IoT Hub などのクラウド ベースのソリューションには関係ありません。
次の図は、クラウドベースのソリューションのデバイス カテゴリとクラウド サービスの関係を示しています。
次の図は、デバイス カテゴリとエッジ ベースソリューションのエッジ ランタイムの関係を示しています。
わかりやすくするために、前の図では、クラウドまたはエッジのランタイムへのデータ フローのみが示されています。 多くのソリューションでは、クラウドまたはエッジ ランタイムがデバイスにコマンドを送信するコマンドと制御のシナリオが可能になります。 たとえば、クラウド サービスは、拡大するために ONVIF 準拠のカメラにコマンドを送信する場合があります。
IoT デバイス
カテゴリ 1 とカテゴリ 2 の IoT デバイスは、通常、データを収集するセンサーを備えた回路基板で構成されます。 カテゴリ 1 の IoT デバイスはインターネットに直接接続し、カテゴリ 2 のデバイスはクラウドへの接続のためにローカル ゲートウェイに依存します。 カテゴリ 1 と 2 の IoT デバイスの例を次に示します。
- リモート オイル ポンプの圧力センサー。
- 空調設備の温度センサーと湿度センサー。
- エレベーターの加速度計。
- 室内のプレゼンス センサー。
カテゴリ 3 のデバイスは、監視および制御する環境内の物理デバイスです。 これらのデバイスは、次の場合があります。
- ONVIF などの標準プロトコルを実装する製造元が提供する組み込みのファームウェアがある。
- OPC UA などの産業用プロトコルを実装する、資産がアタッチされたサーバーである。
カテゴリ 3 のデバイスの例を次に示します。
- ロボット アームとコンベヤ ベルト。
- 産業用 CNC 機械、旋盤、のこぎり、ドリル。
- 医療診断用イメージング マシン。
- セキュリティ ビデオ カメラ。
- プログラマブル ロジック コントローラー。
各種メーカーから提供されているさまざまなデバイスを使用して、ソリューションを構築することができます。 マイクロプロセッサ デバイスのプロトタイプの作成には、Raspberry Pi などのデバイスを使用できます。 Raspberry Pi では、さまざまな種類のセンサーを取り付けることができます。 マイクロコントローラー デバイスのプロトタイプを作成するには、ESPRESSIF ESP32、または IoT Hub への STMicroelectronics B-L475E-IOT01A 検出キットなどのデバイスを使用します。 これらのボードには、通常、温度センサーや加速度計センサーなどのセンサーが組み込まれています。
Microsoft では、オープンソースの Device SDK を提供しており、それらの SDK を使用して、お手持ちのデバイスで動作するアプリを作成することが可能です。
IoT ソリューション内のデバイスの詳細については、「IoT デバイス開発」を参照してください。
デバイスの接続性
通常、IoT デバイスは、ソリューション内のクラウド サービスに対し、接続されているセンサーのデータを送信します。 ただし、対応している通信の種類はそれだけではなく、たとえば、クラウド サービスからデバイスにコマンドを送信することもできます。 次に、デバイスからクラウドへの通信とクラウドからデバイスへの通信の例をいくつか示します。
- 移動式冷凍トラックから IoT ハブに 5 分おきに温度を送信する。
- クラウド サービスからデバイスにコマンドを送信して、問題の診断に使用されるセンサー データの送信頻度を変更する。
IoT Device SDK と IoT Hub は、デバイスからクラウドおよびクラウドからデバイスへの通信用に、HTTP、MQTT、AMQP などの一般的な通信プロトコルをサポートします。 一部のシナリオでは、IoT デバイスをクラウド サービスに接続するためのゲートウェイが必要になる場合があります。
IoT デバイスには、ブラウザーやモバイル アプリなどの他のクライアントとは異なる特性があります。 具体的には、IoT デバイスの特性は次のとおりです。
- 多くの場合、人間が操作することのない組み込みシステムです。
- 物理アクセスに大きなコストがかかる離れた場所にデプロイされている場合があります。
- クラウド サービスを介してのみ到達できる場合があります。
- 電力と処理のリソースが限られている場合があります。
- ネットワーク接続が断続的に切れたり、遅かったり、高コストである場合があります。
- 専用、カスタム、または業界固有のアプリケーション プロトコルを使用する必要がある場合があります。
デバイス SDK は、デバイスを安全に、かつ高い信頼性でクラウド サービスに接続するという課題の解決を支援します。
デバイスの接続とゲートウェイの詳細については、「IoT デバイスの接続とインフラストラクチャ」をご覧ください。
エッジ ベースのソリューションでの接続
エッジベースのソリューションでは、IoT デバイスは、メッセージを処理するエッジ環境に接続してから、ストレージと分析のためにクラウドに転送します。 デバイスでは、次のようなネットワーク通信プロトコルと標準が使用される場合があります。
前に示したエッジ ベースのソリューション図では、南向きコネクタは、デバイスがエッジ環境への接続に使用するプロトコルと標準を表しています。
デバイスから送信されたメッセージの処理の詳細については、「IoT ソリューションでのメッセージ処理」をご覧ください。
デバイスの比較
次の表は、デバイスと接続の現在のオプションをまとめたものです。
| 現在のオファリング (GA) | クラウド ベース ソリューション | エッジ ベースのソリューション |
|---|---|---|
| 接続されているオブジェクトの種類 | カテゴリ 1 および 2 の IoT デバイス | カテゴリ 2 および 3 の IoT デバイス |
| デバイス接続プロトコル | HTTP、AMQP、MQTT v3.1.1 | Azure IoT Edge では、HTTP、AMQP、MQTT v3.1.1、MQTT v5 が有効になります。 Azure IoT Operations では、カテゴリ 2 のデバイスに対して MQTT v3.1.1 と MQTT v5 が有効になり、コネクタでは OPC UA、ONVIF、SQL、REST などの他のプロトコルがカテゴリ 3 デバイスに対して有効になります。 カスタム コネクタが可能です。 |
| デバイスの実装 | Microsoft Azure IoT デバイス SDK と 埋め込みデバイス SDK | カテゴリ 2 のデバイスは、任意の MQTT ライブラリを使用して MQTT ブローカーに接続できます。 カテゴリ 3 のデバイスには、通常、標準ファームウェアが付属しています。 |
| デバイス管理 | IoT DPS、 Device Update、 IoT Central、Azure Device Registry (プレビュー) | Azure IoT Operations では、Azure デバイス レジストリを使用します。 ネイティブ プロトコルを使用して自動デバイス検出を有効にするには、Akri を使用します。 IoT Edge では、大規模なデバイス管理に IoT DPS を使用します。 |
サービスおよびアプリケーション
クラウドベースのソリューションでは、IoT 固有のクラウド サービスによって、デバイスの接続、監視、制御を行うインフラストラクチャが提供されます。 エッジ ベースのソリューションでは、エッジ ランタイム環境は、デバイスの接続、監視、制御を行うサービスをホストします。 その他のクラウド サービスでは、ストレージ、分析、視覚化などの汎用サービスをソリューションに提供できます。
IoT クラウド サービス
クラウドベースの IoT ソリューションでは、通常、IoT クラウド サービスは次のようになります。
- デバイスから大量のセンサー データを受信し、そのデータを処理および格納する方法を決定する。
- クラウドから特定のデバイスにコマンドを送信する。
- デバイスをプロビジョニングし、自社のインフラストラクチャに接続できるデバイスを制御する。
- デバイスの状態を制御し、そのアクティビティを監視する。
- デバイスにインストールされたファームウェアを管理する。
たとえば、石油ポンプ場のリモート監視ソリューションであれば、ポンプからのセンサー データをサービスで使用し、異常な動作を把握します。 異常を把握したクラウド サービスは、デバイスに対して自動的にコマンドを送信して是正措置を講じることができます。 このプロセスにより、デバイスとクラウドの間に自動フィードバック ループが実施され、ソリューションの効率性が大幅に向上します。
デバイスの管理と制御に関する主要な概念の詳細については、「IoT デバイスの管理と制御」をご覧ください。
Edge ランタイム
エッジ ベースの IoT ソリューションでは、通常、エッジ ランタイム環境でホストされるオンプレミス サービスは次のようになります。
- 南向きコネクタを使用してデバイスへの接続を管理する
- デバイスから大規模なデータを受信し、さらに処理するためにメッセージをルーティングする場所を決定します。
- クラウドから特定のデバイスにコマンドを転送する。
- ローカル メッセージ処理を実行する。 Azure IoT Operations では、この処理は上りコネクタで行われます
その他のクラウド サービス
クラウドベースとエッジベースの両方のソリューションでは、他のクラウド サービスを使用することでより多くの機能をソリューションに提供できます。 たとえば、次のものを使用できます。
- 収集されたデータを格納する Azure Storage サービス。
- センサー データをリアルタイムで処理する Azure Stream Analytics。
- デバイス イベントに応答する Azure Functions。
- ビジネス プロセスを自動化する Azure Logic Apps。
- 機械学習と AI モデルをソリューションに追加する Azure Machine Learning。
- センサー データを格納および分析する Microsoft Fabric。
- センサー データを視覚化する Microsoft Power BI。
詳細については、次を参照してください。
IoT サービスの比較
次の表は、現在のサービスとエッジ アプリケーションのオプションをまとめたものです。
| 現在のオファリング (GA) | クラウド ベース ソリューション | エッジ ベースのソリューション |
|---|---|---|
| サービス | IoT Hub、 IoT DPS、 IoT Hub Device Update、 Azure Digital Twins、Azure Device Registry (プレビュー) |
Azure デバイス レジストリを使用する Azure IoT Operations。 IoT Edge を使用することもできます。 |
| エッジ アプリケーションのオプション | なし |
Azure IoT Operations では、DAPR (分散アプリケーション ランタイム アプリ) を使用できます。 IoT Edge では、IoT Edge モジュールを使用できます。 |
デプロイの比較
次の表は、現在のデプロイ オプションをまとめたものです。
| 現在のオファリング (GA) | クラウド ベース ソリューション | エッジ ベースのソリューション |
|---|---|---|
| トポロジ | デバイスは、IoT Hub などのクラウド メッセージング サービスに直接接続します。 Azure Resource Manager (ARM) または IoT Hub サービス SDK を使用してクラウドで管理されます。 |
Azure IoT Operations は、デバイスをオンプレミスの Kubernetes クラスターに接続する方法を提供します。 デバイスは、標準のネットワーク プロトコルを介して直接、または中間デバイスを介して、Azure IoT Operations MQTT ブローカーに接続します。 Azure Arc 対応サービスを使用してクラウドで管理されます。 IoT Edge を使用することもできます。 IoT Edge は、デバイスに重点を置いたランタイムであり、コンテナー化された Linux ワークロードをエッジでデプロイ、実行、監視し、分析をデバイスに近づけて、分析情報を迅速に把握し、オフラインで意思決定できるようにします。 IoT Edge は IoT Hub の機能です。 |
| インフラストラクチャ | IoT Hub、CPU/MPU を含む標準コンピューティング デバイス、MCU を含む制約付きおよび埋め込みデバイスなどのクラウド サービス。 | Kubernetes クラスター上で実行される Azure IoT Operations と、クラスターに接続するデバイス。 また、Raspberry Pi や産業用 PC などのゲートウェイ デバイスで実行される IoT Edge、およびゲートウェイ デバイスに接続するデバイスを使用することもできます。 Azure IoT Operations または IoT Edge に接続するデバイスには、CPU/MPU を含む標準コンピューティング デバイス、または MCU を含む制約付きおよび埋め込みデバイスを含めることができます。 |
ソリューション全体の懸念事項
すべての IoT ソリューションは、次のソリューション全体の懸念事項に対処する必要があります。
- ソリューション管理 (デプロイと監視を含む)。
- セキュリティ (物理的なセキュリティ、認証、承認、暗号化を含む)。
- ソリューション内のすべてのコンポーネントの拡張性、高可用性とディザスター リカバリー
ソリューション管理
アダプティブ クラウド アプローチは、サイロ化されたチーム、分散サイト、異種システムを、単一の運用、セキュリティ、アプリケーション、データ モデルに統合します。 このアプローチを使用すると、エッジベース、クラウドベース、およびハイブリッド IoT ソリューションを、同じクラウドと AI テクノロジを使用して管理および監視できます。
IoT Hub、IoT Central、IoT Edge に基づくソリューションでは、適応型クラウド アプローチに対する限定的なサポートが提供されます。 IoT Hub、IoT Central、IoT Edge インスタンス自体は Azure リソースですが、デバイス管理やデータ変換などの機能を、標準の Azure リソースとして管理できるリソースとしてネイティブに公開することはありません。
これに対し、Azure IoT Operations に基づくソリューションは、ソリューション内のすべてのコンポーネントに統合された管理エクスペリエンスを提供します。 Azure IoT Operations では、Azure Arc 対応サービスを使用して、クラウドベースのソリューションであるかのようにエッジ ベースのソリューションを管理および監視します。 たとえば、エッジで実行されているデバイスとデータ変換は、Azure のクラウド リソースとして公開されます。 このアプローチでは、標準の Azure テクノロジを使用して、エッジ ベースのソリューション全体を管理および監視できます。
セキュリティの比較
次の表は、現在のセキュリティ オプションをまとめたものです。
| 現在のオファリング (GA) | クラウド ベース ソリューション | エッジ ベースのソリューション |
|---|---|---|
| Authentication | Shared Access Signatures (SAS)、X.509 |
Azure IoT Operations では、 ユーザー割り当てマネージド ID とシステム割り当てマネージド ID、サービス アカウント トークン (SAT)、SAS、X.509 をクラスター上認証に使用します。 IoT Edge では、証明書ベースの認証が使用されます。 |
| 承認 | IoT Hub などの現在のサービス オファリング内専用 |
Azure IoT Operations では、ロールベースのアクセス制御 (RBAC) に Microsoft Entra ID ID が使用されます。 IoT Edge では、IoT Hub と通信する独自の承認スキームが使用されますが承認はローカルで処理されます。 |
次のステップ
Azure IoT をさらに探索するために推奨される次のステップは以下のとおりです。
Azure IoT アーキテクチャの詳細については、次を参照してください。