Pricing Overview
Pay as you go with no minimum fees or upfront commitments
With Amazon Managed Streaming for Apache Kafka (Amazon MSK), you pay only for what you use. There are no minimum fees or upfront commitments. You do not pay for Apache ZooKeeper or Apache Kafka Raft (KRaft) controller nodes that Amazon MSK provisions for you for metadata management. You also do not pay for data transfer between brokers or between the metadata management nodes and brokers within your clusters. Amazon MSK pricing is based on the type of resource you create. There are two types of clusters MSK Provisioned clusters and MSK Serverless clusters. With MSK Provisioned clusters, you can specify and then scale cluster capacity to meet your needs. With MSK Serverless clusters, you don't need to specify or scale cluster capacity. You can also create Kafka Connect connectors using Amazon MSK Connect. See the following tabs for detailed pricing and examples.
Pricing tools
Calculate your Amazon MSK and architecture cost in a single estimate
-
MSK Provisioned
-
MSK Serverless
-
MSK Connect
-
MSK Replicator
-
MSK Provisioned
-
MSK Provisioned offers two types of brokers: 1) Express brokers are purpose-built to make Apache Kafka easier to manage, deliver up to 3x more throughput per broker, scale up to 20x faster –also a 90% reduction in recovery time compared to Standard brokers; and 2) Standard brokers that offer maximum flexibility and choice for control.
Express BrokersYou pay an hourly rate for Express broker instance usage (billed at one-second resolution), with varying fees depending on the size and number of broker instances in your Amazon MSK cluster. See the Broker Instance Pricing Tables for details. You also pay for the amount of storage you use in your cluster. This is calculated by adding up the GB stored per hour and dividing by the total 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 pay a per-GB rate for data written to an Express broker (billed at per-byte resolution).
You are not charged for data transfer used for replication between brokers or between metadata nodes and brokers. You will pay standard AWS data transfer charges for data transferred in and out of Amazon MSK clusters.
You can also enable private connectivity (powered by AWS PrivateLink) if you need to connect your 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 AWS PrivateLink charges
Standard BrokersYou 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.
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.You are not charged for data transfer used for replication between brokers or between metadata nodes and brokers. You will pay standard AWS data transfer charges for data transferred in and out of Amazon MSK clusters.
You can also enable private connectivity (powered by AWS PrivateLink) if you need to connect your 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 AWS PrivateLink charges for the for the Amazon MSK Managed VPC connections used by your Apache Kafka clients to connect privately to the cluster.
Example 1 (Standard brokers)
If three kafka.m7g.larges are active in the US East (N. Virginia) AWS Region, and your brokers use 1 TB of storage for 15 days in March and 2 TB of storage for the final 16 days in March, you would pay the following for the month:
Total charge = (broker instance 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
$0.204 (price per hour for a kafka.m7g.large)
2,232 hours * $0.204 = $455.33
Storage charges in GB-months
- Calculate GB-hours: (1000 GB * 15 days * 24 hrs/day) + (2,000 GB * 16 days * (24 hrs/day) = 1,128,000 GB-hours
- Calculate GB-months: 1,128,000 GB hours / 24 hrs / 31 days = 1,516.13 GB- months
$0.10 (the price per GB-month in US East region)
1,516.13 GB-months * $0.10 = $151.61
Total = $455.33 + $151.61 = $606.94 * This workload represents a 100 KB/second ingest rate with 24-hour retention and a replication factor of 2. Data transfer charges apply and are estimated to be $5/month for this workload.
Example 2 (Standard brokers)
If three kafka.m5.larges are active in the US East (N. Virginia) AWS Region, and your brokers use 1 TB of storage for 15 days in March and 2 TB of storage for the final 16 days in March, you would pay the following for the month:
Total charge = (broker instance 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
$0.21 (price per hour for a kafka.m5.large)
2,232 hours * $0.21 = $468.72
Storage charges in GB-months
- Calculate GB-hours: (1000 GB * 15 days * 24 hrs/day) + (2,000 GB * 16 days * (24 hrs/day) = 1,128,000 GB-hours
- Calculate GB-months: 1,128,000 GB hours / 24 hrs / 31 days = 1,516.13 GB- months
$0.10 (the price per GB-month in US East region)
1,516.13 GB-months * $0.10 = $151.61
Total = $468.72 + $151.61 = $620.33 Example 3 (Standard brokers)
Let’s assume you have three kafka.m5.large instances active in the US East (N. Virginia) AWS 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.
Total charges = (broker instance charge) + (primary storage charge) + (low-cost tier charge) + (low-cost tier retrieval charges)
Charges Usage Rate Sub totals Broker instance charges (instance usage, in hours)
31 days * 24 hrs/day * 3 brokers = 2,232 hours
$0.21 (price per hour for a kafka.m5.large)
2,232 hours * $0.21 = $468.72
Storage charges in GB-months
Calculate GB-months: 744,000 GB hours / 24 hrs / 31 days = 1000 GB- months
$0.10 (the price per GB-month in US East region)
1000 GB-months * $0.10 = $100
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.
$0.060 (the price per GB-month in US East region)
We charge $0.060 GB-Month. The total storage costs for 30 day retention is =5,062.5*0.06 = $303.75
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.
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.0015 the price per GB in US East region)
We charge $0.0015 per GB. The total retrieval charge = 5,062*0.0015= $7.9
Example 4 (Express brokers)
If you have three express.m7g.larges active in the US East (N. Virginia) AWS 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 $0.408 (price per hour for a msk.m7g.large)
2,232 hours * $0.408 = $910.66
Data ingested charges in GB
1,000 GB
$0.01 (price per GB of data ingested)
1,000 GB* $0.01 = $10
Storage charges in GB-months 1,000 GB-months
$0.10 (the price per GB-month in US East region) 1,000 GB-months * $0.10 = $100.00 Total = $910.66 + $10 + $100 = $1020.66 (optional) Provisioned Storage Throughput example
If you choose to turn on provisioned storage throughput and provision 300 MB/s of storage throughput for 31 days in your Amazon MSK cluster with 3 brokers in the US East (N. Virginia) AWS region, you would pay the following additional charge on top of the broker instance and storage charges as shown in above examples:
Total charge = (broker instance charge) + (storage charge) + (provisioned storage throughput charge)
Charges Usage Rate Sub totals Provisioned storage throughput charges in MB/s-months
3 brokers * 300 MB/s = 900 MB/s-months
$0.08 (price per MB/s-months in the US East region)
900 MB/s-months * $0.08 = $72
(Optional) Multi-VPC private connectivity example
If you have producers and consumers in different VPCs or AWS accounts than your Amazon MSK cluster with 3 brokers in the US East (N.Virginia) AWS 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:
Total MSK charges = (broker instance charge) + (primary storage charge) + (multi-VPC private connectivity charges).
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.0225 per private connectivity-hour-per-authentication scheme
We charge $0.0225 per private connectivity-hour-per-authentication.
Fixed private connectivity charge = 730 x 0.0225 = $16.43
Multi-VPC private connectivity data processing charge
Calculate GB processed. Since you are processing a total of 6MB/s (1 producer + 2 consumers = 21 GB/hour
$0.006 per GB processedWe charge $0.006 per GB processed.
Variable data processing charge = 21.6 x 0.006 x 730 = $94.62
-
MSK Serverless
-
With MSK Serverless, you pay an hourly rate for your serverless clusters and an hourly rate for each partition that you create. Additionally, you pay per GB of data that your producers write to and your consumers read from the topics in your cluster. Amazon MSK charges you only for the storage you consume.
You will pay standard AWS data transfer charges for data transferred to or from another region and for data transferred out to the public internet.
Example
Let’s assume you create a MSK Serverless cluster in US East (Ohio) AWS region. The cluster has 5 topics with 20 partitions each. Daily, your producers write on average 100GB of data and your consumers read 200GB of data. You also retain that data for 24 hours to ensure it is available for replay. In the above scenario, you would pay the following for a 31-day month:
Total = per-hour cluster charge + per-hour partition charge + data-in charges + data-out charges + storage charges
Charges Usage Rate (in US East) Sub totals Cluster-hours
31 days * 24 hrs/day = 744 cluster-hours
$0.75/cluster-hr
744 * 0.75 = $558.00
Partition-hours
31 days * 24 hrs/day * 5 * 20 = 74,400 partition-hours
$ 0.0015/partition-hr
74,400 * 0.0015 = $111.60
Data-In
100 GB x 31 days = 3,100 GB
$0.10/GB-in
3,100 * $0.10 = $310.00
Data-Out
200 GB x 31 days = 6,200 GB
$0.05/GB-out
6,200 * $0.05 = $310.00
Storage
Average storage used = 100 GB-months
$0.10/GB-month
100 * $0.10 = $10.00
Total = $558 + $111.6 + $310 + $310 + $10 = $1,299.60 -
MSK Connect
-
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.
Example
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 US East (N. Virginia) AWS 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
$0.11 (price per hour per MCU)
1,984 hours * $0.11 = $218.24
Total = $218.24 -
MSK Replicator
-
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 AWS charges for cross-region data transfer between the source and target AWS regions. There is no data transfer charge for SRR.
Example
Let’s assume you want to replicate data from your Amazon MSK cluster in US West (Oregon) to your Amazon MSK cluster in US East (N.Virginia) AWS region. You are ingesting 50MB/s of data into your source cluster and want to replicate the data continuously for 30 days.
Total replication charges = per-hour Replicator charge + Data-Processed charge + Data Transfer charge + Multi-VPC Private Connectivity charges for your source MSK cluster
Charges Usage Rate Sub totals Replicator-hours
720 hours
$0.30 per hour
720 * 0.3 = $216
Data-Processed
126,562.5 GB
$0.08 per GB
126,562.5 * 0.08 = $10,125
Data Transfer charge
126,562.5 GB
$0.02 per GB
126,562.5 * $0.02 = $2,531
Multi-VPC private connectivity hourly charges
720 hours
$0.0225 per hour
$16
Multi-VPC private connectivity data processing charge
126,562.5 GB
$0.006 per GB
$759
Total = $13,647