ApsaraMQ for MQTT Professional Edition uses a two-part billing model: a fixed monthly subscription for computing capacity and a pay-as-you-go charge for outbound Internet traffic. Inbound Internet traffic and VPC traffic are free.
For supported regions, see Supported regions.
Billing components
| Component | Billing method | What it covers |
|---|---|---|
| Computing specifications | Subscription (prepaid monthly) | Client connections, new connections per second, message read/write TPS, and subscription relationships |
| Internet traffic | Pay-as-you-go (postpaid hourly) | Outbound Internet traffic only |
Computing specifications
Computing specifications set the upper limits for an instance's capacity. Choose a specification based on the number of devices in your fleet and the message throughput your workload requires.
Capacity limits
Each specification defines the following limits:
Maximum client connections -- The maximum number of concurrent TCP connections from clients to the instance. This is a transient value updated every minute.
Maximum new connections per second -- The maximum number of new client connections the instance can accept per second.
Maximum message read/write TPS -- The maximum number of messages produced and consumed per second across the instance. This is a transient value updated every minute.
Only messages sent and received through ApsaraMQ for MQTT count toward this limit. Messages through ApsaraMQ for RocketMQ are excluded.
TPS is multiplied by a Quality of Service (QoS) factor. For details, see Billing factors. For example, if a client uses QoS=2 and cleanSession=true, the billing factor is 5. Producing 10 messages counts as 10 x 5 = 50 messages toward TPS.
Maximum subscription relationships -- The total number of topic subscriptions registered across all clients on the instance. This is a transient value updated every minute.
Maximum subscription relationships for a single client -- The maximum number of topic subscriptions a single client (Client ID) can hold.
A parent topic and its child topics count as separate subscriptions. For example, if Client_1 subscribes to TopicA, TopicA/sub_1, and TopicA/sub_2, that counts as 3 subscription relationships.
To free resources, purge subscription relationships for clients that are no longer in use.
If your workload exceeds the limits of your current specification, the instance is throttled, which can cause connection failures or message delivery errors. Upgrade the instance before you reach the limits.
| Specification | Max client connections | Max new connections/s | Max message read/write TPS | Max subscription relationships | Max subscriptions per client |
|---|---|---|---|---|---|
| mqtt.p2.5xlarge | 5,000 | 100 | 5,000 | 150,000 | 30 |
| mqtt.p2.10xlarge | 10,000 | 200 | 10,000 | 300,000 | 30 |
| mqtt.p2.50xlarge | 50,000 | 1,000 | 50,000 | 500,000 | 30 |
| mqtt.p2.100xlarge | 100,000 | 2,000 | 100,000 | 500,000 | 30 |
| mqtt.p2.200xlarge | 200,000 | 4,000 | 200,000 | 500,000 | 30 |
| mqtt.p2.500xlarge | 500,000 | 10,000 | 500,000 | 500,000 | 30 |
If mqtt.p2.500xlarge does not meet your requirements, submit a ticket to contact Alibaba Cloud technical support.
The 100 TPS specification is deprecated. Existing instances with this specification continue to work, but the specification cannot be restored after an upgrade.
Billing rules
| Item | Description |
|---|---|
| Billable item | The computing specification you purchase |
| Billing method | Subscription -- pay before you use the resources |
| Billing cycle | Monthly |
| Formula | Computing specification fee = Unit price (USD/month) x Subscription duration (months) |
Unit prices
China (Shanghai)
| Specification | Unit price (USD/month) |
|---|---|
| mqtt.p2.5xlarge | 168.42 |
| mqtt.p2.10xlarge | 505.26 |
| mqtt.p2.50xlarge | 1,178.95 |
| mqtt.p2.100xlarge | 2,189.47 |
| mqtt.p2.200xlarge | 4,421.05 |
| mqtt.p2.500xlarge | 11,141.05 |
Philippines (Manila), Indonesia (Jakarta), Malaysia (Kuala Lumpur)
| Specification | Unit price (USD/month) |
|---|---|
| mqtt.p2.5xlarge | 227.37 |
| mqtt.p2.10xlarge | 682.11 |
| mqtt.p2.50xlarge | 1,591.58 |
| mqtt.p2.100xlarge | 2,955.79 |
| mqtt.p2.200xlarge | 5,968.42 |
| mqtt.p2.500xlarge | 15,040.42 |
Hong Kong (China), Singapore, Japan (Tokyo), Germany (Frankfurt), US (Virginia), US (Silicon Valley), SAU (Riyadh - Partner Region)
| Specification | Unit price (USD/month) |
|---|---|
| mqtt.p2.5xlarge | 244.21 |
| mqtt.p2.10xlarge | 732.63 |
| mqtt.p2.50xlarge | 1,709.47 |
| mqtt.p2.100xlarge | 3,174.74 |
| mqtt.p2.200xlarge | 6,410.53 |
| mqtt.p2.500xlarge | 16,154.53 |
Billing example
Assume you purchase an mqtt.p2.50xlarge instance in the China (Shanghai) region for 3 months.
Computing specification fee = 1,178.95 USD/month x 3 months = 3,536.85 USD
Internet traffic
Only outbound Internet traffic is billed. Inbound Internet traffic and VPC traffic are free.
Outbound Internet traffic is the data transferred out of the ApsaraMQ for MQTT service when clients connect through an Internet endpoint.
Billing rules
| Item | Description |
|---|---|
| Billable item | Outbound Internet traffic |
| Billing method | Pay-as-you-go |
| Billing cycle | Hourly |
| Formula | Hourly fee = Total outbound Internet traffic in 1 hour (GB) x Unit price (USD/GB) |
Unit price
| Region | Unit price (USD/GB) |
|---|---|
| All supported regions | 0.15 |
Billing example
Assume you have a Professional Edition instance in the China (Hangzhou) region connected through an Internet endpoint. The outbound traffic generated in a given hour is:
| Time | 01 min | 02 min | 03 min | ... | 59 min | 60 min |
|---|---|---|---|---|---|---|
| Outbound traffic | 0.2 GB | 0.4 GB | 0 | No outbound traffic | 1.5 GB | 0 |
Total outbound traffic = 0.2 + 0.4 + 1.5 = 2.1 GB
Hourly fee = 2.1 GB x 0.15 USD/GB = 0.315 USD
Cost estimation
To estimate your total monthly cost, add the computing specification fee and the expected Internet traffic fee.
For example, assume you deploy an mqtt.p2.10xlarge instance in the Singapore region for 1 month. Your IoT fleet generates an average of 50 GB of outbound Internet traffic per month.
| Component | Calculation | Monthly cost |
|---|---|---|
| Computing specification | 732.63 USD/month x 1 month | 732.63 USD |
| Internet traffic | 50 GB x 0.15 USD/GB | 7.50 USD |
| Total | 740.13 USD |
FAQ
What counts as a message toward TPS?
Only messages sent and received through the ApsaraMQ for MQTT protocol count toward the message read/write TPS limit. Messages routed through ApsaraMQ for RocketMQ are excluded. TPS is also multiplied by a QoS-based billing factor. For details, see Billing factors.
What happens when my instance exceeds the specification limits?
The instance is throttled, which may cause client connection failures or message delivery errors. Monitor your usage and upgrade the instance before you reach the limits.
Can I upgrade or downgrade my instance mid-subscription?
Yes. For details, see Upgrade or downgrade an instance.
Am I charged for VPC traffic?
No. Only outbound Internet traffic is billed. Inbound Internet traffic and traffic over a VPC are free.