おっさん社内SEエンジニアの勉強ブログ

勉強記録のブログとなります。

SAA学習-データベース-Kinesisの概要

今回のテーマ:Kinesisの概要

主要サービスの公式資料

Amazon Kinesis Data Streams : docs.aws.amazon.com

Amazon Kinesis Data Firehose: docs.aws.amazon.com

Amazon Kinesis Data Analytics: docs.aws.amazon.com

概要

Kinesisはストリームデータを収集・処理するためのフルマネージドサービスで主に3つのサービスで構成されます。

Amazon Kinesis Data Streams

ストリームデータを処理するアプリケーションを構築するサービスとなります。
概略図は以下のようになります。

f:id:In-houseSE:20210814074645p:plain

ストリーミング処理はシャードという単位で分散させ実行するため高速処理が可能となります。
また、shardにインスタンスを割りあえてを行い処理を実行させます。
概略図は以下のようになります。

f:id:In-houseSE:20210814075241p:plain

Kinesis Streamsのデータ提供側(プロデゥーサー)とデータ利用側(コンシューマー)に様々なサービスが利用可能となります。 概略図は以下のようになります。

f:id:In-houseSE:20210814080041p:plain

Kinesis Streamsは以下の関連機能を活用しストリーミング処理アプリケーションを構築します。

サービス名 概要
Amazon Kinesis Agent Kinesisサービスにデータを収集し取り込むOSSスタンドアロンJavaアプリケーション
Amazon Kinesis Producer Library(KPL) Kinesis Streamsにデータを送信するOSSの補助ライブラリ
Fluent plugin for Amazon Kinesis Kinesis StreamsとKinesis Firehoseにイベントを送信するOSSのFluentd出力プラグインでログ収集を実施する
Amazon Kinesis Data Generator(KDG) Kinesis Data Generator(KDG)を利用しKinesis StreamsまたはKinesis Firehoseにテストデータを送信する
Amazon Kinesis Client Library(KCL) KCLを利用しKinesisアプリケーションを作成する。OSSのクライアントライブラリで、EC2インスタンスなどにデプロイし利用する。

Amazon Kinesis Data Firehose

ストリームデータをS3やRedshiftなどへ簡単に配信します。
また、各種DBに配信・蓄積するための処理を実施し、Lambdaと連携するとETLとしても機能します。
概略図は以下のようになります。

f:id:In-houseSE:20210814082030p:plain

Amazon Kinesis Data Analytics

ストリームデータを標準的なSQLクエリでリアルタイムに可視化・分析します。 概略図は以下のようになります。

f:id:In-houseSE:20210814082628p:plain

今回のテーマは以上です。