AWS Kinesisについてまとめています。
Amazon Kinesisはストリーミングデータ用の分析サービス
Amazon Kinesis は、ストリーミングデータをリアルタイムで収集、処理、分析することが簡単になるサービス。Amazon Kinesis は、ストリーミングデータをコスト効率良く処理するための主要機能があり、機械学習、分析、その他のアプリケーションに用いる動画、音声、アプリケーションログ、ウェブサイトのクリックストリーム、IoT テレメトリーデータをリアルタイムで取り込むことが可能。Amazon Kinesis はデータ受信するとすぐに処理および分析を行うため、全データの収集を終えるを待たずに処理して、応答することが可能です。
Amazon Kinesisには、Kinesis Video Streams、Kinesis Data Streams、Kinesis Data Firehose、Kinesis Data Analyticsの4つの機能があります。
Kinesis Video Streamsは、ビデオストリームの処理をおこなうサービス。
参考)Amazon Kinesis Video Streams(ビデオストリームの処理と分析)| AWS
Kinesis Video Streams は、カメラ対応 IoT デバイス用のメディアストリーミングアプリケーションに最適。リアルタイムのコンピュータビジョン対応 ML アプリケーションの構築に最適。
使い方として、「スマートホーム」用途があります。Kinesis Video Streams で、ベビーモニタ、ウェブカメラ、防犯システムなど、カメラ装備した家庭用機器からの動画・音声を、AWS へストリーミングできます。ストリームを使用しての、メディア再生、インテリジェント照明、温度制御システム、セキュリティソリューションといったスマートホームアプリケーションを構築できます。
さらに大規模な「スマートシティー」という用途で、信号機、駐車場、ショッピングモール、公共イベント会場のカメラから、動画が 24 時間年中無休でキャプチャし、Kinesis Video Streams を使用し、メディアデータの取り込み、保存、再生、分析を実行でき、交通問題の解決、犯罪の防止、緊急事態への対応人員派遣と用途に活用できます。
工業シーンでの「工業オートメーション」の用途で、RADAR 信号や LIDAR 信号、温度プロファイル、工業用機器からの深度データから、Kinesis Video Streams を使用して時間符号化データを収集、Apache MxNet、TensorFlow、OpenCV などの機械学習フレームワークでデータを分析し、予知保全に役立てることができます。具体的には、ガスケットやバルブの寿命を予測し、部品交換を事前にスケジュールすることで、製造ラインのダウンタイムや不具合の減少することができまs.
Kinesis Data Streamsは、ウエブサイトクリックストリームやデータべースイベントストリームや金融取引、ソーシャルメディアフィード、ITロゴ、ロケーション追跡イベントなどのソースから毎秒ギガバイトのデータを継続してキャプチャできます。サーバー、デスクトップ、モバイルのログを分析したり、オンラインゲームでのプレイヤーの行動を分析することも可能。世界中で1億人以上が利用する動画サイトNetFlixでも、Kinesis Data Streamsが利用されています。
参考)Amazon Kinesis Data Streams(リアルタイム分析向け大規模データを収集)| AWS
Kinesis Data Firehoseは、収集したストリーミングデータをデータストアや分析ツールにロードする機能。Kinesis Data Firehose では、Amazon S3 ベースのデータレイクやデータウェアハウスへの大容量データの取り込みが可能。Kinesis Data Firehoseで、データを送信先のデータストア用のApache Parquet、Apache ORC など に変換でき、独自のデータ処理パイプラインを開発する必要はありません。定義されたキーを使って、ストリーミングデータを動的にパーティションし、キーに固有の S3 プレフィックスに配信、Athena、EMR、Redshift Spectrum を使った分析をおこなうことができます。
参考)Amazon Kinesis Data Firehose(ストリーミングデータをデータストアや分析ツールにロード)| AWS
Kinesis Data Analyticsは、データ分析をおこなう機能。サーバレスのため可用性が高く、データの処理用に合わせて処理能力の自動伸縮が可能。Kinesis Data Analyticsには、Apache Flink、Apache Beam、Apache Zeppelin、AWS SDK、AWS のサービス統合などのオープンソースライブラリが含まれており、APIを通して好みのプログラム言語から機能を呼び出す事ができます。
参考)Amazon Kinesis Data Analytics(ストリーミングデータをリアルタイムで処理)| AWS
Amazon Kinesisの料金
Amazon Kinesisの料金は、CPU数、ストレージ容量、バックアップ容量、分析用のStudioノートブック、Studioノートブックのストレージ容量で決まります。例えば、米国東部オハイオリージョンでの料金は以下のようになっています。
- KPU (Kinesis Processing Unit)、0.11USD 1 時間あたり
- 稼働アプリケーションストレージ、GB あたり月額料金 (KPU あたり 50GB の稼働アプリケーションストレージが割り当てられます) 0.10USD
- 永続的アプリケーションバックアップ、GB あたり月額料金 0.023USD GB
- Studio ノートブック、Kinesis 処理単位、時間あたり 0.11USD
- Studio ノートブック、稼働アプリケーションストレージ、GB あたり月額料金 0.10USD GB
参考)料金 – Amazon Kinesis Data Analytics | AWS
Studioノートブックとは、分析用のJupyterノートブックで、分析処理を実行し結果をドキュメント内に埋め込み表示できる、分析者用のウェブインタフェースです。ドキュメント内で、各種プログラミング言語を実行し、API経由でAmazon Kinesisの分析機能を呼び出すことができるんですね。
【関連記事】
▶AWSの見積もりは、AWS Pricing Calculatorで自動計算 ユースケースから流用も可能
具体的には、AWS Pricing Clculatorにて、Apache Flink アプリケーション、Studioアプリケーション、SQLアプリケーションの数と割当CPU数などを入力することで、金額を見積もることができます。
AWS Kinesisのまとめ
- AWS Kinesisやビデオデータや各種ストリーミングデータの収集、蓄積、分析をおこなうサービス
- スマートホームやスマートシティ、工業オートメーション用途での使用が可能
- 収集したデータ分析は、Jupyterノートブックインタフェースから、好みの言語でAPI経由で分析機能を呼び出すことができる