Amazon Kinesis uses simple pay as you go pricing. There is neither upfront cost nor minimum fees and you only pay for the resources you use. Amazon Kinesis's pricing is based on two dimensions: shard hour and PUT transaction.
Shard is the base throughput unit of an Amazon Kinesis stream. One shard provides a capacity of 1MB/sec data input and 2MB/sec data output. One shard can support up to 1000 PUT and 5 READ transactions per second. You specify the number of shards needed within your Amazon Kinesis stream based on your throughput requirements. You are charged for each shard at an hourly rate.
A PUT transaction is an API call made to Amazon Kinesis from your data producer to add data into your Amazon Kinesis stream. PUT transaction is charged with a per million transactions rate.
* Data transfer is free. AWS does not charge for data transfer from your data producers to Amazon Kinesis, or from Amazon Kinesis to your Amazon Kinesis Applications.
* Please note that Amazon Kinesis is NOT currently available in AWS Free Tier. AWS Free Tier is a program that offers free trial for a group of AWS services. For more details about AWS Free Tier, see AWS Free Tier.
Let’s assume that our data producers perform 1000 PUT transactions per second in aggregate, and each transaction contains 5KB of data. In this case, the total data input rate is 4.9MB/sec (1000 PUT transactions/sec*5KB/transaction). For simplicity, we assume that the throughput and data size of each transaction are stable and constant throughout the day. Please note that we can dynamically adjust the throughput of our Amazon Kinesis stream at any time.
We first calculate the number of shards needed for our Amazon Kinesis stream to achieve the required throughput. As one shard provides a capacity of 1MB/sec data input and supports 1000 PUT transaction/sec, five shards provide a capacity of 5MB/sec data input and support 5000 PUT transactions/sec. So an Amazon Kinesis stream with five shards satisfies our required throughput of 4.9MB/sec at 1000 PUT transactions/sec.
We then calculate our monthly Amazon Kinesis costs using Amazon Kinesis pricing in the US-East Region:
- Shard Hour: One shard costs $0.015 per hour, or $0.36 per day ($0.015*24). Our Amazon Kinesis stream has five shards so that it costs $1.80 per day ($0.36*5). For a month with 31 days, our monthly shard hour cost is $55.80 ($1.80*31).
- PUT Transaction: One million PUT transactions cost $0.028. Our data producers perform 1000 PUT transactions per second in aggregate, which equals to 86,400,000 PUT transactions per day, or 2,678,400,000 PUT transactions per month. Our monthly PUT transaction cost is $74.99 ($0.028*2,678.4).
Adding the shard hour and PUT transaction costs together, our total Amazon Kinesis costs are $4.22 per day, or $130.8 per month. For $4.22 per day, we have a fully-managed streaming data infrastructure that enables us to continuously ingest 5MB of data per second, or 421GB of data per day in a reliable and elastic manner.