1

我试图推出一个部署到AWS的流数据/分析应用程序,并考虑使用Kinesis Firehose将数据转储到S3。亚马逊Kinesis Firehose缓存到S3

我的问题是,当为此定价S3成本时,我需要弄清楚我需要多少PUT。所以,我知道Firehose缓冲数据,然后刷新到S3,但我不清楚它是否会写入一个单一的“文件”与积累到该点的所有记录,或者如果它会写每个记录单独。

因此,假设我根据记录的大小将缓冲区大小/间隔设置为最佳数量,S3 PUT的数目是否仍等于记录数或Firehose执行的刷新次数?

回答

1

看了AWS文档的大量,我恭敬地断言不同意S3将不会向您收取。

您将与亚马逊S3和包括存储亚马逊红移使用相关的费用分开收取,并读取/写入请求。但是,您不会因为Amazon Kinesis Firehose加载到Amazon S3和Amazon Redshift中的数据而收取数据传输费用。有关更多详细信息,请参阅Amazon S3定价和Amazon Redshift定价。 [重点煤矿]

https://aws.amazon.com/kinesis/firehose/pricing/

他们在说什么,你将不会被收取是什么额外的室壁运动流水的转移,不是$ 0.035/GB等,但你会付与你的桶交互。 (入站到存储桶的数据始终不含实际的每千兆字节传输费用)。

说到底,不过,你似乎在粗糙的数量对你的水桶PUT请求的控制,基于某些可调参数:

问:什么是缓冲区的大小和缓冲区间隔?

Amazon Kinesis Firehose将传入的流式数据缓存到特定大小或一定时间后再传送到目的地。您可以在创建传送流时配置缓冲区大小和缓冲区间隔。缓冲区大小以MB为单位,范围从1MB到128MB。缓冲区间隔以秒为单位,范围从60秒到900秒。

https://aws.amazon.com/kinesis/firehose/faqs/#creating-delivery-streams

除非它正在收集和汇总记录到大的文件,我不明白为什么会有在缓冲区大小的点和缓冲间隔......然而,兵不血刃了服务和采取它的旋转,我可以(不幸)只有真正的推测。

+0

那么,当我期待完全相反的时候,Kinesis不会这么做(或不这样做),但我同意......如果它不汇总记录, 重点是什么?我希望有人可以肯定,虽然... – Brooks

+0

只是为了跟上这个答案,我在论坛上得到了来自AWS的答案。 https://forums.aws.amazon.com/thread.jspa?threadID=219275&tstart=0。您是正确的,firehose会将整合块写入S3,因此我们可以控制PUT的数量,但是为了解释该语句,它实际上表示不会有任何TRANSFER收费(即区域之间等)。不涉及基于服务的收费,如PUT。谢谢! – Brooks

1

我不相信你支付任何额外的写入操作S3从Firehose。

您将分别收取与Amazon S3 和Amazon Redshift使用(包括存储和读取/写入请求)相关的费用的收费。 但是,对于Amazon Kinesis Firehose加载到Amazon S3和Amazon Redshift中的数据 的数据传输费用,您将不会收取费用。 有关更多详细信息,请参阅Amazon S3定价和Amazon Redshift 定价。

https://aws.amazon.com/kinesis/firehose/pricing/

+0

是的,我知道Firehose的自由转移,但我假设这只是说Firehose不会为数据传输收费,并且没有说明每个PUT的S3成本(我假设的是Firehose正在使用什么将数据写入S3)。 S3每1000个PUT收费,我试图弄清楚每个来自Firehose的flush是1 PUT,还是PUT的数量等于单个记录的数量,无论它们是否合并到Firehose的单个冲刷中。 – Brooks

+0

我想你可以用不同的方式来解释它,但我的解释是,将数据从firehose传送到s3是没有成本的。只有消化它的成本才能消化,然后storgae花费s3(如果你在s3中读/写数据,那么任何放入/得到的费用)。 –

+0

我现在明白你的观点......说实话,我可以两种方式阅读。不知道哪个是正确的,但是对于每月15亿个人记录(这不是一个巨大的数额),如果S3为每个记录收取PUT,那么对于PUT来说,每月只需要7,000美元。这似乎是过度的...... – Brooks