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
  • MSK Serverless (Preview)
  • MSK Connect
  • 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 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 = 5 GB-months

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

    50 GB-months * $010 = $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
  • MSK Serverless (Preview)
  • 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.

    You can use MSK Serverless at no additional cost from November 30, 2021 to December 15, 2021.

    Prices below are for AWS region: US East (Ohio).

    Pricing Dimension Unit Price per unit

    Cluster-hours

    per hour

    $0.75

    Partition-hours per hour

    $ 0.0015

    Storage

    per GiB-month

    $ 0.10

    Data In per GiB

    $ 0.10

    Data Out per GiB

    $ 0.05

    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

Economics Resource Center

Additional resources for switching to AWS

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.