Skip to main content

Amazon Managed Streaming for Apache Kafka

Amazon MSK pricing

Overview

With Amazon MSK, you pay only for what you use. There are no minimum fees or upfront commitments. You pay for the time your broker instances run, the storage you use monthly, and standard data transfer fees for data in and out of your cluster. You do not pay for Apache ZooKeeper nodes that Amazon MSK provisions for you, or data transfer that occurs between brokers and nodes within clusters.

Broker instance pricing

You pay an hourly rate for Apache Kafka broker instance usage (billed at one-second resolution), with varying fees depending on the size of the broker instance and active brokers in your Amazon MSK clusters. See the Broker Instance Pricing Tables for details.

Broker storage pricing

You also pay for the amount of storage you provision in your cluster. This is calculated by adding up the GB provisioned per hour and dividing by the total number of hours in the month, resulting in a "GB-months" value, as shown in the pricing example. See the Broker Storage Pricing Tables for details. You also have the option to provision additional storage throughput independently, charged by the amount you provision in MB/s per month. This is calculated by adding up MB/s provisioned per hour per broker and dividing by the total number of hours in the month, resulting in a “MB/s-months” value, as shown in (optional) Provisioned Storage Throughput Example.

Data transfer fees

You are not charged for data transfer between brokers or between Apache ZooKeeper nodes and brokers. You will pay standard EC2 rates for data transferred in and out of Amazon MSK clusters.

Multi-VPC private connectivity

You can also enable private connectivity (powered by Amazon PrivateLink) if you need to connect your Apache Kafka clients in one or more VPCs to a MSK cluster in a different VPC. With this feature, you pay an hourly rate for each cluster and authentication scheme that has private connectivity turned on. An authentication scheme is used by customers to authenticate the client requests to the MSK cluster. Additionally, you also pay per GB of data processed through private connectivity. You will pay standard Amazon PrivateLink charges for the for the Amazon MSK Managed VPC connections used by your Apache Kafka clients to connect privately to the cluster.

MSK Connect pricing

You pay an hourly rate for connector usage (billed at one-second resolution), with varying fees depending on the number of workers you use for your connector and the size of each worker, measured in number of MSK Connect Units (MCUs). Each MCU provides 1 vCPU of compute and 4 GB of memory. See the pricing table for details.

MSK Replicator Pricing

With MSK Replicator, you pay an hourly rate for each Replicator you create. A Replicator contains a source cluster, a target cluster and a few optional settings. You can include all topics in your source cluster in a single Replicator within the supported MSK Replicator quotas. It is possible to create multiple Replicators between the same source and target MSK clusters. MSK Replicator supports both cross-region (CRR) and same-region replication (SRR).

Additionally, you pay per GB of data (including metadata) that you process with MSK Replicator. Data processed by MSK Replicator consists of all the data that MSK Replicator receives which includes the data replicated to target cluster and also the data filtered by MSK Replicator (only if your Replicator is configured with “Identical” topic name configuration) to prevent the data being copied back to the same topic it originated from. You can track the total data processed using the “ReplicatorBytesInPerSec” metric and the data replicated using “ReplicatorThroughput” metric in Amazon CloudWatch. If your Replicator is configured with “Prefix” topic name configuration, both these metrics will have the same value as no data will be filtered by MSK Replicator.

For CRR, you also pay the standard Amazon Web Services charges for cross-region data transfer between the source and target Amazon Web Services regions. There is no data transfer charge for SRR.

Broker instance pricing tables

China (Ningxia) Region

Amazon MSK Broker Pricing
Express.m7g.large - vCPU: 2, Memory(GiB): 8
¥2.69
Express.m7g.xlarge - vCPU: 4, Memory(GiB): 16
¥5.38
Express.m7g.2xlarge - vCPU: 8, Memory(GiB): 32
¥10.76
Express.m7g.4xlarge - vCPU: 16, Memory(GiB): 64
¥21.52
Express.m7g.8xlarge - vCPU: 32, Memory(GiB): 128
¥43.04
Express.m7g.12xlarge - vCPU: 48, Memory(GiB): 192
¥64.56
Express.m7g.16xlarge - vCPU: 64, Memory(GiB): 256
¥86.08
m7g.large - vCPU: 2, Memory(GiB): 8
¥ 1.345
m7g.xlarge - vCPU: 4, Memory(GiB): 16
¥ 2.69
m7g.2xlarge - vCPU: 8, Memory(GiB): 32
¥ 5.38
m7g.4xlarge - vCPU: 16, Memory(GiB): 64
¥ 10.7625
m7g.8xlarge - vCPU: 32, Memory(GiB): 128
¥ 21.525
m7g.12xlarge - vCPU: 48, Memory(GiB): 192
¥ 32.285
m7g.16xlarge - vCPU: 64, Memory(GiB): 256
¥ 43.0475
kafka.t3.small - vCPU: 2, Memory (GiB): 2
¥ 0.2098
kafka.m5.large - vCPU: 2, Memory (GiB): 8
¥ 1.485
kafka.m5.xlarge - vCPU: 4, Memory (GiB): 16
¥ 2.97
kafka.m5.2xlarge - vCPU: 8, Memory (GiB): 32
¥ 5.939
kafka.m5.4xlarge - vCPU: 16, Memory (GiB): 64
¥ 11.879
kafka.m5.8xlarge - vCPU: 32, Memory (GiB): 128
¥ 23.758
kafka.m5.12xlarge - vCPU: 48, Memory (GiB): 192
¥ 35.636
kafka.m5.16xlarge - vCPU: 64, Memory (GiB): 256
¥ 47.516
kafka.m5.24xlarge - vCPU: 96, Memory (GiB): 394
¥ 71.271
Data Ingress Pricing (Express Broker only)

  

Price per GB-month for data written to a cluster
¥0.11
Amazon MSK Storage Pricing
 
Price per GB-month for primary storage
¥ 0.664
(optional) Price per MB/s-month for provisioned storage throughput
¥ 0.5312
(optional) Price per GB-month for low-cost storage
¥ 0.4578 
(optional) Price per GB for data retrieval from low-cost storage
¥ 0.0100
(Optional) Amazon MSK multi-VPC Private connectivity
 
Price per MSK cluster per authentication scheme per hour
¥ 0.156
Price per GB processed
¥ 0.072
(Optional) Amazon MSK Connect pricing
 
MSK Connect Unit, Per Hour, billed per second
¥0.78
(Optional) Amazon MSK Replicator pricing

   

Replicator-hours

¥Y2.14

Data-Processed

¥Y0.63

China (Beijing) Region

Amazon MSK Broker Pricing
Express.m7g.large - vCPU: 2, Memory(GiB): 8
¥4.306
Express.m7g.xlarge - vCPU: 4, Memory(GiB): 16
¥8.612
Express.m7g.2xlarge - vCPU: 8, Memory(GiB): 32
¥17.224
Express.m7g.4xlarge - vCPU: 16, Memory(GiB): 64
¥34.448
Express.m7g.8xlarge - vCPU: 32, Memory(GiB): 128
¥68.896
Express.m7g.12xlarge - vCPU: 48, Memory(GiB): 192
¥103.344
Express.m7g.16xlarge - vCPU: 64, Memory(GiB): 256
¥137.792
m7g.large - vCPU: 2, Memory(GiB): 8
¥ 2.1525
m7g.xlarge - vCPU: 4, Memory(GiB): 16
¥ 4.305
m7g.2xlarge - vCPU: 8, Memory(GiB): 32
¥ 8.6125
m7g.4xlarge - vCPU: 16, Memory(GiB): 64
¥ 17.225
m7g.8xlarge - vCPU: 32, Memory(GiB): 128
¥ 34.45
m7g.12xlarge - vCPU: 48, Memory(GiB): 192
¥ 51.6725
m7g.16xlarge - vCPU: 64, Memory(GiB): 256
¥ 68.8975
kafka.t3.small - vCPU: 2, Memory (GiB): 2
¥ 0.2878
kafka.m5.large - vCPU: 2, Memory (GiB): 8
¥ 2.218
kafka.m5.xlarge - vCPU: 4, Memory (GiB): 16
¥ 4.437
kafka.m5.2xlarge - vCPU: 8, Memory (GiB): 32
¥ 8.874
kafka.m5.4xlarge - vCPU: 16, Memory (GiB): 64
¥ 17.748
kafka.m5.8xlarge - vCPU: 32, Memory (GiB): 128
¥ 35.496
kafka.m5.12xlarge - vCPU: 48, Memory (GiB): 192
¥ 53.243
kafka.m5.16xlarge - vCPU: 64, Memory (GiB): 256
¥ 70.992
kafka.m5.24xlarge - vCPU: 96, Memory (GiB): 394
¥ 106.487
Data Ingress Pricing (Express Broker only)

  

Price per GB-month for data written to a cluster
¥0.11
Amazon MSK Storage Pricing
 
Price per GB-month for primary storage
¥ 0.746
(optional) Price per MB/s-month for provisioned storage throughput
¥ 0.5968
(optional) Price per GB-month for low-cost storage
 ¥ 0.5087 
(optional) Price per GB for data retrieval from low-cost storage
¥ 0.0100 
(Optional) Amazon MSK multi-VPC Private connectivity
 
Price per MSK cluster per authentication scheme per hour
¥ 0.156
Price per GB processed
¥ 0.072
(Optional) Amazon MSK Connect pricing
 
MSK Connect Unit, Per Hour, billed per second
¥1.16
(Optional) Amazon MSK Replicator pricing

    

Replicator-hours

¥Y3.00

Data-Processed

¥Y0.63

Pricing Examples

Example 1

If two kafka.t3.smalls are active in the China (Ningxia) region, and your brokers use 50GB of storage* for 31 days in March, you would pay the following for the month:

Broker instance charge

Instance usage (in hours) = 31 days x 24 hrs/day x 2 brokers = 1,488 hours x ¥ 0.2098 (price per hour for a kafka.t3.small) = ¥ 312.18

Storage charge

Storage usage in GB-Hours = 50 GB x 1 month = 50 GB-Months x ¥ 0.664 (the price per GB-Month in China (Ningxia) region) = ¥ 33.2

Total charge = ¥ 312.18 (broker instance charge) + ¥ 33.2 (storage charge) = ¥ 345.38, which is ¥ 11.14/day.

*This workload represents a 100KB/s ingest rate with 24 hour retention and replication factor of 2. Data transfer charges apply and are estimated to be ¥ 33.2/month for this workload.

Example 2

If three kafka.m5.larges are active in the China (Ningxia) region, and your brokers use 1TB of storage for 15 days in March and 2TB of storage for the final 16 days in March, you would pay the following for the month:

Broker instance charge

Instance usage (in hours) = 31 days x 24 hrs/day x 3 brokers = 2,232 hours x ¥ 1.485 (price per hour for a kafka.m5.large) = ¥ 3314.52

Storage charge

Storage usage in GB-Hours = [1000 GB x 15 days x (24 hrs/day)] + [2000 GB x 16 days x (24 hrs/day)] = 1,128,000 GB-Hours

Convert GB-Hours to GB-Months to calculate the monthly charge:

1,128,000 GB-Hours / 24 hrs / 31 days = 1,516.13 GB-Months x ¥ 0.664 (the price per GB-Month in China (Ningxia) region) = ¥ 1006.71

Total charge = ¥ 3314.52 (broker instance charge) + ¥ 1006.71 (storage charge) = ¥ 4321.23

(optional) Provisioned Storage Throughput example

If you have producers and consumers in different VPCs or Amazon Web Services accounts than your Amazon MSK cluster with 3 brokers in the China (Ningxia) region and you ingest 2MB/s of data and have 2 consumers reading all the data, you can choose to turn on multi-VPC private connectivity to enable cross-VPC connectivity. You would pay the following additional charge on top of the broker instance and storage charges as shown in above examples:

Charges
Usage
Rate
Sub totals
Provisioned storage throughput charges in MB/s-months

3 brokers x 300 MB/s = 900 MB/s-months

¥ 0.5312 (the price per MB/s-month in the China (Ningxia) region)

900 MB/s-months x ¥0.5312 = ¥478.08

Total MSK charges = (broker instance charge) + (primary storage charge) + (multi-VPC private connectivity charges). 

(optional) Multi-VPC private connectivity example

If you have producers and consumers in different VPCs or Amazon Web Services accounts than your Amazon MSK cluster with 3 brokers in the China (Ningxia) region and you ingest 2MB/s of data and have 2 consumers reading all the data, you can choose to turn on multi-VPC private connectivity to enable cross-VPC connectivity. You would pay the following additional charge on top of the broker instance and storage charges as shown in above examples:

Charges
Usage
Rate
Sub totals
Multi-VPC private connectivity hourly charges
Calculate private-connectivity hours per authentication scheme. Since you are using 1 authentication scheme on a 3-node cluster, you will be charged for 1 unit of private connectivity for 31 days. Total private connectivity hours = 1 unit pf private connectivity x 730 hours in a month = 730 PrivateConnectivity hours

¥ 0.156 per private connectivity-hour-per-authentication scheme

We charge ¥ 0.156 per private connectivity-hour-per-authentication.

Fixed private connectivity charge = 730 x 0.156 = ¥ 113.8

Multi-VPC private connectivity data processing charge
Calculate GB processed. Since you are processing a total of 6MB/s (1 producer + 2 consumers) = 21.6 GB/hour. 
¥ 0.072 per GB processed

We charge ¥ 0.072 per GB processed. 

Variable data processing charge = 21.6 x 0.072 x 730 = ¥ 1135.3

Total MSK charges = (broker instance charge) + (primary storage charge) + (multi-VPC private connectivity charges). 

Example 3

Let’s assume you have three kafka.m5.large instances active in the China (Ningxia) Amazon Region. You want to retain data for a total of 30 days with 1-days data in the primary storage. You are ingesting 2MB/s of data into your cluster. You want to provision 1TB of primary storage for your real-time processing and store the last 30-days’ worth of data in the low-cost tier. You also want to read all the data stored in the low-cost tier with one application.

Charges
Usage
Rate
Sub totals
Broker instance charges (instance usage, in hours)
31 days * 24 hrs/day * 3 brokers = 2,232 hours

¥ 1.485 (price per hour for a kafka.m5.large the China (Ningxia) region)

2,232 hours * ¥ 1.485 = ¥ 3314.52

Storage charges in GB-months

Calculate GB-months: 744,000 GB hours / 24 hrs / 31 days = 1000 GB- months

¥ 0.664 (the price per GB-month in the China (Ningxia) region)

1000 GB-months * 0.664= ¥ 664

Low-cost tier Storage charges in GB-month
1. Calculate byte-hrs. Based on your ingest rate of 2MB/s you will accumulate 7,549,747,200 bytes in an hour (2*1024 *1024*3600). Total Byte-Hour usage in a month is (7,549,747,200 *30 days * 24 hours/day = 5,435,817,984,000 Byte-Hours.

2. Converting it to GB-month 5,435,817,984,000 Byte-Hours/1,073,741,824 bytes per GB =5062.5 GB per month.

¥0.4578  (the price per GB-month in the China (Ningxia) region)

¥0.4578  (the price per GB-month in the China (Ningxia) region)

We charge ¥ 0.4578 GB-Month. The total storage costs for 30 day retention is =5,062.5*0.4578  = ¥ 2,317.61

We charge ¥ 0.4578 GB-Month. The total storage costs for 30 day retention is =5,062.5*0.4578  = ¥ 2,317.61

Low-cost tier data retrieval charges
Since you are storing 5062GBs and retrieving all the data with a single application, you will be reading 5,062GBs of data.

¥0.0100  (the price per GB in the China (Ningxia) region)

We charge ¥ 0.0100 per GB. The total retrieval charge = 5,062*0.0100= ¥ 50.62

Total charges = (broker instance charge) + (primary storage charge) + (low-cost tier charge) + (low-cost tier retrieval charges)

Example 4 (Express brokers)

If you have three express.m7g.larges active in the China (Ningxia) Region, and you ingest and store 1 TB of data for 31 days in March, you will pay the following for the month:Total charge = (broker instance charge) + (data-in charge) + (storage charge)

Charges
Usage
Rate
Sub totals
Broker instance charges (instance usage, in hours)
31 days *24 hrs/day *3 Brokers= 2,232 hours
¥ 2.69 (price per hour for a express.m7g.large)
2,232 hours * ¥ 2.69 = ¥ 6004.08
Data ingested charges in GB
1,000 GB
¥ 0.11 (price per GB of data ingested)
1,000 GB* ¥ 0.11 = ¥ 110
Storage charges in GB-months
1,000 GB-months
¥ 0.664 (the price per GB-month in US East region)
1,000 GB-months * ¥ 0.664= ¥ 664

Total = ¥ 6004.08 + ¥ 110+ ¥ 664= ¥ 6778.08

Example 5

Let’s say you use Amazon MSK Connect to stream data from a topic in your Amazon MSK cluster to an Amazon Simple Storage Service (S3) bucket in the China (Ningxia) Region, and your connector is configured as follows:Autoscale two to four workers, with each worker using 1 MCU. During the work day (eight hours), the connector scales out to four workers, and after the work day is over (16 hours), it scales down to two workers.In this case, you would pay the following for the month:Total charge = Apache Kafka Connect worker charge

Charges
Usage
Rate
Sub totals
Apache Kafka Connect worker charges (MCUs, in hours)
31 days * [(8 hrs/day * 4 workers x 1 MCU/worker) + (16 hrs/day * 2 workers x 1 MCU/worker)] = 1,984 hours
Y0.777 (price per hour per MCU)
1,984 hours * ¥0.777 = ¥1,541.57

Total = ¥1,541.57

Get started with Amazon MSK

Calculate your costs

Missing alt text value Visit the Amazon MSK pricing page. pricing page

Review the getting-started guide

Missing alt text value step-by-step guide

Run your Apache Kafka cluster

Missing alt text value Start running your Apache Kafka cluster on Amazon MSK. Log in to the Amazon MSK console. Amazon MSK console