IoT デバイスを Azure に接続する: IoT Hub と Event Hubs

Azure では、データとクラウドの機能をつなぐ助けとなるように、さまざまな種類の接続と通信のために開発されたサービスを提供しています。 Azure IoT Hub と Azure Event Hubs はどちらも、大量のデータを取り込み、そのデータを処理または格納してビジネス上の分析情報を得ることができるクラウド サービスです。 2 つのサービスは、どちらも少ない待ち時間と高い信頼性でデータの取り込みをサポートするという点で類似していますが、異なる目的のために設計されています。 IoT Hub が、IoT デバイスを Azure クラウドに接続するという固有の要件に対応するために開発されたのに対して、Event Hubs は、ビッグ データのストリーミング用に設計されました。 マイクロソフトでは、Azure IoT Hub を使用して IoT デバイスを Azure に接続することをお勧めしています。

Azure IoT Hub は、IoT デバイスを接続してデータを収集し、ビジネスの分析情報と自動化を推進するためのクラウド ゲートウェイです。 さらに、IoT Hub には、デバイスとバックエンド システム間のリレーションシップを強化する機能が含まれています。 双方向通信機能は、デバイスからデータを受信している間でも、デバイスにコマンドとポリシーを返送できることを意味します。 たとえば、cloud-to-device メッセージングを使用して、プロパティを更新したりデバイス管理操作を起動したりします。 cloud-to-device 通信では、Azure IoT Edge を使ってクラウド インテリジェンスをエッジ デバイスに送信することも可能です。 IoT Hub によって提供されるデバイス レベルの一意の ID は、潜在的な攻撃からの IoT ソリューションのセキュリティ保護を強化する助けになります。

Azure Event Hubs は、Azure のビッグ データ ストリーミング サービスです。 これは、ユーザーが 1 日あたり何十億もの要求を送信する可能性がある高スループットのデータ ストリーミング シナリオに向けて設計されており、パーティション分割されたコンシューマー モデルを使用してストリームをスケールアウトします。 Event Hubs は、ビッグ データと、Databricks、Stream Analytics、ADLS、HDInsight を含む Azure の分析サービスに統合されます。 Event Hubs Capture や自動インフレのような機能を備えたこのサービスは、ビッグ データのアプリとソリューションをサポートするために設計されています。 さらに、IoT Hub ではテレメトリ フロー パスのために Event Hubs を利用するので、IoT ソリューションでも、Event Hubs の強力な処理機能のメリットを享受できます。

要約すると、どちらのソリューションも大量のデータ インジェストに対応する設計になっています。 IoT Hub のみが、IoT デバイスを Azure クラウドに接続するというビジネス価値を最大化するように設計された、IoT 固有の豊富な機能を備えています。 IoT への取り組みを開始したばかりの場合は、データ インジェストのシナリオをサポートするために IoT Hub から着手することで、ビジネス面や技術面のニーズによって必要になり次第、確実に、多彩な IoT 機能をすばやく利用できるようになります。

次の表では、IoT 機能を評価するときのために、IoT Hub の 2 つの階層と Event Hubs の詳細な比較を示します。 IoT Hub の Standard レベルと Basic レベルについて詳しくは、「ソリューションに適した IoT Hub のレベルを選択する」をご覧ください。

IoT の機能 IoT Hub Standard レベル IoT Hub Basic レベル Event Hubs
デバイスからクラウドへのメッセージ ○ ○ ○
プロトコル: HTTPS、AMQP、AMQP over WebSockets ○ ○ ○
プロトコル: MQTT、MQTT over WebSockets ○ ○
デバイスごとの ID ○ ○
複数デバイスからのファイルのアップロード ○ ○
デバイス プロビジョニング サービス ○ ○
クラウドからデバイスへのメッセージ ○
デバイス ツインとデバイス管理 ○
デバイス ストリーム (プレビュー) ○
IoT Edge ○

唯一のユース ケースがデバイスからクラウドへのデータ インジェストである場合でも、IoT Hub は IoT デバイス接続用に設計されたサービスを提供するので、IoT Hub を使うことを強くお勧めします。