ひとことで言うと
Kinesis Data Streamsはリアルタイムのデータストリームを取り込んで自分でアプリが読み出す仕組み、Amazon Data Firehose(旧Kinesis Data Firehose)は取り込んだストリームをS3・OpenSearch Service・Redshiftなどへ自動配信する仕組みです。
要するに、ベルトコンベアです。Data Streamsは「流れてくる荷物を自分で取り出す」コンベア、Firehoseは「荷物を自動で倉庫まで運んでくれる」コンベア。RAGの文脈では、更新され続ける文書やイベントログをこのコンベアに乗せて、ベクトルストアや分析基盤まで運びます。
何に使うか
| 用途 | 使い方 | 関連ドメイン |
|---|---|---|
| Kinesis Data Streams | チャットのやり取りやクリックストリームなど、put-to-getの遅延が1秒未満で欲しいリアルタイムアプリの入力 | D1, D2 |
| Amazon Data Firehose | ストリームをバッファリングしながらS3(Knowledge Basesのデータソースになるバケット)やOpenSearch Serviceへ自動配信。既存のKinesis Data Streamを読み込んで下流に流すこともできる | D1, D2 |
試験でどう問われるか
主役では出ません。 D1.3・D2.3で「継続的に更新される文書やイベントをRAGコーパスやKnowledge Baseに反映したい」というシナリオの中で、取り込みの入り口として選択肢に混ざります。
| 問われ方 | 正解に寄る条件 | 引っかけ |
|---|---|---|
| ストリームをS3に自動配信したいだけ | コンシューマアプリを書きたくない → Amazon Data Firehose | Kinesis Data Streams(自分でコンシューマを書いて読み出す前提なので手間が増える) |
取り違えやすいもの
| 迷う相手 | 切り分けの一言 |
|---|---|
| Amazon MSK | Kinesisはフルマネージドで運用の手間が最小。MSKはApache Kafka互換で、既存のKafkaエコシステム(コネクタ・ツール)をそのまま使いたいときに選ぶ |
| SQS | SQSはメッセージキュー(1メッセージ=1回消費が基本)。Kinesisは複数コンシューマが同じストリームを並行して読める点が違う |
想起チェック
Q1. 「ストリームをS3に自動配信したいだけで、自分でコンシューマアプリを書きたくない」ときに選ぶのは?
Amazon Data Firehoseです。Kinesis Data Streamsは自分でコンシューマを書いて読み出す前提ですが、Firehoseはバッファリングしながら宛先(S3・OpenSearch等)へ自動配信します。