【AWS】 Kinesis Data 「Streams」、「Firehose」機能及び使い方について

【AWS】について

アマゾン ウェブ サービス(AWS)とはクラウドコンピューティングを使ったサービスのことです。
世界で最も利用されているクラウドインフラサービスで、100以上のサービスを提供しています。
クラウドインフラサービス(IaaS、PaaS、ホステッドプライベートクラウド)におけるAWSの市場シェアは約35%で世界1位となっています。

クラウドコンピューティングとは、インターネットを介して、サーバー・ストレージ・データベース・ソフトウェアといったコンピューターを使用し様々なサービスを利用することです。
クラウドコンピューティングでは、手元に1台のPCとインターネットに接続できる環境さえあれば、サーバーや大容量のストレージ、高速なデータベースなどを必要な分だけ利用できます。

今回はAWSの提供するAmazon Kinesisについて、機能と特徴、使用用途についてご紹介いたします。

【AWS】Kinesisの内容、使い方について

AWS kinesisには大きく分けて3つの機能と使い方があります。

1.Amazon Kinesis Data Streams / 2.Amazon Kinesis Data Firehose

コンピュータから送られてくる大量のデータを高速に別のサービスに転送するためのサービスです。

【特徴】

・Amazon Kinesis Data Streamsのほうが速い。

・Amazon Kinesis Data Firehoseのほうが設定が少ない。

3.Amazon Kinesis Data Analytics

コンピュータやAmazon Kinesis Data Streams、Amazon Kinesis Data Firehoseから送信されてくるデータをSQLを使って処理できるサービスです。

【AWS】 Kinesis Data 「Streams」、「Firehose」主な機能と使い方

データを別サービスに転送するサービスとして、Amazon Kinesis Data Streams、Amazon Kinesis Data Firehoseがあります。一見同じサービスですが、その機能や違いについて、以下にご紹介いたします。

1.Amazon Kinesis Data Streamsの機能及び使い方

ストリーミング動画をキャプチャ・処理・保存する機能があります。主な機能は以下です。

【Amazon Kinesis Video Streams】の特徴と使い方

Amazon Kinesis Video Streamsは次々と送られる大量のデータをリアルタイムに収集、次のサービスに配信するためのサービスです。
使用すると、分析、機械学習、再生、その他の処理のために接続されたデバイスから、AWSへ動画を簡単かつ安全にストリーミングできるようになります。
Amazon Kinesis Video Streamsは、大量のデバイスから動画のストリーミングデータを取り込むために、必要なすべてのインフラストラクチャを自動的にプロビジョニングして、伸縮自在にスケールします。
また、ストリーム内の動画データを耐久性に優れた形式で保存、暗号化、インデックス化を行い、
使い勝手のよいAPIを介したデータへのアクセスも可能となります。
「Amazon Kinesis Video Streams」の最大の特徴は「レイテンシの速さ」です。
「Amazon Kinesis Data Firehose」がデータロードまで60秒を見ているのに対し、Amazon Kinesis Video Streamsはsub-1、1秒以下でのデータロードにて設計されています。
Amazon Kinesis Video Streamsの使用用途としては「大量に送られてくるデータの内容をリアルタイムに加工、表示させる」場合に使用します。

2.Amazon Kinesis Data Firehoseの機能及び使い方

AWSデータストアにデータストリームを送信する機能があります。主な機能は以下です。

【Amazon Kinesis Data Firehose】の特徴と使い方

Amazon Kinesis Data Firehose は、ストリーミングデータをデータレイクやデータストア、分析ツールへ簡単に送信する方法です。
ストリーミングデータをキャプチャして変換し、「Amazon S3」、「Amazon Redshift」、「Amazon Elasticsearch Service」、「Splunk」などへ送信し、お使いのビジネスインテリジェンスツールやダッシュボードでほぼリアルタイムに分析できます。
完全マネージド型サービスのため、データスループットに応じて自動的にスケールされますので、継続的な管理は不要です。
送信前にデータのバッチ処理、圧縮、変換、暗号化が行われるため、送信先でのストレージ量を最小化し、セキュリティを強化できます。Kinesis Data Firehose を使用すると、アプリケーションを記述したり、リソースを管理したりする必要はありません。
Kinesis Data Firehose にデータを送信するようデータプロデューサーを設定すると、指定した送信先にデータが自動的に配信されます。
AWS マネジメントコンソールから Firehose デリバリーストリームを簡単に作成して、設定すればわずか数分で大量のデータソースからストリームにデータ送信を開始して、AWS に継続的に送信できます。
また、受信データが Amazon S3 に配信される前に 「Apache Parquet」、「Apache ORC」などの列指向形式に変換されるようにデリバリーストリームを設定すれば、コスト効率の良い方法で保存および分析できます。
Kinesis Data Firehose を利用した場合、使用した分のみの料金が発生いたします。最低料金や初期費用は必要ありません。

■主な配信先

1.Amazon S3

2.Amazon Redshift

3.Amazon Elasticsearch Service

4.Splunk

おわりに

今回はAmazon Kinesisの機能と、その中から、コンピュータから送られてくる大量のデータを高速に別のサービスに転送するAmazon Kinesis Data StreamsとAmazon Kinesis Data Firehoseの違いについてご紹介させていただきました。ストリーミングデータをリアルタイムで収集、処理、分析することが簡単に行える為、インサイトを適時に取得して新しい情報に迅速に対応できますので、この機会にぜひ導入を検討してみてください。

参考文献:
https://business.ntt-east.co.jp/content/cloudsolution/column-20.html

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

前の記事

AWS Elemental MediaTailorとは?

次の記事

Amazon RDS for SQL Serverの特徴