ApsaraMQ for RabbitMQ Serverless instances support two billing types: Reserved + Elastic and Pay-by-Cumulative-Usage. Both are billed hourly, starting from the time of purchase.
-
Reserved + Elastic: Reserve a fixed messaging capacity (in TPS) and pay a lower rate for it. Traffic that exceeds your reserved capacity is billed as elastic traffic. Best for workloads with predictable baseline throughput.
-
Pay-by-Cumulative-Usage: Pay only for the messages you send and receive, with no upfront capacity commitment. Best for workloads with variable or unpredictable traffic.
Use the ApsaraMQ for RabbitMQ Serverless Instance Price Calculator to estimate your costs.
Supported regions
Serverless instances are available only in specific regions. For more information, see Supported regions.
Billable items at a glance
The following table lists all billable items. For unit prices and formulas, see the corresponding sections.
| Billable item | Applies to | Description |
|---|---|---|
| Messages sent and received | Pay-by-Cumulative-Usage | Fee based on total message count |
| Reserved capacity | Reserved + Elastic | Fixed hourly fee for reserved TPS |
| Elastic traffic | Reserved + Elastic | Fee for traffic exceeding the reserved capacity |
| Queues | Both | Fee based on peak queue count per hour |
| Message storage | Both | Fee based on storage space used |
| Outbound Internet traffic | Both | Fee for public network egress (only if enabled) |
| Message trace | Both | Fee for trace logs (only if enabled) |
| Instance fee | Pay-by-Cumulative-Usage | If a Pay-by-Cumulative-Usage instance uses PrivateLink endpoints, an hourly instance fee is charged. |
| PrivateLink | Both | Fee for PrivateLink endpoint access (only if enabled) |
How messages are counted
These counting rules apply to all message-related billable items: messages sent and received, reserved capacity, and elastic traffic.
Total messages = Messages received by queues + Messages delivered to consumers
-
Messages received: Counted per queue. If an exchange routes one message to three queues, that counts as three received messages.
-
Messages delivered: Each successful delivery counts as one, regardless of whether the consumer returns an ACK.
-
Payload size: A message of 4 KB or smaller counts as one message. For larger messages, divide the size by 4 KB and round up. For example, an 18 KB message counts as ⌈18/4⌉ = 5 messages.
Note⌈ ⌉ denotes the ceiling function (round up to the nearest integer).
Messages sent and received
*Applies to: Pay-by-Cumulative-Usage billing type only*
Formula
Hourly message fee = Total messages sent and received × Unit price per message
Unit prices
|
Message type |
Unit price (USD/million messages) |
||
|
Regions other than UAE (Dubai) and SAU (Riyadh - Partner Region) |
UAE (Dubai) |
SAU (Riyadh - Partner Region) |
|
|
Normal message received or delivered |
0.31 |
0.62 |
0.372 |
|
Delayed message received |
1.55 |
3.1 |
1.86 |
|
Delayed message delivered |
0.31 |
0.62 |
0.372 |
Billing example
An instance in the China (Hangzhou) region processes the following messages in one hour:
-
Producers send 7 million normal messages and 2 million delayed messages. Each message is 8 KB.
-
Consumers receive 8 million normal messages and 3.2 million delayed messages. Each message is 8 KB.
Since each 8 KB message counts as ⌈8/4⌉ = 2 messages:
Normal messages (received + delivered): (7 + 8) × 2 × 0.31 = USD 9.30
Delayed messages received: 2 × 2 × 1.55 = USD 6.20
Delayed messages delivered: 3.2 × 2 × 0.31 = USD 1.984
Total hourly fee: = USD 17.484
Reserved capacity
*Applies to: Reserved + Elastic billing type only*
The reserved capacity fee is a fixed hourly charge based on the TPS capacity you select when purchasing the instance.
Formula
Hourly reserved capacity fee = Reserved capacity (TPS) × Unit price (USD/TPS/hour)
Unit prices
|
Region |
Unit price of reserved capacity (USD/TPS/hour) |
|
|
Shared |
Exclusive |
|
|
Other regions |
0.00013 |
0.00021 |
|
UAE (Dubai) |
0.00026 |
0.00042 |
|
SAU (Riyadh - Partner Region) |
0.000156 |
0.000252 |
Billing example
A Serverless instance in China (Hangzhou) uses a shared deployment with a reserved capacity of 3,000 TPS.
Hourly fee: 3,000 × 0.00013 = USD 0.39
Monthly fee: 0.39 × 24 × 30 = USD 280.8 (assuming 30 days)
Elastic traffic
*Applies to: Reserved + Elastic billing type only*
When the actual TPS exceeds the reserved capacity during any minute within the hour, the excess is billed as elastic traffic. The system samples the peak TPS for each of the 60 minutes and sums the overage.
Formula
Hourly elastic traffic fee = SUM over 60 minutes [Elastic TPS in minute i] × Unit price (USD/TPS/minute)
Where Elastic TPS = max(0, Actual peak TPS - Reserved capacity) for each minute.
Unit prices
|
Region |
Unit price of elastic traffic (USD/TPS/minute) |
|
|
Shared |
Exclusive |
|
|
Other regions |
0.000019 |
0.000028 |
|
UAE (Dubai) |
0.000038 |
0.000056 |
|
SAU (Riyadh - Partner Region) |
0.000022 |
0.0000336 |
Billing example
A Serverless instance in China (Hangzhou) uses a shared deployment with a reserved capacity of 5,000 TPS. During a specific hour:
|
Minute |
00 |
01 |
02 |
03 |
... |
58 |
59 |
|
Peak TPS |
5,200 |
5,300 |
4,000 |
4,500 |
All below 5,000 |
4,800 |
5,100 |
|
Elastic TPS (excess) |
200 |
300 |
0 |
0 |
0 |
0 |
100 |
Elastic traffic fee = (200 + 300 + 100) × 0.000019 = USD 0.0114
Queues
Queue fees are based on the peak number of queues that exist in the instance during each hour.
If you create 300 queues and delete 100 within the same hour, the fee is calculated based on the peak count of 300.
Formula
Hourly queue fee = Number of queues × Unit price per queue
Unit prices (tiered pricing)
|
Queue count |
Unit price per queue (USD/queue/hour) |
|
|
Shared |
Exclusive |
|
|
0 -- 200 |
0.000044 |
0 |
|
201 -- 3,000 |
0.000022 |
0.000022 |
|
3,001 -- 20,000 |
0.000044 |
0.000044 |
|
20,001 -- 100,000 |
0.000088 |
0.000088 |
Billing example
The following table shows how queue fees are calculated over two consecutive hours:
|
Hour |
Queue changes |
Billed count |
Calculation |
Fee |
|
1st |
Created 150, deleted 50 |
150 |
150 falls in the 0--200 tier: 150 × 0.000044 |
USD 0.0066 |
|
2nd |
Created 500 more |
600 (100 remaining + 500 new) |
200 × 0.000044 + 400 × 0.000022 |
USD 0.0176 |
Message storage
The storage fee covers the total storage space occupied by all messages in the instance, including consumed messages. The maximum message retention period is 3 days.
Formula
Hourly storage fee = Storage space used (GB) × Unit price (USD/GB/hour)
Unit prices
|
Region |
Unit price for message storage (USD/GB/hour) |
|
Other regions |
0.000319 |
|
UAE (Dubai) |
0.0005742 |
|
SAU (Riyadh - Partner Region) |
0.0003828 |
Outbound Internet traffic
This fee applies only when public network access is enabled.
Formula
Hourly Internet fee = Outbound traffic (GB) × Unit price (USD/GB)
Unit prices
|
Region |
Unit price for outbound Internet traffic (USD/GB) |
|
Other regions |
0.13 |
|
SAU (Riyadh - Partner Region) |
0.156 |
Message trace
This fee applies only when message trace is enabled. The system generates trace logs for specific API operations, and all generated logs are billed regardless of whether the message is sent or received successfully.
The following API operations generate trace logs:
-
BasicAck
-
BasicConsume
-
BasicGet
-
BasicNAck
-
BasicReject
-
SendMessage
-
PushMessage
Formula
Hourly trace fee = Number of trace logs × Unit price per trace
Unit prices
|
Region |
Unit price for message trace (USD/million traces) |
|
Other regions |
0.0155 |
|
SAU (Riyadh - Partner Region) |
0.0186 |
Instance fee
The instance fee is charged only for instances that use the Pay-by-Cumulative-Usage billing method and PrivateLink endpoints.
This fee includes the PrivateLink instance fees for two zones, and comes with the following free quotas: 1 GB of storage space, 30 queues, and 50,000 messages (of all types including normal, delayed, and sequential) sent and consumed per hour.
Billing formula
Unit prices
Region |
Instance fee (USD/instance/hour) |
Public cloud |
0.02 |
UAE (Dubai) |
0.04 |
SAU (Riyadh - Partner Region) |
0.024 |
PrivateLink
If you enable a PrivateLink endpoint, additional fees apply when you access ApsaraMQ for RabbitMQ through it. For pricing details, see PrivateLink endpoints.
FAQ
Q: How do I choose between Reserved + Elastic and Pay-by-Cumulative-Usage?
Choose Reserved + Elastic if your messaging workload has a predictable baseline throughput. Reserving capacity upfront costs less per TPS than elastic overage pricing. Choose Pay-by-Cumulative-Usage if your traffic is highly variable or you want to avoid committing to a fixed capacity.
Q: How are messages counted when one message is routed to multiple queues?
Each queue that receives the message counts as one received message. If an exchange routes a single message to three queues, that counts as three received messages.
Q: What happens if my traffic exceeds the reserved capacity?
Traffic above the reserved capacity is automatically billed as elastic traffic on a per-minute basis. The excess is billed at the elastic traffic rate.
Q: Are deleted queues still billed?
Queue fees are based on the peak queue count during each billing hour. If you create 300 queues and delete 100 within the same hour, you are billed for 300 queues for that hour.
What's next
-
Release an instance (refund policy)
-
ApsaraMQ for RabbitMQ also supports subscription instances. For more information about the billable items, see Billing of subscription instances.