Amazon MSK Pricing Explained (2026)
MSK pricing is a stack of metered lines. A provisioned cluster bills broker instance hours and storage. MSK Serverless bills cluster hours, partition hours, and the bytes producers write and consumers read. Data transfer, tiered storage, MSK Replicator, and MSK Connect are extra lines when you use them.
Rates below come from the published examples on the Amazon MSK pricing page. Each example names its Region. Prices as of 21 October 2026. Other Regions use the pricing tables on that page.
Amazon MSK pricing has two cluster shapes. Provisioned clusters bill broker instance hours plus storage per GB-month. MSK Serverless bills cluster hours, partition hours, and data in and out. Tiered storage, data transfer, MSK Replicator, and MSK Connect are separate lines, and rates differ by Region.
How is Amazon MSK pricing calculated?
Provisioned MSK offers Standard brokers and Express brokers. Standard brokers bill instance hours and the storage you provision. Express brokers bill instance hours, the storage you use, and a per-GB charge for data written.
Both shapes bill instance hours at one-second resolution. The pricing page says rates vary by instance size, broker count, and Region.
| Line | Meter | Example rate | Example Region |
|---|---|---|---|
| Standard broker hours | Instance hours, by type | kafka.m7g.large $0.204/hr; kafka.m5.large $0.21/hr | US East (N. Virginia) |
| Standard storage | GB-months provisioned | $0.10 per GB-month | US East |
| Storage throughput | MB/s-months provisioned | $0.08 per MB/s-month | US East |
| Express broker hours | Instance hours | express.m7g.large $0.408/hr | US East (N. Virginia) |
| Express data in | GB written | $0.01 per GB | US East (N. Virginia) |
| Express storage | GB-months used | $0.10 per GB-month | US East |
| Low-cost tier storage | GB-months stored | $0.060 per GB-month | US East |
| Low-cost tier retrieval | GB read back | $0.0015 per GB | US East |
| Serverless cluster | Cluster-hours | $0.75 per hour | US East (Ohio) example |
| Serverless partitions | Partition-hours | $0.0015 per hour | US East (Ohio) example |
| Serverless data in / out | GB written / GB read | $0.10 in, $0.05 out | US East (Ohio) example |
| Serverless storage | GB-months consumed | $0.10 per GB-month | US East (Ohio) example |
| MSK Connect | MCU-hours | $0.11 per MCU-hour | US East (N. Virginia) |
| MSK Replicator | Replicator-hours and GB processed | $0.30/hr and $0.08/GB | Oregon to N. Virginia |
| Cross-region transfer | GB replicated across Regions | $0.02 per GB in that example | Oregon to N. Virginia |
| Private connectivity | Hours per auth scheme, plus GB | $0.0225/hr and $0.006/GB | US East (N. Virginia) |
| Data delivery, S3 Tables | TB delivered | $10.00 per TB | Pricing-page example |
| Data delivery, S3 bucket | TB delivered | $8.00 per TB | Pricing-page example |
Standard brokers
You pay an hourly rate for each active broker. In the US East (N. Virginia) examples, kafka.m7g.large is $0.204 per hour and kafka.m5.large is $0.21 per hour. Broker sizes list the T3, M5, and M7g sizes Standard clusters can use. Some sizes are missing in some Regions, so read the pricing table for the Region you will run.
Storage is what you provision, summed as GB-hours and divided by the hours in the month. The US East example rate is $0.10 per GB-month, and a half-full disk still bills the provisioned size. The create-cluster guide says storage capacity cannot decrease after creation.
Provisioned storage throughput is optional. The US East rate in the pricing example is $0.08 per MB/s-month. Three brokers at 300 MB/s are 900 MB/s-months, which is $72, on top of instance and storage charges. Throughput provisioning starts at kafka.m5.4xlarge, or kafka.m7g.2xlarge for Graviton, per the same create-cluster guide.
Express brokers
The Express example uses three express.m7g.large brokers in US East (N. Virginia) for 31 days. Broker hours are 31 × 24 × 3 = 2,232. At $0.408 per hour that is 2,232 × $0.408 = $910.66.
One thousand GB written at $0.01 per GB is $10. Storage you use, 1,000 GB-months at $0.10, is $100, so the example total is $1,020.66. Express storage is hourly usage rolled into GB-months, while Standard storage is the amount you provision. Express also adds the data-in meter.
Broker types say Express storage is fully managed and limited to M7g sizes. A Standard cluster stays Standard. Moving to Express means a new cluster.
Data transfer, private connectivity, Connect, and delivery
Replication between brokers stays off the data-transfer bill. So does traffic between metadata nodes and brokers. Data transferred in and out of the cluster pays standard AWS data transfer charges. The pricing page leaves that in-Region price to the standard Regional rate.
Multi-VPC private connectivity uses AWS PrivateLink. The US East (N. Virginia) example rate is $0.0225 per private-connectivity hour for each authentication scheme, plus $0.006 per GB processed. AWS's example also adds standard PrivateLink charges for the managed VPC connections. Those rates sit on the PrivateLink pricing page, so they are omitted here.
MSK Connect bills worker time in MSK Connect Units. One MCU is 1 vCPU and 4 GB of memory. The US East (N. Virginia) example rate is $0.11 per MCU-hour, at one-second resolution. A connector that scales from two to four workers comes to 1,984 MCU-hours and $218.24.
Express brokers can deliver topic data to S3 Tables or a general purpose S3 bucket. The pricing-page examples are $10.00 per TB for streaming tables and $8.00 per TB for a general purpose bucket. Standard S3 charges still apply at the destination.
The data delivery guide says a channel delivers records produced after you enable it, with no backfill. That is a forward copy for analytics, separate from a restore point.
How much does MSK Serverless cost?
MSK Serverless bills the throughput you use, and AWS chooses the capacity. The Serverless guide describes that model. The pricing page turns it into five meters: cluster-hours, partition-hours, bytes producers write, bytes consumers read, and storage consumed.
Serverless clusters require IAM access control. Kafka ACLs are unsupported on them.
AWS's worked example creates the cluster in US East (Ohio). The rate column is labeled "in US East". Use these figures for that example, then check the pricing table if your Region differs.
The example has 5 topics with 20 partitions each, 100 GB written a day, and 200 GB read a day. Retention is 24 hours across a 31-day month. AWS's arithmetic:
| Meter | Usage | Rate | Subtotal |
|---|---|---|---|
| Cluster-hours | 31 × 24 = 744 | $0.75 | $558.00 |
| Partition-hours | 744 × 5 × 20 = 74,400 | $0.0015 | $111.60 |
| Data in | 100 × 31 = 3,100 GB | $0.10 | $310.00 |
| Data out | 200 × 31 = 6,200 GB | $0.05 | $310.00 |
| Storage | 100 GB-months | $0.10 | $10.00 |
| Total | $1,299.60 |
Partition count dominates the middle of that bill once topics multiply. Data in and data out dominate when throughput is high and partition count stays modest. Storage is the small line at 24-hour retention. The pricing page adds standard data transfer charges for bytes that leave the Region or go to the public internet.
What does MSK tiered storage cost?
Tiered storage is the low-cost tier on Standard provisioned clusters. The tiered storage guide scopes it to Standard brokers in provisioned mode. Serverless clusters do not offer it.
The minimum retention in the low-cost tier is 3 days. Compacted topics are excluded.
The pricing page's Example 3 prices that tier in US East at $0.060 per GB-month stored and $0.0015 per GB read back. The scenario is three kafka.m5.large brokers, 2 MB/s ingest, one day on primary storage, and 30 days of total retention. One application reads the whole low-cost tier.
| Line | AWS's published subtotal |
|---|---|
| Broker hours, 2,232 × $0.21 | $468.72 |
| Primary storage, 1,000 GB-months × $0.10 | $100 |
| Low-cost tier, 5,062.5 GB-months × $0.060 | $303.75 |
| Retrieval, 5,062 GB × $0.0015 | $7.9 |
Primary storage at $0.10 still covers the hot day. The low-cost tier is the cheaper GB-month, and retrieval grows with every reader that scans history. Closed segments copy to the tier. local.retention.ms decides how long a copy also stays on primary disk.
The retention rules describe that split. Overall retention.ms still deletes the data when it expires, and a bad write stays until then. The tiered storage post separates that retention tier from backup.
How much does cross-region DR with MSK Replicator add?
Cross-region DR with MSK Replicator is three bills: Replicator hours and per-GB processing, the source and target clusters, and cross-region data transfer. The target bills broker hours and storage on its own, and the source cluster keeps billing too. Same-region replication has no data transfer charge on the pricing page.
The Replicator pricing note says you pay for data the Replicator processes. With identical topic names, each Replicator processes the data twice: once to copy it, and once to filter a loop. ReplicatorBytesInPerSec tracks the processed total.
AWS's example replicates 50 MB/s from US West (Oregon) to US East (N. Virginia) for 30 days. The page states 126,562.5 GB for that flow. That figure is 50 × 1,024 × 1,024 bytes per second, times 30 days, divided by 1,024³.
| Line | Usage | Rate | AWS subtotal |
|---|---|---|---|
| Replicator-hours | 720 | $0.30 | $216 |
| Data processed | 126,562.5 GB | $0.08 | $10,125 |
| Cross-region transfer | 126,562.5 GB | $0.02 | $2,531 |
| Multi-VPC connectivity hours | 720 | $0.0225 | $16 |
| Multi-VPC data processing | 126,562.5 GB | $0.006 | $759 |
| Published total | $13,647 |
That $13,647 leaves out both clusters. A target sized like the three-broker example below is a second full MSK bill, every month, whether or not you fail over. The MSK Replicator guide covers how the copy is set up. The Kafka on AWS post covers which failures a live copy absorbs.
MSK Replicator copies the source log forward. A bad produce is a write, so it arrives on the target. Retention and delete-records move the source log forward, and the target has no older snapshot to rewind.
A replica keeps you serving during a region loss. A backup returns the records from before a bad write. OSO Kafka Backup reads MSK as a Kafka client and writes compressed records to S3. The integration uses SASL/SCRAM on port 9096 or mutual TLS on port 9094.
The configuration reference lists those protocols and the S3 backend. Restore stops at time_window_end, a Unix time in milliseconds. consumer_group_snapshot: true stores consumer group offsets with the backup. The AWS backup layout runs that job on EC2 or EKS in the cluster VPC, and the backup cost guide prices the S3 side.
mode: backup
backup_id: msk-prod-daily
source:
bootstrap_servers:
- b-1.mymsk.abcd12.c2.kafka.us-east-1.amazonaws.com:9096
security:
security_protocol: SASL_SSL
sasl_mechanism: SCRAM-SHA512
sasl_username: ${MSK_SCRAM_USER}
sasl_password: ${MSK_SCRAM_PASSWORD}
storage:
backend: s3
bucket: my-kafka-backups
region: us-east-1
prefix: msk/production
backup:
compression: zstd
consumer_group_snapshot: true
kafka-backup backup --config msk-backup.yaml
mode: restore
backup_id: msk-prod-daily
target:
bootstrap_servers:
- b-1.mymsk.abcd12.c2.kafka.us-east-1.amazonaws.com:9096
storage:
backend: s3
bucket: my-kafka-backups
region: us-east-1
prefix: msk/production
restore:
time_window_end: 1701504000000
consumer_group_strategy: header-based
time_window_end is Unix milliseconds. The S3 setup guide covers the bucket and the IAM role. The quickstart is the shortest path to a first run.
What does a 3-broker production MSK cluster cost?
AWS's Example 1 is three kafka.m7g.large brokers in US East (N. Virginia) during a 31-day March. Storage is 1 TB for 15 days and 2 TB for the last 16 days. The footnote workload is 100 KB/s ingest, 24-hour retention, and replication factor 2, and AWS estimates data transfer at $5 for it. Prices as of 21 October 2026.
Broker hours are 31 × 24 × 3 = 2,232. At $0.204 per hour, 2,232 × $0.204 = $455.33.
Storage GB-hours are (1,000 × 15 × 24) + (2,000 × 16 × 24) = 1,128,000. GB-months are 1,128,000 ÷ 24 ÷ 31 = 1,516.13. At $0.10 per GB-month, 1,516.13 × $0.10 = $151.61.
Instance plus storage is $455.33 + $151.61 = $606.94. Add AWS's $5 transfer estimate for the footnote workload and the example month is about $612. That $5 belongs to this small ingest. It is an estimate, so leave it off any other workload.
Hold storage at 1,000 GB for all 31 days and the same rates give a flatter month. Brokers stay $455.33. Storage is 1,000 × $0.10 = $100. The cluster line is $555.33 before data transfer.
Scale storage or broker count from those two rates, and read the pricing table before you change instance type. A second cluster in another Region carries its own broker and storage bill every month. The Replicator example adds $13,647 at 50 MB/s before those cluster bills.
How do you reduce MSK costs?
Right-size the brokers
Keep CPU User plus CPU System under 60 percent. The Standard broker best practices say that headroom covers patching and broker replacement. The same page recommends at most 1,000 partitions per kafka.m7g.large or kafka.m5.large, replicas included.
Past the documented maximum, cluster updates start to fail. The page links a sizing spreadsheet that compares MSK with self-managed Kafka on EC2. Treat that sheet as a starting estimate and test it.
Shorten primary retention
Primary storage in the US East examples is $0.10 per GB-month on the size you provision. The low-cost tier in Example 3 is $0.060 per GB-month, plus $0.0015 per GB read back. Move closed segments there when readers can accept the first-byte latency in the tiered storage guide.
Set local.retention.ms so primary disks hold the hot window. You still pay the brokers. The tier still expires data, and a bad write stays until retention removes it.
Cut cross-AZ client traffic
Set client.rack to the consumer's Availability Zone ID, such as use1-az1. The client best practices say this nearest-replica read cuts network traffic cost and latency. MSK sets broker.rack to those AZ IDs.
Broker-to-broker replication stays off the MSK transfer bill. Client traffic in and out of the cluster pays standard data transfer charges. Open monitoring is free to enable, and that guide charges cross-AZ transfer of the scraped data.
Price Graviton against the m5 row
M7g brokers use AWS Graviton processors. The broker size guide says they offer improved price performance versus comparable M5 brokers, and that they use less power. In the US East (N. Virginia) examples, kafka.m7g.large is $0.204 per hour and kafka.m5.large is $0.21 per hour.
The gap on this size is $0.006 per hour, or $13.39 across the 2,232 hours in Example 1. Read your size in the pricing table before you bank that gap. Express brokers are M7g too, at $0.408 per hour in the example, plus $0.01 per GB written.
Back up to S3 when a hot standby is more than you need
Run the second cluster when the recovery point has to stay seconds behind a live replica. When the recovery point can be the last backup, and a restore fits the recovery time, S3 replaces that standby.
The Replicator example at 50 MB/s is $13,647 for the copy itself, before the target cluster. A backup in S3 bills storage and the job that writes it, and it keeps the records from before a bad write. The layout is the YAML above. The cost shape is the backup cost guide.
FAQ
Frequently asked questions
Is MSK cheaper than self-managed Kafka on EC2?
MSK can cost less once you count patching, broker replacement, and quorum work you would run on EC2. Both bills pay for compute hours and disk. On EC2 those lines are the instance and EBS. On MSK they are broker hours and MSK storage. The pricing-page examples bill brokers and storage, with no separate metadata-node line. The MSK best-practices guide links a sizing spreadsheet for a side-by-side estimate and says to test it. This post does not reprice EC2 or EBS.
Does MSK charge for data transfer between AZs?
Broker-to-broker replication has no MSK data-transfer charge, including across Availability Zones. The same waiver covers traffic between metadata nodes and brokers. Data in and out of the cluster pays standard AWS data transfer charges. The client guide tells you to set client.rack to the AZ ID to cut that network traffic cost. Open monitoring is free to enable, and cross-AZ transfer of the scraped metrics is charged. The pricing page does not list one MSK price per GB for that in-Region transfer.
How is MSK Serverless billed?
You pay cluster-hours, partition-hours, per GB producers write, per GB consumers read, and per GB-month stored. In the US East (Ohio) example the rates are $0.75 per cluster-hour and $0.0015 per partition-hour. Data is $0.10 per GB in and $0.05 per GB out. Storage is $0.10 per GB-month. That example totals $1,299.60 for a 31-day month. Bytes that leave the Region, or go to the public internet, also pay standard data transfer charges.
Does MSK include backups?
No. Amazon MSK has no native backup and restore for topic data. The AWS Backup supported-resource list, checked on 21 October 2026, does not include Amazon MSK. In-cluster replicas and MSK Replicator copy the current log, including a bad write. Tiered storage lengthens retention inside the cluster and still expires data. Express data delivery can land new records in S3, and a channel does not backfill records produced before you enable it.
What does MSK Replicator cost?
You pay for each Replicator hour and for each GB processed. Cross-region replication also pays cross-region data transfer. The Oregon to N. Virginia example at 50 MB/s for 30 days is $13,647. That total covers replicator hours, processed data, transfer, and multi-VPC connectivity. It leaves out the broker and storage bills on both clusters. Same-region replication has no data transfer charge on the pricing page. Identical topic names make the Replicator process the data twice.
Is MSK tiered storage a backup?
No. Tiered storage is a cheaper retention tier on the same Standard provisioned cluster. Closed segments move to the low-cost tier, and retention.ms still deletes them. A bad write stays in that tier until retention removes it. The US East example rate is $0.060 per GB-month stored and $0.0015 per GB read back. A backup is a separate copy you can restore after the live log has moved on.
What to budget
Price the cluster you will actually run. For provisioned MSK that is broker hours by instance type, plus provisioned storage, in a named Region. On Serverless, count partitions and bytes. Add tiered storage, Connect, private connectivity, and data delivery when those features are on.
Add MSK Replicator, cross-region transfer, and a second cluster when you need a live standby. Keep a backup when you need a copy that stays put after a bad write. The Amazon MSK integration is the connection detail, and the Kafka backup on AWS page is the layout.
MSK Replicator keeps a second live log. OSO Kafka Backup writes topics and consumer group offsets to S3 and restores them to a millisecond. Start with the quickstart.