Amazon Kinesis
大量のストリーミングデータをリアルタイムに収集・処理・分析できるサービス
何ができるか
Amazon Kinesis は、大量のデータをリアルタイムに収集、処理、分析するためのプラットフォームです。Web サイトのクリックストリーム、IoT センサーデータ、アプリケーションログ、ソーシャルメディアフィードなど、絶え間なく発生するデータ (ストリーミングデータ) を即座に取り込み、秒単位で処理できます。バッチ処理のように数時間待つ必要がなく、データが発生した瞬間に分析結果を得られます。
どのような場面で使うか
リアルタイムのダッシュボードとモニタリング、IoT デバイスからのセンサーデータ処理、Web サイトのクリックストリーム分析、ログデータのリアルタイム集約、不正検知システム、動画・音声のリアルタイム処理など、データの即時処理が求められる場面で利用されています。 この分野について体系的に学びたい方は、関連書籍 (Amazon) も参考になります。
身近な例え
ベルトコンベアに例えるとわかりやすいでしょう。工場のベルトコンベア (Kinesis) の上を製品 (データ) が次々と流れてきます。コンベアの途中に検査装置 (処理ロジック) を設置すれば、製品が流れてくるたびにリアルタイムで検査できます。倉庫 (S3) に溜めてから検査するのではなく、流れながら処理するのがポイントです。
Kinesis とは
Amazon Kinesis は、ストリーミングデータをリアルタイムに処理するためのサービス群です。従来のバッチ処理では、データを一定期間蓄積してからまとめて処理しますが、Kinesis を使えばデータが発生した瞬間に処理を開始できます。これにより、異常検知やリアルタイムレポートなど、即時性が求められるユースケースに対応できます。
サービスの種類
Kinesis は 4 つのサービスで構成されています。Kinesis Data Streams はカスタムアプリケーションでストリーミングデータを処理するための基盤です。Kinesis Data Firehose はストリーミングデータを S3、Redshift、OpenSearch などに自動配信します。Kinesis Data Analytics はストリーミングデータに対して SQL やApache Flink でリアルタイム分析を実行します。Kinesis Video Streams は動画ストリームの取り込みと処理に特化しています。
Data Firehose の活用
最も手軽に始められるのが Kinesis Data Firehose です。データの送信元を設定し、配信先 (S3 など) を指定するだけで、ストリーミングデータの自動配信パイプラインが構築できます。データのバッファリング、圧縮、フォーマット変換も自動的に行われます。たとえば、アプリケーションログを Firehose に送信し、S3 に Parquet 形式で保存して Athena で分析するといった構成が簡単に実現できます。
はじめかた
Kinesis を使い始めるには、用途に応じたサービスを選択します。ログデータを S3 に配信したい場合は Kinesis Data Firehose が最も簡単です。Firehose コンソールで配信ストリームを作成し、ソースと配信先を設定するだけで、数分でデータパイプラインが完成します。AWS SDK を使ってアプリケーションからデータを送信すれば、自動的に配信先に届けられます。
Azure・オンプレミスとの比較
AWS の優位点
- Data Streams、Data Firehose、Data Analytics、Video Streams の 4 つのサービスで、収集から分析まで一貫したストリーミング処理基盤を提供する
- Kinesis Data Firehose により、S3、Redshift、OpenSearch への自動配信パイプラインをコーディング不要で構築でき、データのバッファリング・圧縮・フォーマット変換も自動化される
- オンデマンドモードにより、シャード管理が不要でトラフィックに応じた自動スケーリングが可能で、Kafka のようなクラスター運用の負荷を排除できる
注意点
- Kinesis Data Streams はシャード数に応じた時間課金のため、トラフィックが少ない場合はオンデマンドモードを検討すること
- Firehose はバッファリング間隔 (最短 60 秒) があるため、秒単位のリアルタイム性が必要な場合は Data Streams を使用すること
- ストリーミングデータの処理は設計が複雑になりやすいため、まずは Firehose + S3 のシンプルな構成から始めることを推奨する
さらに詳しく知りたい方は、関連書籍 (Amazon) で理解を深められます。