IoT Hub とは
Azure IoT Hub により、IoT ソリューションとそれが管理するデバイスとの間で、安全性と信頼性の高い通信が可能になります。 IoT Hub により、デバイスごとの認証、デバイス管理、スケーリングされたプロビジョニングによって、デバイスを接続するためのクラウドでホストされたソリューション バックエンドが提供されます。
まず、いくつかの定義のクイック ツアーを行います。これは、ご自分のビジネス上の問題に対する IoT Hub の適合性を調べるのに役立ちます。
テレメトリ:テレメトリは、IoT デバイスによって受信された値を記録および送信するプロセスです。 テレメトリは、IoT ソリューションの重要な機能です。
プロビジョニング: デバイスをクラウドにプロビジョニングする操作により、クラウドに対してデバイスが一意に識別されます。 また、プロビジョニングによって、デバイスのセキュリティ プロトコルとそのアクセス権と特権が確立されます。
ルート指定: メッセージ ルーティングを使用すると、自動化された、スケーラブルで信頼性の高い方法で、ご使用のデバイスからクラウド サービスにメッセージを送信できます。 デバイス テレメトリ メッセージまたはイベント (デバイスのライフサイクル イベントなど) を送信できます。
スケーリング: クラウド ソリューションでは、スケーリングには、ソリューションのスコープを増減する必要があります。 ソリューションをスケールアップまたはスケールダウンする機能により、開発者はさまざまな種類のソリューションを柔軟にデプロイできます。
サービスの可用性: サービスの可用性では、クラウド サービスの運用パフォーマンスの合意したレベル (通常はアップタイム) を保証することを目標としています。 サービスの可用性は、サービス レベル アグリーメント (SLA) によって定義されます。
IoT ハブを利用すると、次のことができます。
通信をセキュリティで保護する:IoT Hub を使用すると、複数の認証の種類を使用して、デバイスごとの認証を提供するデータを送信するために、デバイスの通信をセキュリティで保護することができます。
ソリューションをスケーリングするIoT Hub を使用すると、IoT ワークロードをサポートするために、同時接続された数百万台のデバイスと、毎秒数百万台のイベントをスケーリングすることができます。 ソリューションのスケーリング方法を決定する場合には、使用する予定の機能と、毎日移動する予定のデータ量という 2 つの考慮事項があります。
Azure IoT Hub では、Basic レベルと Standard レベルの 2 つのレベルが提供されています。 フル機能の双方向通信機能を開発するには、Standard レベルを使用する必要があります。 Basic レベルでは機能のサブセットが提供されており、デバイスからクラウドへの単方向通信しか必要としないソリューションを対象にしています。 提供されるセキュリティ機能と認証機能は、Basic と Standard のどちらのレベルでも同じです。
データ スループットは、ソリューションをスケールする方法を決定する場合の 2 番目の考慮事項です。 IoT Hub の各レベルは、1、2、3 の数値で識別される 3 つのサイズで使用できます。 レベル 1 の IoT Hub の各ユニットは 1 日に 40 万件のメッセージを処理できるのに対し、レベル 3 のユニットは 3 億件を処理できます。
デバイスデータをルーティングする:IoT Hub を使用すると、自動化されたルールに基づいてメッセージを送信し、データ トラフィックを最適化できます。
デバイスにコマンドを送信する:IoT Hub では、cloud-to-device メッセージを送信することもできます。 cloud-to-device メッセージを使用すると、接続されているデバイスにコマンドと通知を送信できます。
IoT ソリューションの正常性を監視する:IoT Hub を使用すると、デバイスの作成、デバイスの通信エラー、デバイスの接続などのイベントを追跡できます。
他のサービスと統合する:IoT Hub を他の Azure サービスとシームレスに統合して、エンドツーエンドのソリューションを構築できます。 たとえば、IoT Hub を Azure Logic Apps と Event Grid と組み合わせて、ビジネス プロセスを自動化できます。
デバイスの管理と構成を行う:IoT Hub を使用すると、接続されているデバイスを大規模に管理できます。 デバイスの状態を設定および照会し、デバイスの状態の変化に自動的に応答することができます。
高可用性で回復性があるソリューションを作成する:指定されたサービス レベル アグリーメントのとおりに高可用性で、組み込みのフェールオーバー機能を利用するソリューションを作成します。
ほとんどすべてのデバイスを接続する:Azure IoT オープンソースのデバイス SDK を使用すると、接続されているデバイス上で実行され、IoT Hub とやりとりするソリューションを構築できます。 MQTT、HTTPS 1.1、AMQP などのプロトコルを使用して、デバイスを IoT Hub にネイティブに接続することもできます。