参照 - IoT Hub のクォータと調整Reference - IoT Hub quotas and throttling

この記事では、IoT Hub のクォータについて説明し、調整がどのように機能するかを理解するのに役立つ情報を提供します。This article explains the quotas for an IoT Hub, and provides information to help you understand how throttling works.

クォータと調整Quotas and throttling

各 Azure サブスクリプションに最大 50 個の IoT Hub と最大 1 個の Free ハブを割り当てることができます。Each Azure subscription can have at most 50 IoT hubs, and at most 1 Free hub.

各 IoT Hub は、特定のレベルのユニット数でプロビジョニングされます。Each IoT hub is provisioned with a certain number of units in a specific tier. レベルとユニット数により、送信できるメッセージの1 日あたりの最大クォータが決定されます。The tier and number of units determine the maximum daily quota of messages that you can send. 1 日あたりのクォータを計算するために使用されるメッセージ サイズは、無料レベルのハブでは 0.5 KB、他のすべてのレベルでは 4 KB です。The message size used to calculate the daily quota is 0.5 KB for a free tier hub and 4KB for all other tiers. 詳細については、「Azure IoT Hub の価格」を参照してください。For more information, see Azure IoT Hub Pricing.

また、レベルでは、IoT Hub がすべての操作に適用するスロットル制限も決まります。The tier also determines the throttling limits that IoT Hub enforces on all operations.

IoT プラグ アンド プレイIoT Plug and Play

パブリック プレビュー中、IoT プラグ アンド プレイ デバイスでは、インターフェイスごとに個別のメッセージが送信されます。これにより、ご利用のメッセージ クォータに対してカウントされるメッセージ数が増加する可能性があります。During public preview, IoT Plug and Play devices will send separate messages per interface, which may increase the number of messages counted towards your message quota.

操作のスロットルOperation throttles

操作のスロットルは、ごく限られた範囲に適用される、不正使用を回避するためのレート制限です。Operation throttles are rate limitations that are applied in minute ranges and are intended to prevent abuse. また、これはトラフィック シェイプの影響も受けます。They're also subject to traffic shaping.

次の表は、適用されるスロットルを示しています。The following table shows the enforced throttles. 値は個々のハブのものです。Values refer to an individual hub.

スロットルThrottle Free、B1、S1Free, B1, and S1 B2、S2B2 and S2 B3、S3B3 and S3
ID レジストリの操作 (作成、取得、一覧表示、更新、削除)Identity registry operations (create, retrieve, list, update, delete) 1.67/sec/unit (100/分/単位)1.67/sec/unit (100/min/unit) 1.67/sec/unit (100/分/単位)1.67/sec/unit (100/min/unit) 83.33/秒/ユニット (5,000/分/ユニット)83.33/sec/unit (5,000/min/unit)
新しいデバイス接続 (この制限は、接続の総数ではなく、_新規接続_のレートに適用されます)New device connections (this limit applies to the rate of new connections, not the total number of connections) 100/秒または 12/秒/ユニット以上Higher of 100/sec or 12/sec/unit
たとえば、2 ユニットの S1 の場合、2 * 12 = 24 新規接続/秒ですが、ユニット全体では少なくとも 100 新規接続/秒です。For example, two S1 units are 2*12 = 24 new connections/sec, but you have at least 100 new connections/sec across your units. 9 ユニットの S1 の場合、ユニット全体で 108 新規接続/秒 (9 * 12) となります。With nine S1 units, you have 108 new connections/sec (9*12) across your units.
120 新規接続/秒/ユニット120 new connections/sec/unit 6,000 新規接続/秒/ユニット6,000 new connections/sec/unit
デバイスからクラウドへの送信Device-to-cloud sends 100 送信操作/秒または 12 送信操作/秒/ユニット以上Higher of 100 send operations/sec or 12 send operations/sec/unit
たとえば、2 ユニットの S1 では 2 * 12 = 24/秒ですが、ユニット全体では少なくとも 100 送信操作/秒となります。For example, two S1 units are 2*12 = 24/sec, but you have at least 100 send operations/sec across your units. 9 ユニットの S1 の場合、ユニット全体で 108 送信操作/秒 (9 * 12) となります。With nine S1 units, you have 108 send operations/sec (9*12) across your units.
120 送信操作/秒/ユニット120 send operations/sec/unit 6,000 送信操作/秒/ユニット6,000 send operations/sec/unit
cloud-to-device の送信1Cloud-to-device sends1 1.67 送信操作/秒/ユニット (100 メッセージ/分/ユニット)1.67 send operations/sec/unit (100 messages/min/unit) 1.67 送信操作/秒/ユニット (100 送信操作/分/ユニット)1.67 send operations/sec/unit (100 send operations/min/unit) 83.33 送信操作/秒/ユニット (5,000 送信操作/分/ユニット)83.33 send operations/sec/unit (5,000 send operations/min/unit)
cloud-to-device の受信1Cloud-to-device receives1
(デバイスが HTTPS を使用する場合のみ)(only when device uses HTTPS)
16.67 受信操作/秒/ユニット (1,000 受信操作/分/ユニット)16.67 receive operations/sec/unit (1,000 receive operations/min/unit) 16.67 受信操作/秒/ユニット (1,000 受信操作/分/ユニット)16.67 receive operations/sec/unit (1,000 receive operations/min/unit) 833.33 受信操作/秒/ユニット (50,000 受信操作/分/ユニット)833.33 receive operations/sec/unit (50,000 receive operations/min/unit)
ファイルのアップロードFile upload 1.67 ファイル アップロード通知/秒/単位 (100/分/単位)1.67 file upload notifications/sec/unit (100/min/unit) 1.67 ファイル アップロード通知/秒/単位 (100/分/単位)1.67 file upload notifications/sec/unit (100/min/unit) 83.33 ファイル アップロード通知/秒/ユニット (5,000/分/ユニット)83.33 file upload notifications/sec/unit (5,000/min/unit)
ダイレクト メソッド1Direct methods1 160 KB/秒/ユニット2160KB/sec/unit2 480 KB/秒/ユニット2480KB/sec/unit2 24 MB/秒/ユニット224MB/sec/unit2
クエリQueries 20/分/ユニット20/min/unit 20/分/ユニット20/min/unit 1,000/分/ユニット1,000/min/unit
ツイン (デバイスとモジュール) の読み取り1Twin (device and module) reads1 100/秒100/sec 100/秒または 10/秒/ユニット以上Higher of 100/sec or 10/sec/unit 500/秒/ユニット500/sec/unit
ツインの更新 (デバイスとモジュール)1Twin updates (device and module)1 50/秒50/sec 50/秒または 5/秒/ユニット以上Higher of 50/sec or 5/sec/unit 250/秒/ユニット250/sec/unit
ジョブの操作1Jobs operations1
(作成、更新、一覧表示、削除)(create, update, list, delete)
1.67/sec/unit (100/分/単位)1.67/sec/unit (100/min/unit) 1.67/sec/unit (100/分/単位)1.67/sec/unit (100/min/unit) 83.33/秒/ユニット (5,000/分/ユニット)83.33/sec/unit (5,000/min/unit)
ジョブ デバイス操作1Jobs device operations1
(ツインの更新、ダイレクト メソッドの呼び出し)(update twin, invoke direct method)
10/秒10/sec 10/秒または 1/秒/ユニット以上Higher of 10/sec or 1/sec/unit 50/秒/ユニット50/sec/unit
構成と Edge の展開1Configurations and edge deployments1
(作成、更新、一覧表示、削除)(create, update, list, delete)
0.33/秒/単位 (20/分/単位)0.33/sec/unit (20/min/unit) 0.33/秒/単位 (20/分/単位)0.33/sec/unit (20/min/unit) 0.33/秒/単位 (20/分/単位)0.33/sec/unit (20/min/unit)
デバイス ストリーム開始レート1Device stream initiation rate1 5 つの新しいストリーム/秒5 new streams/sec 5 つの新しいストリーム/秒5 new streams/sec 5 つの新しいストリーム/秒5 new streams/sec
同時に接続されているデバイス ストリームの最大数1Maximum number of concurrently connected device streams1 5050 5050 5050
デバイス ストリームの最大データ転送量1 (1 日あたりのボリュームの集計)Maximum device stream data transfer1 (aggregate volume per day) 300 MB300 MB 300 MB300 MB 300 MB300 MB

1 この機能は、IoT Hub の Basic レベルでは使用できません。1This feature is not available in the basic tier of IoT Hub. 詳しくは、適切な IoT Hub の選び方に関するページをご覧ください。For more information, see How to choose the right IoT Hub.
2調整メーター サイズは 4 KB です。2Throttling meter size is 4 KB.

調整の詳細Throttling Details

  • メーター サイズは、調整制限が使用される増分で決まります。The meter size determines at what increments your throttling limit is consumed. 直接呼び出しのペイロードが 0 ~ 4 KB の場合は、4 KB としてカウントされます。If your direct call's payload is between 0 and 4 KB, it is counted as 4 KB. 160 KB/秒/ユニットの上限に達するまで、ユニットごとに 1 秒あたり最大 40 回の呼び出しを行うことができます。You can make up to 40 calls per second per unit before hitting the limit of 160 KB/sec/unit.

    同様に、ペイロードが 4 KB ~ 8 KB の場合は、それぞれが 8 KB の呼び出しアカウントを使用し、上限に達するまでユニットごとに 1 秒あたり最大 20 回の呼び出しを行うことができます。Similarly, if your payload is between 4 KB and 8 KB, each call accounts for 8 KB and you can make up to 20 calls per second per unit before hitting the max limit.

    最後に、ペイロードのサイズが 156 KB ~ 160 KB の場合は、160 KB/秒/ユニットの上限に達するまで、ハブでユニットごとに 1 秒あたり 1 回の呼び出ししか行えなくなります。Finally, if your payload size is between 156KB and 160 KB, you'll be able to make only 1 call per second per unit in your hub before hitting the limit of 160 KB/sec/unit.

  • レベル S2 のジョブ デバイス操作 (ツインの更新、ダイレクト メソッドの呼び出し) の場合では、ジョブを使用してメソッドを呼び出す場合にのみ、50/秒/ユニットが適用されます。For Jobs device operations (update twin, invoke direct method) for tier S2, 50/sec/unit only applies to when you invoke methods using jobs. ダイレクト メソッドを直接呼び出す場合は、元の調整制限である 24 MB/秒/ユニット (S2 の場合) が適用されます。If you invoke direct methods directly, the original throttling limit of 24 MB/sec/unit (for S2) applies.

  • クォータは、ハブで送信できる 1 日あたりのメッセージの集計数です。Quota is the aggregate number of messages you can send in your hub per day. ハブのクォータ制限は、IoT Hub 料金ページの列 [ユニットごとのメッセージの合計数 (1 日あたり)] に表示されます。You can find your hub's quota limit under the column Total number of messages /day on the IoT Hub pricing page.

  • クラウドからデバイスおよびデバイスからクラウドへの調整によって、メッセージを送信できる最大速度が決まります。メッセージの数は 4 KB のチャンクに関係ありません。Your cloud-to-device and device-to-cloud throttles determine the maximum rate at which you can send messages -- number of messages irrespective of 4 KB chunks. 各メッセージの最大メッセージ サイズは 256 KB まで可能です。Each message can be up to 256 KB which is the maximum message size.

  • 調整制限に達したり超過したりしないように、呼び出しを調整することをお勧めします。It's a good practice to throttle your calls so that you don't hit/exceed the throttling limits. 上限に達した場合、IoT Hub はエラーコード 429 で応答し、クライアントはバックオフして再試行する必要があります。If you do hit the limit, IoT Hub responds with error code 429 and the client should back-off and retry. これらの制限はハブあたり (場合によってはハブ/ユニットあたり) です。These limits are per hub (or in some cases per hub/unit). 詳細については、接続と信頼できるメッセージング/再試行パターンの管理に関するページを参照してください。For more information, refer to Manage connectivity and reliable messaging/Retry patterns.

トラフィック シェイプTraffic shaping

トラフィックのバーストに対応できるように、IoT Hub では限られた期間だけスロットルを上回る要求を受け入れます。To accommodate burst traffic, IoT Hub accepts requests above the throttle for a limited time. これらの要求のうち最初のいくつかは即座に処理されます。The first few of these requests are processed immediately. ただし、要求の数が引き続きスロットルに違反する場合、IoT Hub は要求をキューに配置し始めて、制限された速度で処理を行います。However, if the number of requests continues violate the throttle, IoT Hub starts placing the requests in a queue and processed at the limit rate. この効果は "トラフィック シェイプ" と呼ばれます。This effect is called traffic shaping. さらに、このキューのサイズも制限されています。Furthermore, the size of this queue is limited. スロットル違反が続くと、最後にはキューがいっぱいになり、IoT Hub は 429 ThrottlingException で要求を拒否し始めます。If the throttle violation continues, eventually the queue fills up, and IoT Hub starts rejecting requests with 429 ThrottlingException.

たとえば、シミュレートされたデバイスを使用して、S1 IoT Hub (1 秒あたり 100 個の D2C 送信という制限があります) に 1 秒あたり 200 個の device-to-cloud メッセージを送信するとします。For example, you use a simulated device to send 200 device-to-cloud messages per second to your S1 IoT Hub (which has a limit of 100/sec D2C sends). 最初の 1、2 分の間、メッセージは即座に処理されます。For the first minute or two, the messages are processed immediately. ただし、デバイスが引き続きスロットルの制限を超えるメッセージを送信するため、IoT Hub は 1 秒あたり 100 個のみのメッセージの処理を開始し、残りをキューに配置します。However, since the device continues to send more messages than the throttle limit, IoT Hub begins to only process 100 messages per second and puts the rest in a queue. ユーザーは待機時間が長くなっていることに気付き始めます。You start noticing increased latency. 最終的にキューがいっぱいになると 429 ThrottlingException が発生し始め、IoT Hub のメトリックの "スロットル エラー数" が増え始めます。Eventually, you start getting 429 ThrottlingException as the queue fills up, and the "number of throttle errors" in IoT Hub's metrics starts increasing.

ID レジストリ操作のスロットルIdentity registry operations throttle

デバイス ID レジストリの操作は、デバイスの管理とプロビジョニングのシナリオにおける実行時の使用を意図したものです。Device identity registry operations are intended for run-time use in device management and provisioning scenarios. 多数のデバイス ID の読み取りまたは更新は、ジョブのインポートとエクスポートによってサポートされています。Reading or updating a large number of device identities is supported through import and export jobs.

デバイス接続のスロットルDevice connections throttle

"デバイスの接続" スロットルは、IoT Hub を使用して新しいデバイス接続を確立できる速度を制御します。The device connections throttle governs the rate at which new device connections can be established with an IoT hub. "デバイスの接続" スロットルでは、同時に接続されるデバイスの最大数は制御されません。The device connections throttle does not govern the maximum number of simultaneously connected devices. "デバイスの接続" レートのスロットルは、IoT Hub にプロビジョニングされたユニット数に依存します。The device connections rate throttle depends on the number of units that are provisioned for the IoT hub.

たとえば、1 つの S1 ユニットを購入した場合、1 秒あたり 100 接続のスロットルを利用できます。For example, if you buy a single S1 unit, you get a throttle of 100 connections per second. したがって、100,000 個のデバイスに接続するには、少なくとも 1,000 秒 (約 16 分) かかります。Therefore, to connect 100,000 devices, it takes at least 1,000 seconds (approximately 16 minutes). ただし、ID レジストリに登録されたデバイスの数だけ、同時に接続されたデバイスを持つことができます。However, you can have as many simultaneously connected devices as you have devices registered in your identity registry.

その他の制限Other limits

IoT Hub により、その他の運用上の制限が適用されます。IoT Hub enforces other operational limits:

OperationOperation 制限Limit
デバイスDevices 1 つの IoT ハブに接続できるデバイスの最大数は、1,000,000 です。The maximum number of devices you can connect to a single IoT hub is 1,000,000. この制限を引き上げる唯一の方法は、Microsoft サポートにお問い合わせいただくことです。The only way to increase this limit is to contact Microsoft Support.
ファイルのアップロードFile uploads デバイスごとに 10 個の同時ファイル アップロード。10 concurrent file uploads per device.
ジョブ1Jobs1 コンカレント ジョブの最大数は 1 (Free および S1)、5 (S2)、10 (S3) です。Maximum concurrent jobs is 1 (for Free and S1), 5 (for S2), and 10 (for S3). ただし、コンカレント デバイス インポート/エクスポート ジョブの最大数は、すべてのレベルで 1 です。However, the max concurrent device import/export jobs is 1 for all tiers.
ジョブ履歴は、最大で 30 日間保持されます。Job history is retained up to 30 days.
エンドポイントの追加Additional endpoints 有料の SKU ハブには、エンドポイントを 10 個追加できます。Paid SKU hubs may have 10 additional endpoints. 無料の SKU ハブには、エンドポイントを 1 個追加できます。Free SKU hubs may have one additional endpoint.
メッセージ ルーティング クエリMessage routing queries 有料の SKU ハブには、100 個のルーティング クエリを設定できます。Paid SKU hubs may have 100 routing queries. 無料の SKU ハブには、5 個のルーティング クエリを設定できます。Free SKU hubs may have five routing queries.
メッセージ エンリッチメントMessage enrichments 有料の SKU ハブには、最大 10 個のメッセージ エンリッチメントを設定できます。Paid SKU hubs can have up to 10 message enrichments. 無料の SKU ハブには、最大 2 個のメッセージ エンリッチメントを設定できます。Free SKU hubs can have up to 2 message enrichments.
デバイスからクラウドへのメッセージDevice-to-cloud messaging 最大メッセージ サイズは 256 KBMaximum message size 256 KB
cloud-to-device のメッセージング1Cloud-to-device messaging1 最大メッセージ サイズは 64 KB。Maximum message size 64 KB. デバイスあたりの配信の保留中のメッセージの最大数は 50。Maximum pending messages for delivery is 50 per device.
ダイレクト メソッド1Direct method1 ダイレクト メソッドの最大ペイロード サイズは 128 KB。Maximum direct method payload size is 128 KB.
自動デバイス構成1Automatic device configurations1 有料の SKU ハブあたり 100 構成。100 configurations per paid SKU hub. 無料の SKU ハブあたり 20 構成。20 configurations per free SKU hub.
IoT Edge の自動デプロイ1IoT Edge automatic deployments1 展開あたり 20 モジュール。20 modules per deployment. 有料の SKU ハブあたり 100 デプロイ。100 deployments per paid SKU hub. 無料の SKU ハブあたり 10 デプロイ。10 deployments per free SKU hub.
ツイン1Twins1 ツイン セクション (タグ、必要なプロパティ、報告されたプロパティ) あたりの最大サイズは 8 KB ですMaximum size per twin section (tags, desired properties, reported properties) is 8 KB

1 この機能は、IoT Hub の Basic レベルでは使用できません。1This feature is not available in the basic tier of IoT Hub. 詳しくは、適切な IoT Hub の選び方に関するページをご覧ください。For more information, see How to choose the right IoT Hub.

クォータまたはスロットルの制限値を増やすIncreasing the quota or throttle limit

いつでも、IoT ハブにプロビジョニングされたユニットの数を増やすことで、クォータやスロットルの制限値を増やすことができます。At any given time, you can increase quotas or throttle limits by increasing the number of provisioned units in an IoT hub.

LatencyLatency

IoT Hub は、すべての操作の待機時間を短くするように努めています。IoT Hub strives to provide low latency for all operations. ただし、ネットワークの状態やその他の予測不能な要因のため、特定の待機時間を保証することはできません。However, due to network conditions and other unpredictable factors it cannot guarantee a certain latency. ソリューションを設計するときに、次のようなことを行う必要があります。When designing your solution, you should:

  • どの IoT Hub 操作についても最大待機時間を想定しない。Avoid making any assumptions about the maximum latency of any IoT Hub operation.
  • IoT Hub は、デバイスに最も近い Azure リージョンにプロビジョニングする。Provision your IoT hub in the Azure region closest to your devices.
  • デバイスまたはデバイスに最も近いゲートウェイで Azure IoT Edge を使用して待機時間に依存する操作を実行することを検討する。Consider using Azure IoT Edge to perform latency-sensitive operations on the device or on a gateway close to the device.

複数の IoT Hub ユニットは、前に述べたように調整に影響を与えますが、待機時間に関する追加のメリットや保証が提供されることはありません。Multiple IoT Hub units affect throttling as described previously, but do not provide any additional latency benefits or guarantees.

操作の待機時間が予想外に増加した場合は、Microsoft サポートにお問い合わせください。If you see unexpected increases in operation latency, contact Microsoft Support.

次の手順Next steps

IoT Hub スロットルの動作の詳細については、ブログ投稿「IoT Hub throttling and you (IoT Hub スロットルの操作)」を参照してください。For an in-depth discussion of IoT Hub throttling behavior, see the blog post IoT Hub throttling and you.

この IoT Hub 開発者ガイド内の他の参照トピックは次のとおりです。Other reference topics in this IoT Hub developer guide include: