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.

    Example 1

    If two kafka.t3.smalls are active in the US East (N. Virginia) AWS Region, and your brokers use 50 GB of storage* for 31 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 * 2 brokers = 1,488 total hours

    $0.0456 (price per hour for a kafka.t3.small)

    1,488 hours * $0.0456 = $67.85 

    Storage charges in GB-hours

    50 GB * 1 month = 50 GB-months

    $0.10 (price per GB-month in US East region)

    50 GB-months * $0.10 = $5 

    Total = $67.85 + 5 = $72.85 or $2.35/day

    * 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

  • 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. You can also retain data up to 1 day. 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 = 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

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.