With Amazon Managed Streaming for Apache Kafka (MSK), you pay only for what you use. There are no minimum fees or upfront commitments. You do not pay for Apache ZooKeeper nodes that Amazon MSK provisions for you, or for data transfer that occurs between brokers or between Apache ZooKeeper nodes and brokers within your clusters. Amazon MSK’s pricing is based on the type of resource you create. There are two types of clusters: MSK clusters and MSK Serverless clusters. With MSK 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 MSK Connect. See the various tabs below for detailed pricing and their examples.

  • MSK
  • 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.

    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 between brokers or between Apache ZooKeeper 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.

    Region
    Region
    Region

    Example 1

    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

    1. Calculate GB-hours: (1000 GB * 15 days * 24 hrs/day) + (2,000 GB * 16 days * (24 hrs/day) = 1,128,000 GB-hours
    2. 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

    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

    1. Calculate GB-hours: (1000 GB * 15 days * 24 hrs/day) + (2,000 GB * 16 days * (24 hrs/day) = 1,128,000 GB-hours
    2. 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

    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


    (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 processed

    We 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.

    Region

    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.

    Region

    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 = Kafka Connect worker charge

    Charges Usage Rate Sub totals

    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. 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).

    You also pay per GB of data (including metadata) that you replicate with 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.

    Region

    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-Replicated 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-Replicated

    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

Additional pricing resources

AWS Pricing Calculator

Easily calculate your monthly costs with AWS

Get pricing assistance

Contact AWS specialists to get a personalized quote

Get started with Amazon MSK

Get your questions answered
Get your questions answered

Visit the Amazon MSK FAQs page.

Review the getting-started guide
Review the Get Started guide

Learn how to set up your Apache Kafka cluster on Amazon MSK in this step-by-step guide.

Run your Apache Kafka cluster
Run your Apache Kafka cluster

Start running your Apache Kafka cluster on Amazon MSK. Log in to the Amazon MSK console.