本文へスキップ
BecomeCoder

AWSコース · 第11章 データ分析 ― 貯めたデータを価値に変える · レッスン56

Amazon Kinesis ― 流れてくるデータをリアルタイムに扱う

導入

工場のセンサーが1秒ごとに送ってくる温度、アプリから絶え間なく届くクリックログ——「あとでまとめて」ではなく「今この瞬間」処理したいデータがあります。

説明

絶え間なく流れ込んでくるデータをストリーミングデータと呼び、それを受け止めて処理するのが Amazon Kinesis です。用途別にいくつかの種類があります。

サービス役割
Kinesis Data Streams流れてくるデータをリアルタイムに受け取り、複数のアプリから同時に処理できるようにする
Kinesis Data Firehose受け取ったデータを、S3・Redshift・OpenSearchなどへそのまま流し込む(配信に特化。ほぼ設定だけで使える)
Kinesis Video Streams動画のストリームを取り込み、分析や再生に使えるようにする
Amazon MSK(Managed Streaming for Apache Kafka)オープンソースApache KafkaAWSマネージドで提供するもの。既存のKafka資産を活かしたいときに
flowchart LR
    Dev["IoTセンサー / アプリのログ"] --> KDS["Kinesis Data Streams"]
    KDS --> L["Lambda(リアルタイム処理・異常検知)"]
    KDS --> KDF["Kinesis Data Firehose"]
    KDF --> S3x["S3 / Redshift / OpenSearch"]

バッチ処理(1日1回まとめて処理)との違いを意識しましょう。「毎晩集計すればよい」ならS3+Glueで十分ですが、「不正利用をその場で検知したい」「ダッシュボードを秒単位で更新したい」ならKinesisの出番です。

読んでみよう

「リアルタイムに流れるデータ=Kinesis」「とにかくS3などへ流し込むだけ=Firehose」「Kafkaをそのまま使いたい=MSK」。試験ではキーワード「リアルタイム」「ストリーミング」が出たらKinesisを疑います。