このトピックでは、ApsaraMQ for MQTT ベーシック版とエンタープライズプラチナ版インスタンスの課金対象項目と料金について説明します。
課金概要
ApsaraMQ for MQTT インスタンスは、ベーシック版とエンタープライズプラチナ版に分類できます。各エディションの違いについては、インスタンスエディションをご参照ください。
ベーシック版インスタンスとエンタープライズプラチナ版インスタンスの課金方法と課金対象項目は同じです。次の表に、課金方法と課金対象項目を示します。
課金対象項目 | 課金方法 | 課金サイクル |
サブスクリプション インスタンスを使用するには、購入した仕様とサブスクリプション期間に基づいて前払いが必要です。 | 月額 | |
課金式:
Instance fees = (Price of the connection specification + Price of the messaging TPS specification + Price of the subscription specification) × Subscription duration (months)
接続数
説明
接続とは、特定の時点におけるインスタンスへの TCP 経由のクライアント接続数を指します。接続数は一時的な値です。値は毎分更新されます。
通常のビジネス状況下でのアクティブ接続の最大数よりも多くの接続を提供する仕様を選択してください。そうしないと、スロットリングがトリガーされ、一部のクライアントがサービスに接続できなくなる可能性があります。
例
Instance_A へのアクティブ接続数は、10:00 に 1,000、10:01 に 2,000 です。サービスが期待どおりに実行されるようにするには、2,000 を超える接続を提供する仕様を購入する必要があります。たとえば、5,000 接続を提供する仕様を購入できます。
単価
インスタンスエディション | 接続仕様 | 価格(USD/月) |
ベーシック版 | 1,000 | 29 |
5,000 | 142 | |
10,000 | 284 | |
20,000 | 567 | |
50,000 | 1417 | |
100,000 | 2833 | |
エンタープライズプラチナ版 | 100,000 | 3852 |
300,000 | 11329 | |
500,000 | 18805 | |
1,000,000 | 37836 | |
2,000,000 | 75446 |
メッセージング TPS
説明
メッセージングトランザクション/秒(TPS)は、特定のインスタンスで 1 秒あたりに生成および消費されるメッセージの総数です。メッセージング TPS は毎分更新されます。
通常のビジネス状況下でのピークメッセージング TPS よりも高いメッセージング TPS を提供する仕様を選択してください。そうしないと、スロットリングがトリガーされ、一部のメッセージの送受信に失敗する可能性があります。
計算ルール
メッセージング TPS を計算する際は、ApsaraMQ for MQTT を使用して送受信されたメッセージのみを含めます。ApsaraMQ for RocketMQ を使用して送受信されたメッセージは含めないでください。
ブローカーが QoS パラメーターが 1 に設定され、cleanSession パラメーターが false に設定されているメッセージをプッシュできなかった場合、メッセージはオフラインメッセージとして保存され、一定期間後に再試行されます。この場合、メッセージは 1 つのサブスクリプションメッセージとしてカウントされます。
係数を考慮してください。係数は、QoS パラメーターと cleanSession パラメーターの値に基づいて計算されます。詳細については、「計算係数」をご参照ください。
たとえば、クライアントで QoS パラメーターを 2 に設定し、cleanSession パラメーターを true に設定した場合、対応する係数は 5 になります。この場合、クライアントが 10 個のメッセージを生成すると、メッセージング TPS を計算する際に、生成されたメッセージの数は次の式に基づいて 50 としてカウントされます。10 × 5 = 50。
例
インスタンスには 5 つのトピックが含まれており、各トピックは係数がすべて 2 である 100 のクライアントによってサブスクライブされています。プロデューサーは各トピックに 20 個のメッセージを送信します。
インスタンスで送受信されるメッセージの数は、次の式に基づいて 20,200 です。送受信メッセージ数 =(トピック数 × 各トピックのメッセージ数 + トピック数 × 各トピックのメッセージ数 × サブスクリプション数)× 係数 =(5 × 20 + 5 × 20 × 100)× 2 = 20,200。
単価
インスタンスエディション | メッセージング TPS 仕様 | 価格(USD/月) |
ベーシック版 | 1,000 | 284 |
5,000 | 1417 | |
10,000 | 2833 | |
20,000 | 5665 | |
エンタープライズプラチナ版 | 20,000 | 5211 |
50,000 | 7930 | |
100,000 | 12009 | |
200,000 | 18125 | |
500,000 | 42368 |
サブスクリプション数
説明
サブスクリプションとは、特定のインスタンスに登録および保持されているサブスクリプションを指します。
通常のビジネス状況下でのサブスクリプションの最大数よりも多くのサブスクリプションを提供する仕様を選択してください。そうしないと、スロットリングがトリガーされ、一部のメッセージの送受信に失敗する可能性があります。
計算ルール
システムは、1 分サイクルに基づいて 1 秒ごとに 1 つのサンプルを収集します。 60 個のサンプルの中で最大値が使用されます。
たとえば、1 分サイクルで、最初の秒のサブスクリプション数が 30、次の秒が 20、3 番目の秒が 30、60 番目の秒が 50 であるとします。1 分サイクル内の最大値が 50 の場合、その分のサブスクリプション数は 50 になります。
メッセージングシナリオに関係なく、クライアントによる ApsaraMQ for MQTT
トピックへの各サブスクリプションは、1 つのサブスクリプションとしてカウントされます。クライアントがトピックとそのサブトピックをサブスクライブする場合、トピックとサブトピックへのサブスクリプションは個別に計算する必要があります。
たとえば、Client_1 が Topic A とサブトピック TopicA/sub_1 および TopicA/sub_2 をサブスクライブする場合、サブスクリプション数は 3 です。
ApsaraMQ for MQTT ブローカーは、Message Queuing Telemetry Transport(MQTT)プロトコルに基づいてクライアントのトピックサブスクリプションを維持します。クライアントで cleanSession パラメーターが true に設定されている場合、ブローカーはクライアントが切断されたときにクライアントのすべてのトピックサブスクリプションをクリアします。クライアントで cleanSession パラメーターが false に設定されている場合、ブローカーはクライアントが切断された場合でもクライアントのすべてのトピックサブスクリプションを保持および計算します。
例
Topic A、Topic B、Topic C が Instance_A 上に作成され、10 個のクライアントがブローカーに接続されています。
10 個のクライアントはそれぞれ Topic A、Topic B、Topic C にメッセージを送信し、各クライアントはメッセージ消費のために Topic A と Topic B のみをサブスクライブします。
この場合、サブスクリプション数は次の式に基づいて 20 です。10 × 2 = 20。
単価
インスタンスエディション | サブスクリプション仕様 | 価格(USD/月) |
ベーシック版 | 1,000 | 12 |
10,000 | 114 | |
50,000 | 567 | |
100,000 | 1133 | |
200,000 | 2266 | |
500,000 | 5665 | |
1,000,000 | 11329 | |
エンタープライズプラチナ版 | 100,000 | 1586 |
500,000 | 7477 | |
1,000,000 | 15180 | |
2,000,000 | 30133 | |
5,000,000 | 75446 |