With Amazon Kinesis Data Analytics, you pay only for what you use. There are no resources to provision or upfront costs associated with Amazon Kinesis Data Analytics.

You are charged an hourly rate based on the average number of Kinesis Processing Units (or KPUs) used to run your stream processing application. A single KPU is a unit of stream processing capacity comprised of 1 vCPU compute and 4 GB memory. Amazon Kinesis Data Analytics automatically scales the number of KPUs required by your stream processing application as the demands of memory and compute vary in response to processing complexity and the throughput of streaming data processed.

For Apache Flink applications, you are charged a single additional KPU per application for application orchestration. Apache Flink applications are also charged for running application storage and durable application backups. Running application storage is used for stateful processing capabilities in Amazon Kinesis Data Analytics and is charged per GB-month. Durable application backups are optional, charged per GB-month, and provide a point-in-time recovery point for applications.

For Apache Flink applications, you are charged a single additional KPU per application, used for application orchestration. Applications are also charged for running application storage and durable application backups. Running application storage is used for Amazon Kinesis Data Analytics’ stateful processing capabilities and is charged per GB-month. Durable application backups are optional and provide a point-in-time recovery point for applications, charged per GB-month.

In streaming mode, Amazon Kinesis Data Analytics automatically scales the number of KPUs required by your stream processing application as the demands of memory and compute vary in response to processing complexity and the throughput of streaming data processed. You may choose to provision your application with the number of KPUs required.

Kinesis Data Analytics Studio Pricing

You are charged two additional KPU per Studio application in interactive mode. One KPU is used for Apache Flink application orchestration and the other for the serverless interactive development environment. You will also be charged for running application storage used for stateful processing capabilities. Running application storage is charged per GB-month.

When developing in the Studio notebook, you will not have the option to create durable application backups. However, when you deploy your application from the Studio notebook’s interactive mode to streaming mode, you will be able to create durable application backups.

Pricing

China (Ningxia) region:

Kinesis Processing Unit, Per Hour                                                ¥ 0.777 per hour
Running Application Storage, Per GB-month (50 GB of running application storage is assigned per Kinesis Processing Unit)                                                ¥ 0.664 per GB-month
Durable Application Storage, Per GB-month                                                ¥ 0.176 per GB-month
Kinesis Processing Unit, Per Hour for Kinesis Data Analytics Studio notebooks                                                ¥ 0.777 per hour
Running Application Storage, Per GB-month for Studio Notebooks                                                ¥ 0.664 per GB-month

China (Beijing) region:

Kinesis Processing Unit, Per Hour                                                ¥ 1.161 per hour
Running Application Storage, Per GB-month (50 GB of running application storage is assigned per Kinesis Processing Unit)                                                ¥ 0.746 per GB-month
Durable Application Storage, Per GB-month                                                ¥ 0.195 per GB-month
Kinesis Processing Unit, Per Hour for Kinesis Data Analytics Studio notebooks                                                ¥ 1.161 per hour
Running Application Storage, Per GB-month for Studio Notebooks                                                ¥ 0.746 per GB-month

General Guidance on KPU Usage

We recommend that you test your application with production loads to get an accurate estimate of the number of KPUs required for your application. KPUs usage can vary considerably based on your data volume and velocity, code complexity, integrations, and more. This is especially true when using the Apache Flink runtime in Amazon Kinesis Data Analytics. For example, through internal testing we have observed throughput of hundreds of MB per second per KPU for simple applications with no state; and throughput less than 1 MB per second per KPU for complex applications that utilize intensive machine learning algorithms. With these caveats in mind, the general guidance we provide prior to testing your application is 1 MB per second per KPU.

A customer uses an Apache Flink application in Amazon Kinesis Data Analytics to read streaming data captured by their Apache Kafka topic in their Amazon MSK cluster. The customer is applying a continuous filter to only retain records of interest. A customer creates one durable application backup per day and retains those backups for seven days. The monthly Amazon Kinesis Data Analytics charges will be computed as follows:

Monthly charges

The price in China (Ningxia) Region is ¥0.777 per KPU-Hour used for the stream processing application. This simple application uses 1 KPU to process the incoming data stream. Each Apache Flink application is charged an additional KPU per application.

30 Days/Month * 24 Hours/Day = 720 Hours/Month
Monthly KPU Charges = 720 Hours/Month * (1 KPU + 1 additional KPU) * ¥0.777 /Hour) = ¥1118.88

Apache Flink applications use 50GB running application storage per KPU and are charged ¥0.664 per GB-month in China (Ningxia) Region.

Monthly Running Application Storage Charges = 720 Hours/Month * 1 KPU * 50GB/KPU * ¥0.664/GB-month = ¥33.20

Apache Flink applications charge ¥0.176 per GB-month in China (Ningxia) Region for durable application backups. Each backup for this application is 1 MB and the customer maintains the 7 most recent backups, creating a new and deleting an old backup every day.

Monthly Durable Application Storage Charges = 7 backups * (1 MB/backup * 1 GB/1000 MB) * ¥0.176 /GB-month = ¥0.001 (rounded)

Total Charges = ¥1118.88 + ¥33.20 + ¥0.001 = ¥1152.081

Pricing Example 2: Studio notebook with a sliding window deployed to streaming mode

A customer uses Amazon Kinesis Data Analytics Studio to build a sliding window on streaming data captured by a topic in their Amazon MSK cluster. They use a Studio notebook with 2 KPU for 8 hours over two days to develop and test their queries. After development they deploy their application as a streaming application with 12 KPU. Once the streaming application is deployed, they stop their Studio notebook. The streaming application continuously runs with durable state. The customer creates durable state backups every day.

Monthly charges

Developing and testing query Kinesis Data Analytics Studio:

KPU charges = 2 Days * 8 Hours * (2 KPU + 2 additional KPU for Studio notebook) * ¥0.777/Hour) = ¥49.728

Apache Flink applications use 50GB running application storage per KPU and charged ¥0.664 per GB-month in China (Ningxia) region.

Running Application Storage Charges = 2 Days * 2 KPU * (50GB * ¥0.664/GB-month) = ¥4.42

Deploying as streaming application to run continuously and take application backups:

KPU charges = 28 Days * 24 Hours *(2 KPU + 1 additional KPU for streaming application) * ¥0.777/Hour) = ¥1566.432

Apache Flink applications use 50GB running application storage per KPU and are charged ¥0.664

Running Application Storage Charges = 28 Days * 2 KPU * (50GB * ¥0.664/GB-month) = ¥61.97

Durable Application Storage Charges = 28* (1 MB/backup * 1 GB/1000 MB) * ¥0.176/GB-month = ¥0.001 (rounded)

Total Charges = ¥49.728 + ¥4.42 + ¥1566.432 + ¥61.97158.40 + $5.00 + ¥0.001 = ¥1682.55163.41

A customer uses an Apache Flink application in Amazon Kinesis Data Analytics to continuously transform and deliver log data captured by their Kinesis Data Stream to Amazon S3. The log data is transformed using several operators including applying a schema to the different log events, partitioning data by event type, sorting data by timestamp, and buffering data for one hour prior to delivery. The application has many transformation steps but none are computationally intensive. This stream ingests data at 2,000 records/second for 12 hours per day and increases to 8,000 records/second for 12 hours per day. The customer does not create any durable application backups. The monthly Amazon Kinesis Data Analytics charges will be computed as follows:

Monthly charges

The price in China (Ningxia) Region is ¥0.777 per KPU-Hour. Kinesis Data Analytics allocates 50GB of running application storage per KPU and charged ¥0.664 per GB-month.

Heavy Workload: During the 12 hour heavy workload period, the Kinesis Data Analytics application is processing 8,000 records/second and automatically scales up to 8 KPUs. After the heavy workload period, the Kinesis Data Analytics application scales the application down after 6 hours of lower throughput. The application is scaled up to 8 KPUs for a total of 18 hours per day.

30 Days/Month * 18 Hours/Day = 540 Hours/Month
Monthly KPU Charges = 540 Hours/Month * 8 KPU * ¥0.777/Hour = ¥3356.64

Monthly Running Application Storage Charges = 540 Hours/Month * 8 KPU * 50GB/KPU * ¥0.664/GB-month = ¥868.48
Monthly KPU and Storage Charges = ¥2868.48 + ¥6225.12 = ¥6226.12

Light Workload: During the light workload period for the remaining 6 hours, the Kinesis Data Analytics application is processing 2,000 records/second and automatically scales down to 2 KPU.

30 Days/Month * 6 Hours/Day = 180 Hours/Month
Monthly KPU Charges = 180 Hours/Month * 2 KPU * ¥0.777/Hour = ¥279.72
Monthly Running Application Storage Charges = 180 Hours/Month * 2 KPU * 50GB * ¥0.664/GB-month = ¥66.40
Monthly KPU and Storage Charges = ¥279.72 + ¥66.40 = ¥346.12

Each Apache Flink application is charged an additional KPU per application.

Monthly Charges = 30 * 24 * 1 KPU * ¥0.777/Hour = ¥559.44

Total Charges = ¥3622.24 + ¥346.12 + ¥559.44= ¥4527.80

Note: We reserve the right to charge standard Amazon Web Services data transfer costs for data transferred in and out of Amazon Kinesis Data Analytics applications.

Pricing Example 4: SQL application with a sliding window and workload spikes

A customer uses a SQL application in Amazon Kinesis Data Analytics to compute a 1-minute, sliding-window sum of items sold in online shopping transactions captured in their Kinesis stream. This stream normally ingests data at 1,000 records/second, but the data spikes once a day during promotional campaigns to 6,000 records/second inside an hour. The monthly Amazon Kinesis Data Analytics charges will be computed as follows:

Monthly charges

The price in China (Ningxia) Region is ¥0.777 per KPU-Hour used for their stream processing application. The incoming Kinesis data stream transmits data at 1,000 records/second. However once a day, inside an hour, the stream spikes to 6,000 records/second.

For ‘steady state’ which occurs 23 of 24 hours in the day, the sliding-window query uses 1 KPU to process the workload during these hours.

30 Days/Month * 23 Hours/Day = 690 Hours/Month
Steady State = 690 Hours/Month * (1 KPU * ¥0.777 /Hour) = ¥536.13

For ‘spiked state’ which occurs for 1 of 24 hours in the day, the sliding-window query uses between 1 and 2 KPUs. The customer will be billed for 2 KPUs for that 1 hour out of the 24 hours in the day.

30 Days/Month * 1 Hour/Day = 30 Hours/Month
Spiked State = 30 Hours/Month * (2 KPUs * ¥0.777/Hour) = ¥46.62