Kinesisのデータ保存期間延長の料金が分かりにくい

AWSのKinesis Data Streamsはデフォルトで24時間データを保存してくれます。

24時間までは無料で、24時間を超えると有料となり、最大7日間(168時間)まで延長可能です。

延長した時の料金が分かり辛かったので整理しました。

Kinesisデータ保存期間延長の料金

延長した時の料金は公式ページによると以下の記載となっています。
(東京リージョンの場合)

拡張データ保持期限 (最大7日間)、シャード時間ごと → $0.0260

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

延長した期間(時間)に応じて料金が変わると思っていましたが、実際はKinesisのシャード時間によって決まります。
(念のためサポートにも確認しました)

延長期間の長さは関係なく、Kinesisのシャード数と稼働時間で決まるという事ですね。→ 延長期間が2日でも7日でも料金は変わらない

まぁ、公式ページに「シャード時間ごと」とちゃんと書いている訳ですが、私の理解が追いついていなかったようです。

シャード時間とは?

シャード時間は、Kiensisのストリームに対する「シャード数 × 稼働時間」になります。

例えば、シャード数が2本で1ヶ月(31日)稼働させた場合のシャード時間は次の値になります。

2本 × 24h × 31d = 1488h

1ヶ月の料金は?

先程のシャード時間に単価を掛けるだけなので、1ヶ月の延長料金は以下になります。

2 × 24 × 31 × 0.026 = $38.688

1ドル115円と仮定した場合、約4,450円/月ぐらいですね。

基本的にKinesisは一度作ったら、ずっと稼働させたままになると思うので、シャード数の影響がかなり大きくなりそうです。

障害発生時の保険として保持期間を延長するのであれば、最大の7日にしておけば良さそうですね。

例えば、週末に障害が発生した時に、土日は対応できる人がいなくて月曜日までデータを確保おきたい場合とかですね。

最近、AWS関連の仕事が非常に多く、学ぶことが沢山あって楽しいです^^