こんにちは!
今回は Kinesis ファミリーを導入する際の思考フローについて解説していきます!様々なサービスが Kinesis にありますのでひとつずつユースケースをご紹介していきたいと思います。
Kinesis には以下のサービスがあります。
Kinesis Video Streams | ストリーミング動画のキャプチャ、処理、保存 |
Kinesis Data Streams | データストリームのキャプチャ、処理、保存 |
Kinesis Data Firehose | AWS データストアにデータストリームをロード |
Kinesis Data Analytics | SQL や Apache Flink でデータストリームを分析 |
それぞれの解説をしていきます。
Kinesis Video Streams には2種類の機能があります。ひとつは分析などを目的に動画をストリーミングデータに取り込む機能、もうひとつはWebRTCを利用したリアルタイムのビデオチャットを実現する機能です。
主な用途としては、IoTデバイス用のメディアストリーミングアプリケーションの構築だったり、MLアプリケーションだったり、ビデオチャット機能をもったサービスなどになります。そのため選定の基準としては自身のプロダクトが動画を扱うのかがひとつの分岐点になります。
ストリーミングデータの通信は暗号化され、各種AWSサービスと連携することによって価値を最大限に活かすことができます。
Kinesis Data Streams はリアルタイムにデータをキャプチャし収集することのできるサービスです。これによりウェブサイトのクリックやソーシャルメディアのデータなどを大量に集めることができます。マネージドサービスのため、スケーリングに考慮することはなく簡単に利用することができます。
選定の基準としては、リアルタイムなデータが収集できるかという点と、収集したあとに何をするか決まっているかどうかになります。ユースケースとしては、リアルタイムなレポートの作成やデータ分析などが挙げられます。
なおセキュリティはデフォルトで安全に保護されています。
Kinesis Data Firehose は、データレイク(S3など)にストリーミングデータを確実に収集するためのサービスです。AWS WAF や CloudWatch Logs などのログをS3バケットに収集する際などに使われたりします。また Kinesis Data Streams と組み合わせることもできます。
AWS内のログを S3 や Redshift に送信したい場合などには、必然的に利用することになるサービスです。こちらもマネージドサービスのため、管理は不要、セキュリティや耐久性は高くなっております。
Kinesis Data Analytics は、ストリーミングデータをリアルタイムで変換および分析できるサービスです。Kinesis Data Streams などと統合することで、リアルタイムにデータを分析する環境を構築することができます。
提供しているものは、リアルタイムなデータの整理や変換を可能にするストリーミングETL、データの傾向を監視し理解する継続的メトリック生成、機械学習を用いたリアルタイム応答分析、データストリームのインタラクティブな分析です。
ユースケースとしては、ゲームなどの順位をリアルタイムに表示したり、ユーザーのアクティビティからレコメンドするものを選定したりするといったものがあります。このような機能を実装しなければならないといった要件があれば、ぜひ使いたいサービスとなります。
Kinesis ファミリーは現在4つしかありませんが、リアルタイムなデータを処理したり収集したり、分析したりするにはとても頼りになるマネージドサービスとなります。ぜひそういった要件がある場合は検討することをお勧めいたします。
このブログでは、AWS の記事をどんどん公開しておりますので、ご興味のある方は他の記事もご覧いただければと思います。
AWS に関する開発は、お気軽にお問い合わせください。
スモールスタート開発支援、サーバーレス・NoSQLのことなら
ラーゲイトまでご相談ください
低コスト、サーバーレスの
モダナイズ開発をご検討なら
下請け対応可能
Sler企業様からの依頼も歓迎