オンデマンドモードをサポートしたKinesis Data Streamsを試してみた #reinvent

AWS re:Invent 2021、Serverless and on-demand analytics として発表された Kinesis Data Streams のオンデマンドモードを試してみました。
2021.12.01

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

AWSチームのすずきです。

Amazon Kinesis Data Streams が オンデマンドモード(On-Demand Mode)をサポート、 書き込み 200 MiB/秒、200,000 レコード/秒、読み取り 400 MiB/秒の最大性能を、これまでのシャード数管理なく利用できるようになりました。

東京リージョンでオンデマンモードののデータストリームの作成を試す機会がありましたので、紹介させていただきます。

作成

データストリームの容量モードとして「オンデマンド」の選択が可能になりました。

容量モード「オンデマンド」でデータストリームが作成されました。

変更

「オンデマンド」から「プロビジョンド」、「プロビジョンド」から「オンデマンド」への変更も可能です。

「オンデマンド」で新規作成直後のデータストリーム、「プロビジョンド」へ変更するとシャード数は「4」になりました。

料金

東京リージョンのAmazon Kinesis Data Streamsの利用費、オンデマンドとプロビジョンドの比較を試みてみました。

オンデマンド

項目 価格(USD)
Per stream, per hour 0.052
Data ingested, per GB (Includes 24-hour retention) 0.104
Data retrievals, per GB 0.052
Enhanced fan-out data retrievals, per GB 0.065
Data stored, per GB-month (beyond 24 hours, up to 7 days) 0.120
Data stored, per GB-month (beyond 7 days) 0.025
  • 登録データ、1GBあたり 0.104USDの従量料金で利用出来るようになりました。

プロビジョンド

項目 価格(USD)
Shard Hour (1MB/second ingress, 2MB/second egress) 0.020
PUT Payload Units, per 1,000,000 units 0.022
Extended Data Retention (Up to 7 days), per Shard Hour 0.026
Long-term Data Retention (data older than 7 days), per GB-month 0.025
Long-term Data Retrieval (data older than 7 days), per GB 0.027
Enhanced fan-out data retrievals, per GB 0.017
Enhanced fan-out, per consumer-shard hour 0.020
  • Kinesis DataStreamからのデータ参照、標準、7日までの保存期間であれば、「Data retrievals」課金はなく利用できます。
  • Long-term Data Retention、 Enhanced fan-out 等も、廉価な設定となっています。

まとめ

Amazon Kinesis Data Streams、1シャードあたり1MiB/秒、1,000 レコード/秒 の書き込み性能で利用できますが、 データ欠落を回避するためのシャード数管理が負担になる事がありました。

今回リリースされたオンデマンドモードでは、書き込み 200 MiB/秒、200,000 レコード/秒の性能を、 自動調整で利用できるようになりました。

利用規模が常時一定、性能調整のためにシャード数の変更が不要なワークロードや、 200 MiB/秒、200,000 レコード/秒 以上や、突発的な書き込み性能を必要とする場合には、 従来のプロビジョンドモードも併用いただければと思います。