認定ビッグデータ - 専門知識 勉強記~Kinesis Data Streams&Kinesis Firehose~


今回は,Kinesis Data StreamsとKinesis Data Firehoseについて勉強したことをまとめる.なお,理解したことが増えたら本記事を適宜更新する.

Data Streamsの概要

  • マネージドのリアルタイムアプリケーション(KCL、Spark/Flink、Lambda)
  • データストリームを収集、保存、処理
  • 低コスト
  • 3つのAZに永続ストレージに強い生合成でデータを複製

参考
[AWS]kinesisまとめ

Data Firehoseの概要

  • マネージドのデータストリームをデータストアにダイレクトに配信(ストリームデータのバッチ化、圧縮、暗号化が可能で最短60秒でデータを配信)
  • シームレスにスケール
  • サーバレスETL(Lambdaを使ったスリームデータの変形が可能)

Kinesis Data Firehose との使い分け

  • Streams: ストリームデータを「 処理 」するためのアプリケーションを独自に構築
  • Firehose:ストリームデータをS3、Redshift、ECへ簡単に「 配信

設計の考え方

1,数珠つなぎでサービスを連携

収集(Kinesis Data Streams)->変換(Lambda)->分析(Kinesis Data Analytics)->アクション(Lambda)->保存(Kinesis Data Firehose)

2,管理対象を少なくする

  1. マネージドサービス同士で接続
  2. Lambda関数でサービス間連携
  3. EC2上のアプリで接続

Kinesis Streams と Firehose の適用事例

①可視化

  • データ送信者->Firehose->ES->kibana

②仮説検証

  • Firehose->S3>Athena

③自動化

  • S3->Firehose->Analytics->Streams->Lambda->SNS