ApsaraMQ for RabbitMQ では、2 種類の課金方法(プロビジョニング済み容量+エラスティックトラフィック課金およびメッセージングリクエスト課金)を備えたサーバーレスインスタンスを提供しています。前者では、購入時にビジネスワークロードに基づいてプロビジョニング済み容量を選択します。後者は完全にエラスティックで、事前のプロビジョニングは不要です。ビジネスに最適な課金方法をお選びください。本トピックでは、サーバーレスインスタンスの課金項目と課金ルールについて説明します。
対応リージョン
サーバーレスインスタンスは特定のリージョンでのみ利用可能です。詳細については、「対応リージョン」をご参照ください。
課金項目
プロビジョニング済み容量+エラスティックトラフィック課金およびメッセージングリクエスト課金のいずれの課金方法でも、料金は 1 時間単位で発生します。インスタンスを購入した時点で課金が開始されます。次の図は課金項目を示しています。
以下のセクションでは、各課金項目の単価と課金数式について詳しく説明します。コストを見積もるには、料金計算機をご利用いただけます。
メッセージングのカウントルール
メッセージング機能のすべての課金項目(メッセージングリクエスト、プロビジョニング済み容量、エラスティックトラフィックなど)には、以下のルールが適用されます。
メッセージングリクエスト = メッセージ受信数 + メッセージ配信数
請求ログまたは請求明細を照合する際は、次の表を使用してログフィールド名を本ドキュメントで使用している用語にマッピングしてください。
請求ログフィールド | ドキュメント用語 | 説明 |
| メッセージ受信数 | プロデューサーからキューが受信したメッセージ数。1 つのメッセージが N 個のキューにルーティングされた場合、N 回の受信としてカウントされます。 |
| メッセージ配信数 | キューからコンシューマーに配信されたメッセージ数。ACK 応答の有無にかかわらず、配信試行ごとに 1 回カウントされます。 |
メッセージ受信数:キューが受信したメッセージ数。たとえば、エクスチェンジに送信されたメッセージが 3 つのキューにルーティングされた場合、3 回のメッセージ受信としてカウントされます。
メッセージ配信数:正常に配信されたメッセージは、処理が成功したかどうかや ACK が返されたかどうかにかかわらず、1 回のメッセージ配信としてカウントされます。
ペイロードサイズ:リクエストはメッセージサイズに基づき 4 KB 単位で計測されます。4 KB 未満のメッセージは 1 リクエストとしてカウントされます。4 KB を超えるメッセージの場合、リクエスト数は天井関数を使用して計算されます。たとえば、18 KB のメッセージを配信すると、5 リクエスト(⌈18/4⌉ = 5)としてカウントされます。
説明⌈ ⌉ は天井関数を示し、数値を次の整数に切り上げます。
メッセージングリクエスト
従量課金の serverless instance では、messaging request の総数に基づいて料金が計算されます。
課金数式
1 時間あたりのメッセージング料金 = メッセージングリクエスト総数 × リクエスト単価 (USD)
単価
リクエストタイプ | 単価 (100 万リクエストあたり USD) | ||
UAE (ドバイ) および サウジアラビア (リヤド - パートナー運営) 以外のリージョン | UAE (ドバイ) | サウジアラビア (リヤド - パートナー運営) | |
通常メッセージの送受信 | 0.31 | 0.62 | 0.372 |
遅延メッセージの受信 | 1.55 | 3.1 | 1.86 |
遅延メッセージの配信 | 0.31 | 0.62 | 0.372 |
課金例
中国 (杭州) リージョン の serverless instance を想定します。1 時間の使用状況は次のとおりです。
brokerはproducerから 700 万件のnormal messageと 200 万件のdelayed messageを受信します。各メッセージのサイズは 8 KB です。brokerはconsumerに 800 万件のnormal messageと 320 万件のdelayed messageを配信します。各メッセージのサイズは 8 KB です。
1 時間あたりのメッセージング料金は次のように計算されます。(7 + 8) × ⌈8/4⌉ × 0.31 + 2 × ⌈8/4⌉ × 1.55 + 3.2 × ⌈8/4⌉ × 0.31 = USD 17.484
プロビジョニング済み容量
ApsaraMQ for RabbitMQ サーバーレスインスタンスがプロビジョニング+エラスティック課金方法を使用する場合、メッセージング料金はプロビジョニング済み容量料金とエラスティックトラフィック料金で構成されます。プロビジョニング済み容量料金は、プロビジョニング済み容量と使用期間に依存します。
課金数式
1 時間あたりのプロビジョニング済み容量料金 = プロビジョニング済み容量 (TPS) × プロビジョニング済み容量単価 (USD/TPS・時間)
単価
リージョン | 単価 (USD/TPS・時間) | |
共有 | 排他的 | |
UAE (ドバイ) および サウジアラビア (リヤド - パートナー運営) 以外のリージョン | 0.00013 | 0.00021 |
UAE (ドバイ) | 0.00026 | 0.00042 |
SAU (Riyadh - パートナー地域) | 0.000156 | 0.000252 |
課金例
たとえば、中国 (杭州) リージョンの ApsaraMQ for RabbitMQ サーバーレスインスタンスを想定します。このインスタンスは共有クラスターモードでデプロイされ、プロビジョニング+エラスティック課金方法を使用しています。プロビジョニング済み容量を 3,000 TPS に設定した場合、1 時間あたりのプロビジョニング済み容量料金は 3,000 × 0.00013 = USD 0.39 です。30 日間の月額料金は 0.39 × 24 × 30 = USD 280.8 となります。
エラスティックトラフィック
サーバーレスインスタンスが「プロビジョニング済み容量+エラスティックトラフィック」課金方法を使用する場合、プロビジョニング済み容量を超えるトラフィックはエラスティックトラフィックとして課金されます。
課金数式
<hetu formula="時間単位のエラスティックトラフィック料金=\sum_{\mathclap{1\le i\le 60}} [{T}i×エラスティックトラフィック(TPS)]×エラスティックトラフィック単位価格(USD/TPS/分)" hetuid="79bd114d-a5d6-445a-b50d-77cd4fe3e995" id="ad39730078dbm" style="display:inline-block;max-width:100%;overflow:auto;vertical-align:middle" type="xFormula"><span class="katex"><span aria-hidden="true" class="katex-html"><span class="base"><span class="strut" style="height:0.6833em;">時間単位のエラスティックトラフィック料金=</span><span class="strut" style="height:2.4229em;vertical-align:-1.3728em;"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:1.05em;"><span style="top:-1.8723em;margin-left:0em;"><span class="pstrut" style="height:3.05em;"><span class="mord mtight"><span class="mord vbox mtight"><span class="thinbox mtight"><span class="clap mtight"><span class="strut" style="height:0.7955em;vertical-align:-0.136em;"><span><span class="mord mtight"><span class="mord mtight">1≤i≤60</span></span></span></span></span></span></span></span></span><span class="pstrut" style="height:3.05em;"><span class="mop op-symbol large-op">∑</span></span></span></span><span class="vlist" style="height:1.3728em;"></span></span></span>[<span class="mord mathnormal" style="margin-right:0.13889em;">T</span>i×</span><span class="strut" style="height:1em;vertical-align:-0.25em;">エラスティック TPS]×</span><span class="strut" style="height:1em;vertical-align:-0.25em;">エラスティックトラフィックの単位価格 (USD/TPS/分)</span></span></span></span></hetu>
この数式において、T1、T2、...、Ti、...、T60 はその時間帯の 1 分目、2 分目、...、i 分目、...、60 分目を表します。
単価
リージョン | 単価 (USD/TPS/分) | |
共有 | 排他的 | |
UAE (ドバイ) および サウジアラビア (リヤド - パートナー運営) 以外のリージョン | 0.000019 | 0.000028 |
UAE (ドバイ) | 0.000038 | 0.000056 |
サウジアラビア (リヤド - パートナー運営) | 0.000022 | 0.0000336 |
課金例
中国 (杭州) リージョンの共有サーバーレスインスタンスを想定します。プロビジョニング済み容量は 5,000 TPS で、「プロビジョニング済み容量+エラスティックトラフィック」課金方法を使用しています。次の表は、1 時間の使用状況を示しています。
項目 | 00 分 | 01 分 | 02 分 | 03 分 | ... | 58 分 | 59 分 |
実際のピーク TPS | 5200 | 5300 | 4000 | 4500 | < 5000 | 4800 | 5100 |
エラスティック TPS | 200 | 300 | 0 | 0 | 0 | 0 | 100 |
この時間帯のインスタンスのエラスティックトラフィック料金は (1 × 200 + 1 × 300 + 1 × 100) × 0.000019 = USD 0.0114 です。
キュー数
ApsaraMQ for RabbitMQ サーバーレスインスタンスでは、作成したキュー数に基づいて料金が計算されます。
課金数式
1 時間あたりのキュー料金 = インスタンス上のキュー数 × キュー単価 (USD/キュー)
課金対象数量は、特定の時間帯におけるインスタンス上のキュー数のピーク値です。
たとえば、1 時間の間に 300 個のキューを作成してから 100 個を削除した場合、その時間帯の課金対象は 300 個のキューとなります。
単価
キューの単価は、キューの総数に基づいて階層的に設定されています。
課金階層 | 単価 (USD/キュー/時間) | |
共有 | 排他的 | |
[0,200] | 0.000044 | 0 |
[201,3000] | 0.000022 | 0.000022 |
[3001,20000] | 0.000044 | 0.000044 |
[20001,100000] | 0.000088 | 0.000088 |
課金例
次の例では、2 時間にわたるインスタンスのキュー料金を計算します。
時間 | アクティビティ | 実際の課金対象数量 | 単価 | 合計料金 |
1 時間目 | 150 個のキューを作成し、その後 50 個を削除します。 | 150 | 150 個のキューは [0,200] 階層に該当します。単価は USD 0.000044/キュー/時間 です。 | 150 × 0.000044 = USD 0.0066 |
2 時間目 | さらに 500 個のキューを追加します。 | 100 + 500 = 600 |
| 200 × 0.000044 + 400 × 0.000022 = USD 0.0176 |
メッセージストレージ料金
サーバーレスインスタンスでは、消費済みのメッセージを含むすべてのメッセージについて、最大 3 日間のストレージ容量と保持期間に基づいてストレージ料金が発生します。
課金数式
1 時間あたりのストレージ料金 = ストレージ容量 (GB) × 単価 (USD/GB・時間)
単価
リージョン | 単価 (USD/GB/時間) |
UAE (ドバイ) および サウジアラビア (リヤド - パートナー運営) 以外のリージョン | 0.000319 |
UAE (ドバイ) | 0.0005742 |
サウジアラビア (リヤド - パートナー運営) | 0.0003828 |
アウトバウンドインターネットトラフィック
サーバーレスインスタンスでは、インターネットアクセスを使用した際に発生するアウトバウンドインターネットトラフィックに対してのみ料金が発生します。
インターネットアクセスが無効になっている場合は、アウトバウンドインターネットトラフィックに対する料金は発生しません。
課金数式
1 時間あたりのインターネット料金 = アウトバウンドインターネットトラフィック総量 (GB) × 単価 (USD/GB)
単価
リージョン | 単価 (USD/GB) |
サウジアラビア (リヤド - パートナー運営) 以外のリージョン | 0.13 |
サウジアラビア (リヤド - パートナー運営) | 0.156 |
メッセージトレース
メッセージトレース機能を有効にすると、サーバーレスインスタンスでは生成されたメッセージトレースログの数に基づいて料金が発生します。
この機能が無効の場合は、料金は発生しません。
課金数式
1 時間あたりのメッセージトレース料金 = メッセージトレースログ数 × トレース単価 (USD)
ログカウントルール
次の API オペレーションにより、課金対象のメッセージトレースログが生成されます。オペレーションが失敗した場合でも、生成されたログには料金が発生します。
BasicAck
BasicConsume
BasicGet
BasicNAck
BasicReject
SendMessage
PushMessage
単価
リージョン | 単価 (USD) |
サウジアラビア (リヤド) 以外のリージョン | 0.0155 |
サウジアラビア (リヤド) | 0.0186 |
インスタンス料金
インスタンス料金は、PrivateLink エンドポイントを使用する従量課金インスタンスにのみ適用されます。
この料金は、2 つの可用性ゾーンにまたがる PrivateLink インスタンスをカバーし、1 GB のストレージ容量、30 個のキュー、および 1 時間あたり 50,000 件のメッセージ送受信(通常、スケジュール、シーケンシャルなどすべてのタイプを含む)の無料枠が含まれています。
課金数式
1 時間あたりのインスタンス料金 = PrivateLink エンドポイントを使用する従量課金インスタンス数 × 単価 (USD/インスタンス・時間)
単価
リージョン | インスタンス料金 (USD/時間) |
その他のパブリッククラウドリージョン | 0.02 |
UAE (ドバイ) | 0.04 |
サウジアラビア (リヤド) | 0.024 |
PrivateLink
PrivateLink エンドポイントを有効にすると、それを介して ApsaraMQ for RabbitMQ にアクセスする際に料金が発生します。詳細については、「PrivateLink エンドポイント」をご参照ください。
よくある質問
Q: サーバーレスインスタンスのトラフィックは少ないのに月額料金が高い、またはプロビジョニング済み容量料金が高すぎるように感じます。どうすればよいですか?
サーバーレスインスタンスの料金は、次の 2 つのコンポーネントで構成されています。
実際のリソース使用量料金:メッセージングリクエスト、ストレージ使用量、キュー数、アウトバウンドインターネットトラフィック、および(有効な場合)メッセージトレースに基づく料金。
プロビジョニング済み容量料金:プロビジョニング済み容量仕様 (TPS) と使用期間に基づく料金。実際のトラフィック量とは無関係です。これは「プロビジョニング済み容量+エラスティック」課金方法を使用するインスタンスにのみ適用されます。
月額料金が予想よりも高い場合は、次の手順で原因を特定してください。
課金管理にログインして、請求明細を確認し、最も料金が高い課金項目を特定します。
プロビジョニング済み容量料金が高い場合は、プロビジョニング済み容量仕様 (TPS) がワークロードに適切に設定されているか確認してください。本ドキュメントの「プロビジョニング済み容量」と「エラスティックトラフィック」のセクションを参照し、課金ルールを確認のうえ、必要に応じてプロビジョニング済み容量仕様を調整してください。
Q: 請求書で個々のキュー単位のコスト内訳を確認できますか?
現在、請求書およびコンソールでは、個々のキュー単位にまで分解したコスト内訳を確認することはできません。
代わりに、次の方法でキューごとのコストを概算できます。
Simple Log Service (SLS) を有効にしてクエリを行い、各キューの
sendCnt(メッセージ受信数)およびpushCnt(メッセージ配信数)の値を取得します。「メッセージングのカウントルール」セクションで説明されているカウントルール(4 KB ペイロードサイズ乗数(⌈メッセージサイズ / 4 KB⌉)および適用される単価を含む)を適用して、各キューの概算コストを計算します。
Q: サーバーレスの異なる課金モード(メッセージングリクエスト課金とプロビジョニング済み容量+エラスティックトラフィック課金)のテストコストをどのように見積もったり比較したりできますか?
インスタンス作成ページでは、インスタンスを設定すると右下隅に見積もり価格がリアルタイムで更新されます。購入ページに入り、課金方法(メッセージングリクエスト課金、プロビジョニング済み容量+エラスティックトラフィック課金、サブスクリプション)を切り替えることで、購入を確定せずに直接見積もりコストを比較できます。これにより、テストまたは本番シナリオに最も費用対効果の高いオプションを評価できます。
Q: メッセージトラフィックがない場合でも料金は発生しますか? 完全に課金を停止するにはどうすればよいですか?
サーバーレスインスタンスでは、PrivateLink エンドポイントを使用するインスタンスを除き、固定のインスタンス料金は発生しません。ただし、料金はメッセージングリクエストだけで決まるわけではありません。メッセージの送受信が行われていない場合でも、キュー数やメッセージストレージなどの課金項目により料金が発生し続けます。これらの料金は、キューまたは vhost が削除されていない場合、またはプロデューサーおよびコンシューマーのクライアント接続が開いたままの場合に継続します。
課金を完全に停止するには、次の手順を順番に実行してください。
インスタンス内のすべてのキューを削除します。
vhost を削除します。
すべてのプロデューサーおよびコンシューマーのクライアント接続を切断します。
翌日の請求書を確認し、課金項目が残っていないこと、および課金が停止していることを検証します。
関連トピック
サーバーレスインスタンスを作成するには、「インスタンス」をご参照ください。
サーバーレスインスタンスが不要になった場合は、「ApsaraMQ for RabbitMQ インスタンスのキャンセル」をご参照ください。
ApsaraMQ for RabbitMQ ではサブスクリプションインスタンスもサポートしています。課金項目の詳細については、「サブスクリプションインスタンスの課金」をご参照ください。