Amazon Kinesis Data Analytics 是使用 Apache Flink 实时转换和分析流数据的最简单的方法,Apache Flink 是一个用于处理数据流的开源框架和引擎。Amazon Kinesis Data Analytics 简化了构建和管理 Apache Flink 工作负载的过程,并且使您可以将应用程序与其他 AWS 服务轻松集成。
使用 Amazon Kinesis Data Analytics,您只需按实际用量付费。您无需预置资源,也无需支付预付费用。我们根据用于运行应用程序的 Kinesis 处理单元 (KPU) 的数量,按小时收取费用。一个简单的 KPU 由 1 个负责计算的 vCPU 和 4GB 存储空间组成。
适用于 Apache Flink 流应用程序的 Amazon Kinesis Data Analytics 定价
对于 Apache Flink 应用程序,每个应用程序要为编排收取一个额外的 KPU 费用。应用程序会被收取运行存储和持久备份的费用。运行应用程序存储会应用于 Amazon Kinesis Data Analytics 中的状态处理功能,并按每月每 GB 收费。持久备份是可选项,用于为应用程序提供时间点恢复,按每月每 GB 收费。
在流式处理模式下,Amazon Kinesis Data Analytics 会随着内存和计算需求的波动自动扩展流式处理应用程序所需的 KPU 数量。您可以选择以所需的 KPU 数量预置您的应用程序。
Amazon Kinesis Data Analytics Studio 定价
在交互式模式下,您将为每个 Studio 应用程序的两个额外 KPU 付费。其中一个 KPU 将用于 Apache Flink 应用程序编排,而另一个将用于无服务器的交互式开发环境。您还将为有状态处理功能所用的运行应用程序存储空间付费。运行应用程序存储将按每月每 GB 的标准付费。
在 Studio 笔记本中进行开发时,您无法选择创建持久应用程序的备份。不过,当您在 Studio 笔记本中将应用程序从交互式模式部署为流式处理模式时,您可以创建持久应用程序的备份。
关于 KPU 使用量的一般性指导
我们建议您使用生产负载测试您的应用程序,以准确估计您的应用程序所需的 KPU 数量。KPU 使用量可能会因您的数据量和速度、代码复杂性、集成等因素而有很大差异。在 Amazon Kinesis Data Analytics 中使用 Apache Flink 运行时的时候尤其如此。例如,通过内部测试,我们发现对于无状态的简单应用程序,每个 KPU 的吞吐量为每秒数百 MB,对于使用密集型机器学习 (ML) 算法的复杂应用程序,每个 KPU 的吞吐量低于每秒 1 MB。考虑到这些注意事项,我们在测试您的应用程序之前提供的一般性指导是每个 KPU 为每秒 1MB。
按区域定价
定价示例
定价示例 1:带有简单流筛选器的 Studio 笔记本
您使用 Amazon Kinesis Data Analytics Studio 持续筛选 Kinesis Data Stream 捕获的流数据,并仅保留感兴趣的记录。您希望能够实时查看记录并予以可视化处理,并且能够以 SQL 和 Python 轻松编写查询和程序。您不需要持久性状态备份。根据输入流的吞吐量,您为自己的 Studio 笔记本预置了 4 个 KPU。您的 Kinesis Data Analytics 月度费用将根据以下方式进行计算:
月度费用
美国东部(弗吉尼亚北部)区域用于流处理应用程序的价格为每 KPU 每小时 0.11 USD。这个简单的应用程序使用 4 KPU 来处理传入的数据流。每个 Studio 笔记本应用程序(例如:交互式模式)需要为每个应用程序的 2 个额外 KPU 付费。每月 KPU 费用 = 30 天 * 24 小时 *((4 KPU + 2 额外 KPU)* 0.11 USD/小时)= 475.20 USD
Apache Flink 应用程序每 KPU 使用 50GB 运行应用程序存储,在 US-East-1 每月每 GB 收费 0.10 USD。
每月运行应用程序存储费用 = 30 天 * 24 小时 * 4 KPU *(50GB * 0.10 USD/月/GB)= 20.00 USD
总费用 = 475.20 USD + 20.00 USD = 495.20 USD
定价示例 2:向流式处理模式部署滑动窗口的 Studio 笔记本
您使用 Kinesis Data Analytics Studio 在您的 Amazon Managed Streaming for Apache Kafka (Amazon MSK) 集群中的主题捕获的流数据上构建滑动窗口。您在两天时间内使用了带有 4 个 KPU 的 Studio 笔记本,每天持续 8 小时,用以开发和测试查询。完成开发后,您将应用程序部署为带有 12 个 KPU 的流处理应用程序。流处理应用程序完成部署后,您便停用了 Studio 笔记本。流处理应用程序可以使用持久的应用程序状态,您可以每天创建持久的状态备份。
美国东部(弗吉尼亚北部)区域用于流处理应用程序的价格为每 KPU 每小时 0.11 USD。
月度费用
开发和测试查询 Kinesis Data Analytics Studio:
KPU 费用 = 2 天 * 8 小时 *(4 KPU + 2 用于 Studio 笔记本的额外 KPU)* 0.11 USD/小时)= 10.56 USD
Apache Flink 应用程序每 KPU 使用 50GB 运行应用程序存储,在 US-East-1 每月每 GB 收费 0.10 USD。
运行应用程序存储费用 = 2 天 * 8 小时 * 4 KPU *(50GB * 0.10 USD/月/GB)= 0.44 USD
部署为流处理应用程序以持续运行并执行应用程序备份:
KPU 费用 = 28 天 * 24 小时 *(2 KPU + 1 用于流处理应用程序的额外 KPU)* 0.11 USD/小时)= 221.76 USD
Apache Flink 应用程序每 KPU 使用 50GB 运行应用程序存储,在 US-East-1 每月每 GB 收费 0.121 USD。
运行应用程序存储费用 = 28 天 * 24 小时 * 2 KPU *(50GB * 0.10 USD/月/GB)= 9.33 USD
持久应用程序存储费用 = 28 *(1MB/备份 * 1GB/1000MB)* 0.023 USD/月/GB = 0.01 USD(四舍五入到最近的美分)
总费用 = 10.56 USD + 0.44 USD + 221.76 USD + 9.33 USD + 0.01 USD = 242.10 USD
定价示例 3:Apache Flink 应用程序执行带有工作负载变更的流 ETL
您使用 Kinesis Data Analytics 中的 Apache Flink 应用程序来不断将 Kinesis Data Stream 捕获的日志数据转换并传送到 Amazon Simple Storage Service (Amazon S3)。使用多个运算符转换日志数据,包括将模式应用于不同的日志事件,按事件类型对数据进行分区,按时间戳对数据进行排序,以及在交付前缓冲数据一小时。该应用程序有许多转换步骤,但没有一个是计算密集型的。这种流每天 12 小时以每秒 2000 条记录的速度摄取数据,并增加至每天 12 小时以每秒 8000 条记录的速度摄取数据。您不创建任何持久应用程序备份。Kinesis Data Analytics 月度费用将根据以下方式进行计算:
月度费用
美国东部(弗吉尼亚北部)区域的价格为每 KPU 每小时 0.11 USD。Kinesis Data Analytics 为每个 KPU 分配 50GB 的运行应用程序存储,每月每 GB 收费 0.10 USD。
繁重工作负载:在 12 小时的繁重工作负载期间,Kinesis Data Analytics 应用程序每秒处理 8000 条记录,并自动扩展到 8 个 KPU。在繁重工作负载期后,Kinesis Data Analytics 应用程序在吞吐量降低 6 小时后将应用程序的规模缩小。应用程序被扩展到 8 个 KPU,每天总计 18 小时。
30 天/月 * 18 小时/天 = 540 小时/月
每月 KPU 费用 = 540 小时/月 * 8 KPU * 0.11 USD/小时 = 475.20 USD
每月运行应用程序存储费用 = 540 小时/月 * 8 KPU * 50GB/KPU * 0.10 USD/月/GB = 30.00 USD
每月 KPU 和存储费用 = 475.20 USD + 30.00 USD = 505.20 USD
轻量工作负载:在余下 6 小时的轻量工作负载期间,Kinesis Data Analytics 应用程序每秒处理 2000 条记录,并自动缩减到 2 个 KPU
30 天/月 * 6 小时/天 = 180 小时/月
每月 KPU 费用 = 180 小时/月 * 2 KPU * 0.11 USD/小时 = 39.60 USD
每月运行应用程序存储费用 = 180 小时/月 * 2 KPU * 50GB * 0.10 USD/月/GB = 2.50 USD
每月 KPU 和存储费用 = 39.60 USD + 2.50 USD = 42.10 USD
对 Apache Flink 应用程序,每个应用程序收取一个额外的 KPU 费用。
月度费用 = 30 * 24 * 1 KPU * 0.11 USD/小时 = 79.20 USD
总费用 = 505.20 USD + 42.10 USD + 79.20 USD = 626.50 USD
定价示例 4:带有滑动窗口和工作负载峰值的适用于 SQL 应用程序的 Kinesis Data Analytics
针对 Kinesis Stream 捕获的在线购物交易中销售的商品,您使用适用于 SQL 应用程序的 Kinesis Data Analytics 来计算 1 分钟内这些商品的滑动窗口总量。数据流摄入数据的速率通常为 1000 条记录/秒,但是数据在促销活动期间每天会出现一次达到 6000 条记录/秒的峰值,时间不超过一个小时。Kinesis Data Analytics 月度费用将根据以下方式进行计算:
月度费用
美国东部(弗吉尼亚北部)区域用于流处理应用程序的价格为每 KPU 每小时 0.11 USD。传入的 Kinesis 数据流的传输数据速度为 1000 条记录/秒。但该数据流每天会出现一次 6000 条记录/秒的峰值,时间不超过一个小时。
对于一天 24 小时中有 23 个小时处于“稳定状态”情况,滑动窗口查询在这些时间使用 1 KPU 处理工作负载。
30 天/月 * 23 小时/天 = 690 小时/月
稳定状态费用 = 690 小时/月 *(1 KPU * 0.11 USD/小时)= 75.90 USD
对于一天 24 小时中有 1 个小时处于“峰值状态”的情况,滑动窗口查询使用 1 至 2 个 KPU。全天 24 小时中的这 1 个小时,将按 2 个 KPU 向您计费。
30 天/月 * 1 小时/天 = 30 小时/月
稳定状态费用 = 30 小时/月 *(2 KPU * 0.11 USD/小时)= 6.60 USD
总费用 = 75.90 USD + 6.60 USD = 82.50 USD
注意:我们保留对进出 Amazon Kinesis Data Analytics 应用程序的数据收取标准 AWS 数据传输成本的权利。
Amazon Kinesis Data Analytics 入门

通过分步指南了解如何使用 Amazon Kinesis Data Analytics for SQL 或 Amazon Kinesis Data Analytics for Apache Flink。