# Amazon Kinesis Data Stream

> A Kinesis data stream in provisioned mode bills per shard-hour whether records flow or not, plus PUT payload units per 25 KB written; on-demand mode bills per GB instead. ZopNight tracks 90 days of stream metrics and flags idle streams and over-sharded pipelines paying for unused throughput.

Source: https://zop.dev/integrations/aws/kinesis
Updated: 2026-08-19

---

Amazon Kinesis Data Streams ingests real-time streaming data, billed per shard-hour (provisioned mode) plus PUT payload units. Provisioned shards bill every hour whether data flows or not, so idle streams and over-sharded pipelines waste steadily.

## Shard-hours are a reservation

In provisioned mode, every shard bills per shard-hour around the clock, plus PUT payload units metered per 25 KB written. A shard is throughput capacity (1 MB per second in, 2 MB per second out), and like all reserved capacity it bills whether used or not: a 10-shard stream receiving nothing still bills 240 shard-hours a day. On-demand mode flips the meter to per-GB written and read with no idle charge, at a higher unit rate. Retention beyond 24 hours and enhanced fan-out consumers meter separately on top.

## Streams that outlive their pipelines

The idle stream is the classic finding: a provisioned stream whose producers were decommissioned, billing every shard-hour for zero records, because streaming infrastructure rarely gets cleaned up with the application it fed. Over-sharding is subtler: shard counts set from a launch-day estimate, or scaled up for a burst and never merged back down, leaving sustained throughput at a small fraction of what is being paid for.

## Mode selection mirrors DynamoDB

Steady, predictable throughput favors provisioned shards; spiky or unknown traffic favors on-demand. The 90-day metric window is what keeps that comparison honest. A week of data flatters whichever mode was configured most recently.

## Stream coverage

Streams are discovered on the 6-hour cycle. Hourly CloudWatch metrics from the Kinesis namespace run with a 90-day lookback, per-stream cost comes from Cost Explorer or CUR 2.0, and recommendations cover shard rightsizing and idle streams. Nothing stops: a provisioned stream bills until re-sharded, switched to on-demand, or deleted.

## Shard counts in the console

Kinesis console, then Data streams. The Capacity tab shows the mode and shard count, and Monitoring charts incoming bytes against capacity, which is the over-sharding evidence in one view.
