Amazon Kinesisの主な機能と使い方 − 強力なストリーミングデータ処理

AWSはストリーミングデータをリアルタイムで収集、処理、分析することが簡単にできるため、インサイトを適時に取得して新しい情報に迅速に対応できます。あらゆる規模のストリーミングデータを効率良く処理するための主要機能として、Amazon Kinesisがあります。今回は、Amazon Kinesisのメリットや機能、料金体系や用例について解説します。

Amazon Kinesisとは

Amazon Kinesisは、アプリケーションの要件に最適なツールを柔軟に選択できるだけでなく、あらゆる規模のストリーミングデータを効率良く処理するための主要機能を提供します。機械学習、分析、その他のアプリケーションに用いる動画、音声、アプリケーションログ、ウェブサイトのクリックストリーム、IoTテレメトリーデータなどをリアルタイムで取り込めます。Amazon Kinesisではデータを受信するとすぐに処理と分析を行うため、すべてのデータを収集するのを待たずに処理を開始して直ちに結果を出すことが可能です。

Amazon Kinesisの主な機能とメリット

Amazon Kinesisの主な機能とメリットについて解説します。

主な機能

主な機能は次のとおりです。

ストリーミング動画をキャプチャ・処理・保存する機能

Amazon Kinesis Video Streamsを使用すると、分析、機械学習、再生、その他の処理のために接続されたデバイスから、AWSへ動画を簡単かつ安全にストリーミングできるようになります。Amazon Kinesis Video Streamsは、数百万ものデバイスからの動画のストリーミングデータを取り込むために、必要なすべてのインフラストラクチャを自動的にプロビジョニングして、伸縮自在にスケールします。また、ストリーム内の動画データを耐久性に優れた形式で保存、暗号化、インデックス化を行い、使い勝手のよいAPIを介したデータへのアクセスも可能にします。

データストリームのキャプチャ・処理・保存する機能

Amazon Kinesis Data Streams(KDS)は、スケーラブルで持続的なリアルタイムのデータストリーミングサービスです。KDSはウェブサイトクリックストリームやデータべースイベントのストリーム、金融取引、ソーシャルメディアフィード、ITログ、ロケーション追跡イベントなど、何十万ものソースから毎秒GBのデータを継続してキャプチャすることが可能です。収集データはミリ秒単位で入手でき、リアルタイム分析をリアルタイムダッシュボード上で管理し、リアルタイム異常検知や、ダイナミックに変動する価格設定などの事例に利用することが可能です。

AWSデータストアにデータストリームをロードする機能

Amazon Kinesis Data Firehoseによって、データストリームをAWSデータストアにキャプチャ・変換・ロードし、既存のビジネスインテリジェンスツールを使って準リアルタイムで分析が可能です。

Firehose(Amazon Kinesis Data Firehose)は、リアルタイムのストリーミングデータを Amazon S3、Amazon Redshift、Amazon ES、Splunk などの送信先に配信するための完全マネージド型サービスです。
SQLやJavaでデータストリームを分析する機能機能

Amazon Kinesis Data Analyticsによって、新しいプログラミング言語や処理フレームワークを習得することなく、慣れ親しんだSQLやJavaでデータストリームをリアルタイムで簡単に処理することができます。

Kinesis Analytics(Amazon Kinesis Data Analytics)は、ストリーミングデータの分析、実用的なインサイトの取得など、ユーザーのニーズへのリアルタイムな対応を簡単に行えるサービスです。ストリーミングアプリケーションを構築し、管理し、AWS のサービスと統合する作業が簡易化されます。

メリット

Amazon Kinesisを利用するメリットは、以下のとおりです。

迅速にデータを取得できる

データが生成された時点で直ちにAmazon Kinesisストリームにデータを書き込めるので、万が一、データの生成元に障害が発生した場合でも、データが失われることがありません。ストリーミングデータをリアルタイムで取得・バッファ・処理するため、通常は数時間から数日かかるインサイト(大量のログを分析・視覚化したレポート)の生成を数秒から数分で完了できます。

リアルタイムの分析が可能

データを取得すると直ちにリアルタイムでストリーミングデータの分析を行うことができるので、取得時とタイムラグのない分析結果を得ることができます。

複雑なストリーム処理をフルマネージドで実行

Amazon Kinesisアプリケーションはもちろん、データストリームのDirected Acyclic Graph(DAG)を作成することで、Amazon Kinesisストリームにデータを追加したり、継続的にストリームを処理したりできます。またAmazon Kinesis は完全マネージド型ですので、インフラストラクチャを管理する必要なく、ストリーミングアプリケーションを実行できます。

トラフィックの増加にも対応可能

一時的にトラフィックが増加しても、データのバッファリングで対応できますので、データを取得し損なう危険性を低く抑えることができます。またサイズの上限なくストリーミングデータに対応しますので、数千ものソースからのデータを非常に低いレイテンシーで処理できます。

Amazon Kinesisの料金体系と活用例

ここではAmazon Kinesisの料金体系や活用例について解説します。

Amazon Kinesisの料金体系

Amazon Kinesisの料金は従量課金制です。前払い料金や最低料金はなく、使用したリソースに対してのみ支払えば利用可能となっています。料金体系には、「時間単位のシャード速度基準」と、「PUTペイロードユニット基準」の2つの基準があります。

時間単位のシャード速度基準とは

1時間ごとの各シャード料金が発生します。シャードとは、Amazon Kinesisストリームのベースとなるスループット単位です。1シャードは、1MB/秒のデータ入力と2MB/秒のデータ出力の能力を提供します。1つのシャードは1秒当たり最大1,000件のレコード(データ生成元が Amazon Kinesisストリームに追加するデータ)をサポートできます。ユーザーのスループット要件に応じて、ストリーム内で必要なシャード数を指定できます。

シャード単位で料金がかかるため、負荷が低い時間帯はシャードをマージすると料金を安くすることが可能です。また負荷が高くなる時間帯はシャードを分割することができます。

PUTペイロードユニット基準とは

100万件のPUT ペイロードごとに料金が発生します。PUTペイロードユニットは、1レコードを構成する25KBペイロードの「チャンク」で計算されます。例えば、5 KBのレコードは1つのPUTペイロードユニット、45KBのレコードは2つのPUT ペイロードユニット、1MBのレコードは40のPUTペイロードユニットが含まれます。

Amazon Kinesisの活用例

Amazon Kinesisは、ほかのAWSの多彩なサービスと連携して使用することによって、より一層パフォーマンスを実現することができます。

Amazon Kinesisで受信したデータをS3、DynamoDBに収納する

Lambdaは、Amazon Kinesisで受信したデータを、S3、DynamoDBに格納する軽量な処理に最適です。リアルタイム性能を確保する必要がある場合や、複雑なアプリケーションの実行環境としてはEC2を利用します。さらにデータ規模、処理内容によってはEMR(※)の利用も検討します。

Amazon Elastic MapReduce (Amazon EMR) は、大量のデータを迅速、容易に、かつコスト効率よく処理するためのウェブサービス。分散処理基盤であるHadoopクラスタの構築と運用、およびHadoopクラスタ上での分散アプリケーションの実行をしてくれます。
Firehoseを用いてEC2のログなどをS3,Redshiftにデータアーカイブする

S3,Redshiftへのデータアーカイブ用途にはAmazon Firehoseの利用が適しています。S3をトリガーとしたLambda連携による、準リアルタイム(ラグ数分程度)処理が実現できます。

AWSサービス連携の活用例

AWS IoTや、CloudWatch LogsのデータをAmazon Kinesisで受け取ることが可能です。この場合、Kinesis、Lambdaがサービス連携のハブとして機能します。Amazon Kinesis Analyticsがリリースされ、ログ監視といった高度なアラームが設置可能になりました。

まとめ

Amazon Kinesisはリアルタイムの動画ストリーミングデータ、ログデータの取得や分析に威力を発揮します。また複雑なストリーミング処理についても対応可能です。料金は利用したリソースに対してのみ支払えばよいため、非常にコストパフォーマンスに優れたサービスです。Lambda、EC2、S3、DynamoDBなどのサービスとの連携によりデータアーカイブなどにも力を発揮します。

移行準備段階で知っておくべきAmazon Web Servicesの
サービスを学び、具体的にクラウド検討を考える!

Amazon Web Services(AWS)、Microsoft Azureの
導入支援サービスのご相談、お問い合わせをお待ちしております。

ページ上部へ戻る