Kinesis

AWS のリアルタイムデータストリーミングサービスで、大量のデータを収集 / 処理 / 分析する

AWSリアルタイム

Kinesis とは

Amazon Kinesis は、リアルタイムデータストリーミングサービスで、大量のデータ (ログ、クリックストリーム、IoT データ) を収集・処理・分析する。SQS がメッセージキューであるのに対し、Kinesis はデータストリームである。

Kinesis ファミリー

Kinesis ファミリーを以下にまとめる。

サービス用途
Kinesis Data Streamsリアルタイムデータストリーム
Amazon Data Firehose (旧 Kinesis Data Firehose)S3/Redshift/OpenSearch への配信
Amazon Managed Service for Apache Flink (旧 Kinesis Data Analytics for Apache Flink)ストリームデータの Flink 処理 (Flink SQL を含む)
Kinesis Video Streams動画ストリーミング

配信と分析の 2 つは Kinesis ブランドから独立した名前に変わっている。古い資料の名前でコンソールや資料を探すと見つからないため、CLI の名前空間 (firehose / kinesisanalyticsv2) が旧名のまま残っていることも併せて覚えておくとよい。SQL だけでストリームを処理する旧 Kinesis Data Analytics for SQL Applications は段階的に終了し、2026 年 1 月 27 日以降はアプリケーションの削除が始まってサポートも提供されない。SQL でストリームを処理したい場合の移行先は Managed Service for Apache Flink (Flink SQL) である。

SQS との比較

SQS との主な違いを以下に比較する。

観点KinesisSQS
モデルデータストリームメッセージキュー
消費者複数のコンシューマーが同じデータを読める1 メッセージ = 1 コンシューマー
順序保証シャード内で保証FIFO キューで保証
データ保持既定 24 時間 (延長で 7 日・長期保持で最大 365 日)最大 14 日
スループットシャードあたり書き込み 1 MB/秒標準キューは実質無制限 (FIFO は別枠の上限あり)
用途ログ分析、リアルタイム処理タスクキュー、非同期処理

アーキテクチャ

アーキテクチャを図で示す。

[プロデューサー][Kinesis Data Streams][Lambda][DynamoDB][Firehose][S3][Athena][別の Lambda][OpenSearch]

1 つのストリームを複数のコンシューマーが独立して読める (ファンアウト)。

シャード

Kinesis Data Streams のスループットはシャード数で決まる。シャードは課金と性能の両方の基本単位で、上限は方向ごとに分かれている。

方向シャードあたり
書き込み1 MB/秒 or 1,000 レコード/秒
読み取り2 MB/秒

容量モードは 2 つある。プロビジョンドモードではシャード数を自分で指定し、必要に応じて増減させる。オンデマンドモードでは AWS がシャードを自動管理するが、内部の単位は同じシャードなので上限自体が消えるわけではない。パーティションキーが偏ると特定のシャードだけが上限に張り付き、オンデマンドでも書き込みスループット超過のスロットリングが出る。オンデマンドの新規ストリームは 4 シャード分 (書き込み 4 MB/秒) から始まり、シャードの平均取り込み利用率が 50% に達すると分割される。分割の完了までは時間がかかるため、瞬間的なスパイクは吸収しきれないと考えておく。

Enhanced Fan-Out を使うと、シャードごとに、登録した各コンシューマーへ最大 2 MB/秒が個別に割り当てられる。使わない場合は、コンシューマーが何個あってもシャードあたり 2 MB/秒を分け合う。ファンアウトの図を見てコンシューマーを増やしたのに読み取りが遅くなるのは、この共有が原因である。

Amazon Data Firehose

旧称は Kinesis Data Firehose。コードを書かずに S3、Redshift、OpenSearch、Splunk などへストリームデータを配信する。送信先ごとにバッファのサイズと時間を設定するため、Data Streams から Lambda で処理する構成より到着は遅れる。逆に、シャード管理もコンシューマー実装も不要で、保存先へ流し込むだけならこちらが単純である。

Kinesis の背景や設計思想は関連書籍に詳しい。

この記事は役に立ちましたか?

関連用語

関連する記事