ApsaraMQ for MQTT のベーシックエディションおよびプラチナエディションのインスタンスは、サブスクリプション課金方式であり、最大接続数、メッセージ TPS、およびサブスクリプション数に基づいて課金されます。
課金の概要
ApsaraMQ for MQTT は、ベーシック、プラチナのインスタンスを提供します。 詳細については、インスタンスエディションをご参照ください。
Basic Edition および Platinum Edition インスタンスは、課金方法と課金項目が同じです。課金項目は次のとおりです:
|
課金項目 |
課金方法 |
課金サイクル |
|
サブスクリプション 前払いの課金方法です。選択した仕様と期間に基づいて課金されます。 |
月 |
|
インスタンス料金の計算式は次のとおりです:
インスタンス料金 = (最大接続数の単価 + 最大メッセージ TPS の単価 + 最大サブスクリプション関係の単価) × サブスクリプション期間 (月)
最大接続数
課金項目の詳細
接続とは、任意の時点でのクライアントからインスタンスへの TCP 接続の数を指します。接続数は 1 分ごとにサンプリングおよび更新されます。
購入する最大接続数が、サービスの実際のピーク時の同時接続数を上回るようにしてください。そうでない場合、スロットリングにより一部のクライアントが接続に失敗する可能性があります。
例
10:00 の時点で、インスタンス instance_a には 1,000 の同時接続があります。10:01 の時点では 2,000 の同時接続があります。サービスの正常な運用を保証するには、2,000 を超える最大接続数の仕様 (5,000 など) を購入する必要があります。
単価
|
インスタンスタイプ |
最大接続数 |
価格 (USD/月) |
|
Basic Edition インスタンス |
1,000 |
29 |
|
5,000 |
142 |
|
|
10,000 |
284 |
|
|
20,000 |
567 |
|
|
50,000 |
1,417 |
|
|
100,000 |
2,833 |
|
|
Platinum Edition インスタンス |
100,000 |
3,852 |
|
300,000 |
11,329 |
|
|
500,000 |
18,805 |
|
|
1,000,000 |
37,836 |
|
|
2,000,000 |
75,446 |
最大メッセージ TPS
課金項目の詳細
メッセージ TPS (Transactions Per Second) は、インスタンス上で 1 秒あたりに生成および消費されるメッセージの合計数です。この値は 1 分ごとに更新されます。
購入する最大メッセージ TPS が、メッセージの生成と消費の実際のピーク TPS を上回るようにしてください。そうでない場合、スロットリングにより一部のメッセージの送受信に失敗する可能性があります。
計算ルール
-
メッセージ TPS には、ApsaraMQ for MQTT を介して送受信されるメッセージのみが含まれます。ApsaraMQ for RocketMQ を介して送受信されるメッセージは含まれません。
-
QoS レベルが 1 で cleanSession が false に設定されているメッセージの場合、サーバー側でのプッシュが失敗した場合、メッセージは再試行用にオフラインメッセージとして保存されます。この再試行は 1 回のメッセージ消費としてカウントされます。
-
メッセージ TPS の計算時、値は QoS レベルに基づく課金乗数で乗算されます。詳細については、「課金乗数」をご参照ください。
たとえば、クライアントが QoS 2 と cleanSession=true を使用する場合、課金乗数は 5 です。クライアントが 10 件のメッセージを生成した場合、課金対象となる生成メッセージ数は 10 × 5 = 50 として計算されます。
例
5 つのトピックがあると仮定します。プロデューサーは各トピックに 20 件のメッセージを送信します。各トピックには 100 のサブスクライバーがいます。すべてのクライアントは同じ QoS レベルを使用し、課金乗数は 2 です。
課金対象のメッセージ総数は、次のように計算されます:(生成メッセージ数 + 消費メッセージ数) × 課金乗数 = ((5 × 20) + (5 × 20 × 100)) × 2 = 20,200 メッセージ。
単価
|
インスタンスタイプ |
最大メッセージ TPS (メッセージ/秒) |
価格 (USD/月) |
|
Basic Edition インスタンス |
1,000 |
284 |
|
5,000 |
1,417 |
|
|
10,000 |
2,833 |
|
|
20,000 |
5,665 |
|
|
Platinum Edition インスタンス |
20,000 |
5,211 |
|
50,000 |
7,930 |
|
|
100,000 |
12,009 |
|
|
200,000 |
18,125 |
|
|
500,000 |
42,368 |
ApsaraMQ for MQTT は、100 TPS の仕様のサポートを終了しました。すでにこの仕様で購入されたインスタンスは引き続き使用できます。ただし、一度インスタンスをアップグレードすると、この仕様にダウングレードすることはできません。
最大サブスクリプション関係
課金項目の詳細
サブスクリプション関係の数は、インスタンスに登録および保持されているトピックサブスクリプションの総数です。
購入する最大サブスクリプション関係の数が、サービスで必要とされる実際の数を超えるようにしてください。そうでない場合、スロットリングにより一部のクライアントがサブスクライブに失敗する可能性があります。
計算ルール
-
サブスクリプション関係の数の統計期間は 1 分です。システムは 1 秒に 1 回値をサンプリングし、60 個のサンプルの最大値を取得します。
たとえば、1 分間の期間内に、サブスクリプション関係の数が最初の 1 秒で 30、次の 1 秒で 20、そして 60 秒目にピークの 50 に達した場合、その分のサブスクリプション関係の数は 50 になります。
-
サブスクリプションリレーションシップ数は、各クライアント (クライアント ID) が各 ApsaraMQ for MQTT トピックをサブスクライブすることに基づいており、メッセージ送信とは無関係です。
-
1つのクライアントによる親トピックおよびその子トピックへのサブスクリプションは、それぞれ個別にカウントされます。
たとえば、クライアント Client_1 が TopicA、TopicA/sub_1、および TopicA/sub_2 にサブスクライブした場合、サブスクリプション関係の数は 3 になります。
-
MQTT プロトコルでは、クライアントが cleanSession=true を設定した場合、クライアントがオフラインになった後、サーバーはクライアントのすべてのトピックサブスクリプションをクリアします。cleanSession=false の場合、サーバーはクライアントのトピックサブスクリプションを保持し、これらはサブスクリプション関係の合計数にカウントされます。
例
-
インスタンス Instance_A には、TopicA、TopicB、TopicC の 3 つのトピックがあります。合計 10 のクライアントがサーバーに接続されています。
-
10 個のクライアントはそれぞれ、TopicA、TopicB、および TopicC にメッセージを生成します。各クライアントは、メッセージを消費するために TopicA と TopicB にのみサブスクライブします。
このシナリオでは、サブスクリプション関係の数は 10 × 2 = 20 です。
単価
|
インスタンスタイプ |
最大サブスクリプション関係 |
価格 (USD/月) |
|
Basic Edition インスタンス |
1,000 |
12 |
|
10,000 |
114 |
|
|
50,000 |
567 |
|
|
100,000 |
1,133 |
|
|
200,000 |
2,266 |
|
|
500,000 |
5,665 |
|
|
1,000,000 |
11,329 |
|
|
Platinum Edition インスタンス |
100,000 |
1,586 |
|
500,000 |
7,477 |
|
|
1,000,000 |
15,180 |
|
|
2,000,000 |
30,133 |
|
|
5,000,000 |
75,446 |