ソリューションに適した IoT Hub のレベルとサイズを選択する
すべての IoT ソリューションは異なるので、Azure IoT Hub には価格とスケールに基づいて複数のオプションが用意されています。 この記事は、IoT Hub のニーズを評価するときに役立ちます。 IoT Hub の各レベルの価格については、「Azure IoT Hub の価格」をご覧ください。
ソリューションに適した IoT Hub のレベルを決定するには、次の 2 つの質問に答えてください。
どのような機能を使う予定か?
Azure IoT Hub には Basic と Standard の 2 つのレベルがあり、サポートする機能が異なります。 IoT ソリューションが主にデバイスからデータを収集して集中的に分析するものである場合は、おそらく Basic レベルが適しています。 さらに高度な構成を使って、IoT デバイスをリモート制御したり、ワークロードの一部をデバイス自体に分散させたりしたい場合は、Standard レベルを検討する必要があります。
各レベルに含まれる機能について詳しくは、後の「Basic レベルと Standard レベル」をご覧ください。
移動するデータの 1 日当たりの量はどれくらいか?
各 IoT Hub レベルは、1 日に処理できるデータ スループットの量に基づいて、3 つのサイズで利用できます。 これらのサイズは、1、2、3 という数字で示されます。 サイズによってベースラインの 1 日あたりのメッセージの制限が決まります。その後、ユニットを追加して IoT ハブをスケールアウトできます。 たとえば、レベル 1 の IoT ハブの各ユニットは、1 日に 400,000 件のメッセージを処理できます。 5 ユニットのレベル 1 IoT ハブでは、1 日に 2,000,000 メッセージを処理できます。 または、各ユニットに 1 日に 6,000,000 メッセージの制限があるレベル 2 のハブに移動します。
メッセージの要件と制限の決定の詳細については、「レベルのエディションとユニット」に続行してください。
機能を選択する: Basic レベルと Standard レベル
Basic レベルの IoT Hub では利用可能な機能のサブセットが有効になり、デバイスからクラウドへの単方向通信だけが必要な IoT ソリューション用です。 IoT Hub の Standard レベルではすべての機能が有効になり、双方向通信機能を利用する IoT ソリューション向けです。 Basic レベルでは機能のサブセットが有効になり、デバイスからクラウドへの単方向通信だけが必要な IoT ソリューションを対象にしています。
提供されるセキュリティ機能と認証機能は、どちらのレベルも同じです。
機能 | Basic レベル | Standard レベル |
---|---|---|
device-to-cloud テレメトリ | はい | はい |
デバイスごとの ID | はい | はい |
メッセージ ルーティング、メッセージ エンリッチメント、Event Grid の統合 | はい | はい |
HTTP、AMQP、MQTT プロトコル | はい | はい |
Device Provisioning Service | はい | はい |
監視と診断 | はい | はい |
cloud-to-device メッセージング | はい | |
デバイス ツイン、モジュール ツイン、およびデバイス管理 | はい | |
デバイス ストリーム (プレビュー) | はい | |
Azure IoT Edge | はい | |
IoT プラグ アンド プレイ | はい |
IoT Hub では、テストおよび評価のための Free レベルも提供されています。 Free レベルは、機能的には Standard レベルと同じですが、メッセージングの許容量が限られます。 Free レベルから Basic レベルまたは Standard レベルにアップグレードすることはできません。
IoT Hub の REST API
IoT Hub の Basic レベルと Standard レベルでサポートされる機能が違うことは、一部の API 呼び出しが Basic レベルの IoT ハブでは動作しないことを意味します。 次の表では、利用できる API を示します。
API | Basic レベル | Standard レベル |
---|---|---|
デバイスの作成または更新、デバイスの取得、デバイスの削除 | はい | はい |
モジュールの作成または更新、モジュールの取得、モジュールの削除 | はい | はい |
レジストリの統計情報の取得 | はい | はい |
サービスの統計情報の取得 | はい | はい |
IoT Hub にクエリを実行する | はい | はい |
ファイル アップロード SAS URI の作成 | はい | はい |
デバイス バインド通知の受け取り | はい | はい |
デバイス イベントの送信 | はい | はい |
モジュール イベントの送信 | AMQP と MQTT のみ | AMQP と MQTT のみ |
ファイル アップロード ステータスの更新 | はい | はい |
デバイスの一括操作 | はい (IoT Edge 機能を除く) | はい |
インポート エクスポート ジョブの作成、インポート エクスポート ジョブの取得、インポート エクスポート ジョブの取り消し | はい | はい |
デバイス ツインの取得、デバイス ツインの更新 | はい | |
モジュール ツインの更新、モジュール ツインの更新 | はい | |
デバイス メソッドの呼び出し | はい | |
デバイス バインド通知の破棄 | はい | |
デバイス バインド通知の完了 | はい | |
ジョブの作成、ジョブの取得、ジョブの取り消し | はい | |
ジョブのクエリ | はい |
メジャー グループ
Azure IoT Hub には、パーティションを含む Azure Event Hubs の多数のコア コンポーネントが含まれています。 IoT ハブのイベント ストリームには、さまざまな IoT デバイスによって報告される受信テレメトリ データが入力されます。 イベント ストリームに対する読み取りと書き込みが同時に行われるときに発生する競合を削減するために、イベント ストリームのパーティション分割が使用されます。
パーティション数の制限は IoT ハブの作成時に選択され、変更することはできません。 Basic レベルの IoT ハブと Standard レベルの IoT ハブの device-to-cloud パーティションの上限は 32 です。 ほとんどの IoT ハブでは、4 つのパーティションのみが必要となります。 パーティション数を決定する方法の詳細については、Azure Event Hubs の FAQ にある「パーティションはいくつ必要ですか?」を参照してください。
レベルのアップグレード
IoT ハブの作成後に、既存の操作を中断することなく、Basic レベルから Standard レベルにアップグレードできます。 Standard レベルから Basic レベルへのダウングレードはできません。 詳しくは、「IoT Hub のアップグレード方法」をご覧ください。
Basic レベルから Standard レベルに移行しても、パーティション構成は変わりません。
Note
Free レベルでは、Basic または Standard レベルへのアップグレードはサポートされません。
サイズを選択する: エディションとユニット
ソリューションに最適な機能を提供するレベルを選択したら、ソリューションに最適なデータ容量を提供するサイズを決定します。
各 IoT Hub レベルは、1 日に処理できるデータ スループットの量に基づいて、3 つのサイズで利用できます。 これらのサイズは、1、2、3 という数字で示されます。
階層サイズのペアは、エディションとして表されます。 サイズ 2 の Basic レベル IoT ハブは、エディション B2 になります。 同様に、サイズ 3 の Standard レベル IoT ハブは、エディション S3 になります。 価格を含む詳細については、IoT Hub のエディションに関するページをご覧ください
IoT ハブのエディションを選択したら、ユニットの数を増やすことで、そのメッセージング容量を複数にできます。
各 IoT ハブに使用できるエディションは 1 つだけです。 たとえば、S1 の複数のユニットを含む IoT ハブを作成できます。 たとえば、S1 と B3 または S1 と S2 など、異なるエディションのユニットが混在する IoT Hub を作成することはできません。
次の表に、各サイズにおけるデバイスからクラウドへのメッセージの容量を示します。
サイズ | ユニットごとの 1 日あたりのメッセージ数 | ユニットごとの 1 日あたりのデータ数 |
---|---|---|
1 | 400,000 | 1.5 GB |
2 | 6,000,000 | 22.8 GB |
3 | 300,000,000 | 1144.4 GB |
サイズ 1 または 2 の IoT ハブの場合は最大 200 ユニット、サイズ 3 の IoT ハブの場合は最大 10 ユニットを購入できます。 1 日あたりのメッセージの制限と調整の制限は、すべてのユニットの合計容量に基づいています。 たとえば、サイズ 2 を 1 ユニット購入すると、サイズ 1 の 15 ユニットと同じ 1 日あたりのメッセージ制限が適用されます。
各 IoT Hub エディションの容量と制限の詳細については、「IoT Hub のクォータと調整」を参照してください。
エディションをアップグレードまたはダウングレードする
IoT ハブを作成した後、既存の操作を中断することなく、次のことを行えます。
- エディション内で使用可能なユニット数の変更 (たとえば、B1 のユニット数を 1 から 3 にアップグレードするなど)
- レベル内のエディション間でのアップグレードまたはダウングレード (B1 から B2 へのアップグレードなど)
詳しくは、「IoT Hub のアップグレード方法」をご覧ください。
自動スケール
お使いの IoT ハブで許可されているメッセージの上限に到達しそうな場合、自動的にスケーリングするための手順を使用して、同じ IoT Hub レベル内で IoT Hub ユニットを増やすことができます。
次のステップ
IoT Hub の機能とパフォーマンスの詳細については、「IoT Hub の価格」または「IoT Hub のクォータと調整」を参照してください。
IoT Hub のレベルを変更する方法については、「IoT Hub のアップグレード方法」をご覧ください。