すべてのプロダクト
Search
ドキュメントセンター

ApsaraMQ for MQTT:制限

最終更新日:Jun 23, 2026

ApsaraMQ for MQTT では、インスタンス、トピック、クライアント、およびメッセージングに以下の制限が適用されます。これらの制限を超過すると、接続の切断やメッセージの損失などのアプリケーション例外が発生する可能性があります。

プラチナエディションの ApsaraMQ for MQTT インスタンスを購入すると、以下の表に示す一部のメトリクスをカスタマイズできます。カスタマイズを依頼するには、DingTalk グループ 116015007918 で ApsaraMQ for MQTT のテクニカルサポートにお問い合わせください。

インスタンスの制限

制限項目

制限

説明

インスタンス名

  • 長さ:3~64 文字

  • 使用可能な文字:数字 (0~9)、英字 (a~z および A~Z)、ハイフン (-)、アンダースコア (_)。名前は大文字と小文字を区別しません。

  • 一意性:インスタンス名は同一リージョン内で一意である必要があります。

インスタンスの作成時にカスタム名を指定することはできません。インスタンス名はデフォルトでインスタンス ID と同じですが、ApsaraMQ for MQTT コンソールで名前を変更できます。

インスタンスあたりの 1 秒あたりのメッセージトランザクション (TPS)

購入仕様に基づいてスロットリングされます。メッセージ TPS が仕様上限を超えると、クライアント (オープンソースの MQTT クライアントおよびクラウド SDK を含む) で、切断、応答タイムアウト、またはメッセージの破棄が発生する可能性があります。

単一の MQTT クライアントが処理するメッセージ量は通常少なく、一部の SDK は高スループット向けに設計されていません。単一の MQTT クライアントのメッセージ TPS は 20 未満にしてください。サーバー側のシナリオでより高いスループットが必要な場合は、代わりに ApsaraMQ for RocketMQ クライアントを使用してください。

インスタンスあたりのオンライン接続数

購入仕様に基づいてスロットリングされます。接続数が仕様上限を超えると、新規接続が拒否される場合があります。

ApsaraMQ for MQTT は、デフォルトでオンライン接続を監視し、アラートを送信します。必要に応じてアラートのしきい値を調整できます。

インスタンスあたりのサブスクリプション関係

サブスクリプション数が仕様上限を超えると、新規サブスクリプションが失敗する場合があります。また、既存のクライアント接続が切断されたり、サブスクリプションの整合性が保証されなくなったりする可能性があります。

ApsaraMQ for MQTT は、デフォルトでサブスクリプション関係を監視し、アラートを送信します。必要に応じてアラートのしきい値を調整できます。

インスタンスエンドポイントの IP アドレス

なし

インスタンスエンドポイントの IP アドレスは動的であり、いつでも変更される可能性があります。アプリケーションに IP アドレスをハードコーディングしないでください。ApsaraMQ for MQTT は、以下の状況によって引き起こされた問題について責任を負いません。

  • クライアントがドメイン名ではなく IP アドレスを使用して接続し、DNS 更新後に IP アドレスが無効になる状況。

  • 特定の IP アドレスに対してファイアウォールポリシーが設定されており、DNS 更新後に新しい IP アドレスがブロックされる状況。

トピックの制限

制限項目

制限

説明

トピック名

  • 長さ:3~64 文字

    説明

    トピック長とは、スラッシュ (/) を含むトピックパス全体の長さを指します。

  • 使用可能な文字:数字 (0~9)、英字 (a~z および A~Z)、ハイフン (-)、アンダースコア (_)。名前は大文字と小文字を区別しません。

  • 一意性:親トピック名は同一インスタンス内で一意である必要があります。

メッセージの送受信時、トピック名は指定された長さの範囲内である必要があります。範囲外の場合、メッセージ送信とトピックのサブスクリプションに失敗します。

インスタンスあたりの親トピック数

25

デフォルトの制限が要件を満たさない場合は、ApsaraMQ for MQTT のテクニカルサポートにお問い合わせください。DingTalk グループ番号は 116015007918 です。

説明

子トピック数に制限はありません。安定した業務運用のため、子トピック数は 1,000 を超えないようにすることを推奨します。

クロスリージョンでのトピック使用

サポートされていません

ApsaraMQ for MQTT でルールを設定して ApsaraMQ for RocketMQ とのデータ通信を有効にする場合、関連リソースは同じリージョンにある必要があります。

クライアントの制限

制限項目

制限

説明

Client ID

  • 長さ:最大 64 文字

  • 使用可能な文字:数字 (0~9)、英字 (a~z および A~Z)、ハイフン (-)、アンダースコア (_)。

Client ID はこの長さ制限を超えてはなりません。超過した場合、クライアント接続は切断されます。

Group ID

  • 長さ:7~64 文字

  • 使用可能な文字:数字 (0~9)、英字 (a~z および A~Z)、ハイフン (-)、アンダースコア (_)。ID は「GID_」または「GID-」で始まる必要があります。

  • 一意性:Group ID は同一インスタンス内で一意である必要があります。

Group ID は指定された長さの範囲内である必要があります。範囲外の場合、クライアントはメッセージを送信できず、トピックをサブスクライブできません。

Device ID

  • 長さ: クライアント ID の形式は <グループ ID>@@@<デバイス ID> です。デバイス ID の文字数制限は動的です。クライアント ID の合計の長さは 64 文字を超えることはできません。

  • 使用可能な文字:数字 (0~9)、英字 (a~z および A~Z)、ハイフン (-)、アンダースコア (_)。

  • 一意性:Device ID は同一 Group ID 内で一意である必要があります。

Device ID は長さ制限に従う必要があります。従わない場合、クライアント接続は切断されます。

単一クライアントがサブスクライブできるトピック数

30

各クライアントは、同時に最大 30 のトピックをサブスクライブできます。この上限を超えると、新しいサブスクリプションリクエストは失敗します。プラチナエディションのインスタンスでは、カスタマイズが可能です。カスタマイズをご希望の場合は、DingTalk グループ 116015007918 で ApsaraMQ for MQTT のテクニカルサポートにお問い合わせください。

サブスクライブ済みトピック数を計算する際、ワイルドカード文字を含むサブスクリプションは 1 つのサブスクリプションとしてカウントされます。同一の親トピック配下にある異なる子トピックへのサブスクリプションは、それぞれ別のサブスクリプションとしてカウントされます。たとえば、A/# へのサブスクリプションは 1 つとしてカウントされます。A/# と A/a1/# へのサブスクリプションは 2 つとしてカウントされます。

ワイルドカードのサブスクリプション関係数

各親トピックで許可されるワイルドカードのサブスクリプション関係は最大 100 です。

サーバーは、親トピックあたりのアクティブなワイルドカードサブスクリプションを 100 に制限します。超過した場合、100 件の関係しかロードされないため、一部のクライアントがメッセージを受信できない可能性があります。ワイルドカードサブスクリプション数を厳密に管理してください。たとえば、親トピック A の場合、A/#、A/a1/#、A/a2/# へのサブスクリプションは、それぞれ 1 件としてカウントされ、合計で 3 つの関係としてカウントされます。

最大ハートビート間隔

8 分

ハートビート間隔は 8 分を超えてはなりません。

メッセージ送受信の制限

制限項目

制限

説明

メッセージサイズ

64 KB

このペイロードサイズ制限を超えるメッセージは破棄されます。

プラチナ版インスタンスはカスタマイズに対応しています。 カスタマイズを依頼するには、ApsaraMQ for MQTT のテクニカルサポートにお問い合わせください。 DingTalk グループ番号は 116015007918 です。

メッセージ保持期間

3 日間

ApsaraMQ for MQTT は、QoS が 1 で、cleanSession が false の場合にのみオフラインメッセージを保持します。 メッセージは最大 3 日間保持され、その後スクロール方式で自動的に削除されます。 QoS と cleanSession の詳細については、「用語集」をご参照ください。

Platinum Edition インスタンスはカスタマイズに対応しています。カスタマイズをご希望の場合は、ApsaraMQ for MQTT のテクニカルサポートにお問い合わせください。DingTalk グループ番号は 116015007918 です。

QoS と cleanSession

QoS が 2 かつ cleanSession が false の構成はサポートされていません。

ApsaraMQ for MQTT でメッセージを送受信する場合:

  • cleanSession が true に設定されている場合、QoS は 0、1、または 2 に設定できます。

  • cleanSessionfalse に設定されている場合、QoS2 に設定できません。ApsaraMQ for MQTT はこの設定をサポートしていません。

トークン有効期間

30 日間

API 操作を呼び出してトークンをリクエストする際、ExpireTime の値が 30 日を超過すると、エラーは返されずにトークンが返されますが、実際の有効期間は 30 日に制限されます。

オフラインメッセージの可視時間

10 秒

サーバーがメッセージを初回プッシュした後、確認応答のタイムアウトまたは失敗を待って、メッセージがオフラインメッセージになるかどうかを判定します。この遅延は通常 5~10 秒です。

保存されるオフラインメッセージ数

1,000,000

サーバーは、インスタンスあたりのオフラインメッセージ数を 1,000,000 に制限します。上限を超えると、最も古いメッセージから順に削除されます。過剰なオフラインメッセージが生成されないよう、永続サブスクリプションのパターンは慎重に使用してください。

デフォルトの上限が要件を満たさない場合は、ApsaraMQ for MQTT のテクニカルサポートにお問い合わせください。DingTalk グループ番号は 116015007918 です。