Azure IoT Hub と Azure Event Hubs の比較Comparison of Azure IoT Hub and Azure Event Hubs

デバイスからのテレメトリ データの収集は、IoT Hub の主なユース ケースの 1 つです。One of the main use cases for IoT Hub is to gather telemetry from devices. このため、IoT Hub はしばしば Azure Event Hubs と比較されます。For this reason, IoT Hub is often compared to Azure Event Hubs. IoT Hub のように、Event Hubs は、低遅延の動作と高い信頼性を確保しながら、クラウドに対する膨大なイベントとテレメトリ データの入口として利用できるイベント処理サービスです。Like IoT Hub, Event Hubs is an event processing service that enables event and telemetry ingress to the cloud at massive scale, with low latency and high reliability.

ただし、サービスには異なる点も多数あります。以下の表で、この違いについて詳しく説明します。However, the services have many differences, which are detailed in the following table:

領域Area IoT HubIoT Hub Event HubsEvent Hubs
通信パターンCommunication patterns デバイスからクラウドへの通信 (メッセージング、ファイルのアップロード、および報告されるプロパティ) と クラウドからデバイスへの通信 (ダイレクト メソッド、必要なプロパティ、メッセージング) を有効にします。Enables device-to-cloud communications (messaging, file uploads, and reported properties) and cloud-to-device communications (direct methods, desired properties, messaging). イベント イングレスのみを有効にします (通常はデバイスからクラウドへのシナリオの対象になります)。Only enables event ingress (usually considered for device-to-cloud scenarios).
デバイスの状態情報Device state information デバイス ツインは、デバイスの状態情報を格納および照会できます。Device twins can store and query device state information. デバイスの状態情報を格納することはできません。No device state information can be stored.
デバイスのプロトコルのサポートDevice protocol support MQTT、MQTT over WebSockets、AMQP、AMQP over WebSockets、および HTTPS をサポートします。Supports MQTT, MQTT over WebSockets, AMQP, AMQP over WebSockets, and HTTPS. さらに、IoT Hub は Azure IoT プロトコル ゲートウェイ (カスタム プロトコルをサポートする、カスタマイズ可能なプロトコル ゲートウェイの実装) でも動作します。Additionally, IoT Hub works with the Azure IoT protocol gateway, a customizable protocol gateway implementation to support custom protocols. AMQP、AMQP over WebSockets、および HTTPS をサポートします。Supports AMQP, AMQP over WebSockets, and HTTPS.
セキュリティSecurity デバイスごとの ID と取り消し可能なアクセス制御を提供します。Provides per-device identity and revocable access control. IoT Hub 開発者ガイドの「 セキュリティ」セクションを参照してください。See the [Security section of the IoT Hub developer guide]. Event Hubs 全体の共有アクセス ポリシーを提供します。発行元のポリシーによる取り消しが限定的にサポートされます。Provides Event Hubs-wide shared access policies, with limited revocation support through publisher's policies. IoT ソリューションでは、デバイスごとの資格情報となりすまし対策をサポートするために、カスタム ソリューションの実装が求められることがよくあります。IoT solutions are often required to implement a custom solution to support per-device credentials and anti-spoofing measures.
操作の監視Operations monitoring デバイス ID 管理および接続の豊富なイベント (個々のデバイス認証エラー、スロットル、および不適切な形式の例外など) を、IoT ソリューションでサブスクライブできるようにします。Enables IoT solutions to subscribe to a rich set of device identity management and connectivity events such as individual device authentication errors, throttling, and bad format exceptions. これらのイベントを使用すれば、個々のデバイス レベルで接続の問題をすばやく識別することができます。These events enable you to quickly identify connectivity problems at the individual device level. 集計メトリックのみを公開します。Exposes only aggregate metrics.
スケールScale 同時接続された数百万のデバイスをサポートするように最適化されています。Is optimized to support millions of simultaneously connected devices. Azure Event Hubs のクォータに従って接続を測定します。Meters the connections as per Azure Event Hubs quotas. 一方、Event Hubs を使用すると、送信される各メッセージのパーティションを指定できます。On the other hand, Event Hubs enables you to specify the partition for each message sent.
デバイスの SDKDevice SDKs MQTT、AMQP、および HTTPS API のほかに、さまざまなプラットフォームおよび言語用のデバイス SDK が用意されています。Provides device SDKs for a large variety of platforms and languages, in addition to direct MQTT, AMQP, and HTTPS APIs. AMQP と HTTPS の送信インターフェイスのほかに、.NET、Java、および C でサポートされます。Is supported on .NET, Java, and C, in addition to AMQP and HTTPS send interfaces.
ファイルのアップロードFile upload IoT ソリューションでデバイスからクラウドにファイルをアップロードできるようにします。Enables IoT solutions to upload files from devices to the cloud. ワークフロー統合用のファイル通知エンドポイントと、デバッグ サポート用の操作監視カテゴリが含まれます。Includes a file notification endpoint for workflow integration and an operations monitoring category for debugging support. サポートされていません。Not supported.
複数エンドポイントへのメッセージのルーティングRoute messages to multiple endpoints 最大 10 個のカスタム エンドポイントがサポートされます。Up to 10 custom endpoints are supported. カスタム エンドポイントへのメッセージのルーティングの方法はルールにより決定されます。Rules determine how messages are routed to custom endpoints. 詳細については、「IoT Hub でのメッセージの送受信」を参照してください。For more information, see Send and receive messages with IoT Hub. メッセージ ディスパッチ用のコードを別途作成してホストする必要があります。Requires additional code to be written and hosted for message dispatching.

まとめると、唯一のユース ケースがデバイスからクラウドへのテレメトリ イングレスである場合でも、IoT Hub は IoT デバイス接続用に設計されたサービスを提供します。In summary, even if the only use case is device-to-cloud telemetry ingress, IoT Hub provides a service that is designed for IoT device connectivity. IoT 固有の機能を使用するこれらのシナリオのための価値提案は、引き続き拡張されます。It continues to expand the value propositions for these scenarios with IoT-specific features. Event Hubs は、大規模なイベント イングレス向けに設計されており、データ センター内およびデータ センター間の両方のシナリオに対応できます。Event Hubs is designed for event ingress at a massive scale, both in the context of inter-datacenter and intra-datacenter scenarios.

同じソリューションで IoT Hub と Event Hubs の両方を使用することはよくあります。It is not uncommon to use both IoT Hub and Event Hubs in the same solution. IoT Hub がデバイスからクラウドへの通信を処理し、Event Hubs が後半のリアルタイム処理エンジンへのイベント イングレスを処理します。IoT Hub handles the device-to-cloud communication, and Event Hubs handles later-stage event ingress into real-time processing engines.

次のステップNext steps

IoT Hub のデプロイの計画に関する詳細については、HA と DR のスケーリングに関するページをご覧ください。To learn more about planning your IoT Hub deployment, see Scaling, HA, and DR.

IoT Hub の機能を詳しく調べるには、次のリンクを使用してください。To further explore the capabilities of IoT Hub, see: