割り当てと上限

Cloud IoT Core にはリソースの割り当てと使用に上限があり、プロジェクトごとに割り当てが適用されます。具体的なポリシーは、リソースの可用性、ユーザー プロファイル、サービス使用量の履歴などの要因に応じて異なり、予告なく変更される場合があります。

上限

このセクションでは、Cloud IoT Core に対する割り当てを、プロジェクト / デバイス / テレメトリー、レート、時間の 3 つのカテゴリに分類して説明します。

プロジェクト、デバイス、テレメトリーの上限

割り当て 上限 上限引き上げ可能
リージョンごとのプロジェクトあたりデバイス数 上限なし、デフォルト値は 100,000
リージョンごとのプロジェクトあたりデバイス レジストリ数 100
ゲートウェイにバインドされているデバイス 10,000 ×
ゲートウェイに接続されているデバイス 1,000 ×
デバイスにバインドされているゲートウェイ 10 ×
デバイス ID の長さ 256 バイト ×
デバイス レジストリ ID の長さ 256 バイト ×
デバイス メタデータ 500 Key-Value ペア ×
デバイス メタデータ キー 128 文字 ×
デバイス メタデータ値 32 KB ×
メタデータの Key-Value ペアを組み合わせたサイズ 256 KB ×
デバイスあたりの認証情報数 3 ×
デバイスあたりの構成バージョン数 10 ×
デバイス構成データ 64 KB ×
リスト リクエストの最大ページサイズ 500 ×
デバイス状態ペイロード 64 KB ×
テレメトリー イベント通知構成数 10 ×
テレメトリー イベント ペイロード 256 KB ×
デバイスあたり MQTT 接続数 1 ×
リージョンごとのプロジェクトあたりのオープンな MQTT 接続数 10,000
リージョンごとのプロジェクトあたりのアクティブな HTTP デバイス接続数(過去 5 分間) 10,000

レート上限

割り当て 上限 上限引き上げ可能
デバイスあたり HTTP デバイス テレメトリー パブリッシュ数 毎分 6,000 ×
プロジェクトあたりデバイス テレメトリー パブリッシュ数 上限なし、デフォルト値は毎分 60,000
デバイスからクラウドへのデバイスあたりスループット 512 KB/秒 ×
クラウドからデバイスへのデバイスあたりスループット 512 KB/秒 ×
デバイスあたり構成更新回数 毎秒 1 ×
デバイスあたり属性更新回数 毎秒 1 ×
レジストリあたり属性更新回数 毎秒 1 ×
プロジェクトあたりデバイス マネージャー API 読み取り呼び出し数 毎分 30,000
プロジェクトあたりデバイス マネージャー API 作成呼び出しおよび削除呼び出しの数 毎分 3,000 ×
プロジェクトあたりデバイス マネージャー API 更新呼び出し数
(次の行の例外を参照)
毎分 3,000
プロジェクトあたりデバイス マネージャー API modifyCloudToDeviceConfig 呼び出し数 毎分 6,000
接続あたりの毎秒 MQTT 受信メッセージ数 毎秒 100 ×
デバイスあたりのデバイス MQTT 接続数 毎秒 1 ×
プロジェクトあたりのデバイス MQTT 接続数と HTTP リクエスト数 毎分 60,000 ×
デバイスあたり状態更新回数 毎秒 1* ×
プロジェクトあたり状態更新回数 毎分 6,000* ×
プロジェクトあたりのログに記録されたイベント数 毎秒 1,000
プロジェクトあたりのログに記録されたイベントのサイズ 毎秒 1 MB(各ログエントリは約 1 KB)
レジストリあたりのコマンド 毎秒 1,000
プロジェクトあたりのコマンド 毎秒 1,000
デバイス接続あたりのコマンド トピックに対する MQTT サブスクリプション 毎秒 1 ×

*詳しくは、デバイスの状態の取得をご覧ください。

時間の上限

割り当て 上限 上限引き上げ可能
JWT 承認クロックのずれ 10 分 ×
JWT 全期間(expiat の差が上限を超えないこと) 24 時間 ×
MQTT アイドル時間(ハートビートやメッセージが無い) 20 分 ×
MQTT 接続時間 24 時間** ×
コマンドのタイムアウト 60 秒 ×
コマンドの再試行 60 秒 ×

** 接続がリセットされることがあります(サーバーの再起動時など)。

割り当ての適用

割り当て超過が生じた場合、プロジェクトやリソース(レジストリやデバイスなど)によって結果は異なります。

  • プロジェクトで割り当てを超えた場合: 使用量が上限以内に収まるまでプロジェクトはブロックされます。まれな状況として、上限以下に収まった後も割り当て適用期間が続くことがあります。割り当て超過がすべて解消された後もプロジェクトがブロックされたままの状態が続く場合は、しばらく待ってから再度試します。
  • MQTT ブリッジを使用しているデバイスで割り当てを超えた場合: デバイスの接続が解除されます。
  • HTTP ブリッジを使用しているデバイスで割り当てを超えた場合: デバイスに RESOURCE_EXHAUSTED レスポンスが返されます。

たとえば、MQTT ブリッジを介してデバイスの構成を 1 秒あたり複数回更新しようとすると、Cloud IoT Core によってデバイスの接続が解除されます。この問題を修正するには、デバイス構成のパブリッシュを必ず 1 秒あたり 1 回以下に抑え、理想的には 10 秒あたり 1 回にしたうえでデバイスを再接続します。詳細についてはデバイスの構成をご覧ください。

割り当て量の増加

各上限は、デフォルトでその最大値に設定されています。最大値を超える上限をリクエストする手順は以下のとおりです。

  1. Google Cloud Console の [API とサービス] で、編集する割り当てを選択します。

  2. [割り当てを編集] をクリックします。

  3. [割り当ての編集] ペインで所要事項を入力して [次へ] をクリックします。

  4. [割り当ての増加を申し込む] をクリックし、割り当てのリクエスト フォームに所要事項を入力して送信します。

割り当てを増やしたいが、Cloud Console に表示されない場合は、割り当てのリクエスト フォームに値を入力します

圧縮 HTTP リクエスト

HTTP ブリッジの使用で説明されているように、gzip 圧縮したデータをデバイスから HTTP ブリッジを介して Cloud IoT Core に送信できます。

テレメトリー イベントのペイロード上限とデバイス状態のペイロード上限はそれぞれ、各リクエストの非圧縮サイズを使用して計算されます。

たとえば、デバイスから送信される圧縮したテレメトリー イベントのペイロードが 10 KB でも、圧縮前のペイロードのサイズが 257 KB の場合、テレメトリー イベント ペイロードの上限 256 KB を超えているため、このリクエストは失敗します。