AWS クラウド
ストリーミングデータの使用開始

Apache Kafka はオープンソースの分散型メッセージングシステムで、ストリーミングデータを使用したリアルタイムアプリケーションの構築が可能です。 ウェブサイトのクリックストリーム、金融取引およびアプリケーションログなどのストリーミングデータを Kafka クラスターに送信すると、データは一旦バッファされ、Apache Spark Streaming、Apache Storm または Apache Samza などのフレームワークに構築されたストリーム処理アプリケーションに提供されます。

diagram-kafka

Kafka のデプロイを Amazon EC2 で実行することによって、ストリーミングデータの取り込みを行う高性能でスケーラブルなソリューションが実現します。Kafka を Amazon EC2 にデプロイするには、EC2 インスタンスのタイプを選んでプロビジョンし、Kafka や Apache Zookeeper などのソフトウェアコンポーネントのインストールと設定を実行し、その後ストリーミングデータへの対応に必要なブロックストレージを Amazon Elastic Block Store (EBS) によってプロビジョニングする必要があります。Kafka クラスターがストリームのキャパシティーを超えるデータボリュームのスパイクのような予期しないイベントに対応できるよう、Apache Zookeeper を使用してレプリケーションを構築できます。これにより、Kafka クラスターのノードが常時追跡され、ノード間のプロセスの配分が調整されます。Kafka クラスターのセキュリティを確保するため、Kafka のインストール後、HTTPS のデプロイ、証明書の維持、および Kafka インスタンスへの SSL 設定が必要になります。

Kafka クラスターを Amazon EC2 で実行することにより、信頼性が高くスケーラブルなインフラストラクチャプラットフォームを利用できます。しかし、サーバー群のモニタリング、スケールおよび管理が必要になり、ソフトウェアスタックの維持管理やクラスターのセキュリティ管理も必要となります。これらはかなりの負担になります。Amazon Kinesis Streams は AWS でストリーミングデータを容易に処理できるよう構築されたマネージドサービスであり、これらの問題が解決されています。高い信頼性でストリーミングデータのキャプチャと保存が行われ、データはリアルタイムでストリーム処理アプリケーションから利用できるようになります。Amazon Kinesis コンソールで数回クリックすれば、Amazon Kinesis Streams によるマネージドストリーミングデータの取り込みシステムをプロビジョニングできます。Amazon Kinesis Streams ではデータが 3 つのアベイラビリティーゾーンにレプリケーションされ、データの耐久性が確保されます。ストリームのスケール、保護および管理は API で簡単に実行でき、AWS IAM、Amazon CloudWatch、および AWS CloudTrail など AWS の他のサービスとの統合も組み込まれています。

ストリーム内のデータは、Amazon Kinesis Analytics や、Spark Streaming および Kinesis Client Library (KCL) など他の処理フレームワークに構築された処理アプリケーションで処理できます。処理されたデータによって、ダッシュボードへのリアルタイム表示、アラート生成、動的料金設定の実施、高度なターゲティングによる広告などを実現できます。

Amazon Kinesis と Kafka の詳細については、ここをクリックしてください。

440x220_APN-Blog

この記事では、EC2 で Apache Kafka を設定する方法、EMR で Spark Streaming を使用して Apache Kafka トピックに投稿されるデータを処理する方法、EMR で Spark SQL を使用してストリーミングデータのクエリを実行する方法を示しています。

記事全文を読む »

この記事では、Twitter の公開ストリームを使用して、共和党と民主党の各候補者の成績をほぼリアルタイムで分析しています。Amazon Kinesis Firehose、AWS Lambda (Python 関数)、および Amazon Elasticsearch サービスを統合して、ほぼリアルタイムでエンドツーエンドなディスカバリプラットフォームを作成する方法を紹介します。

記事全文を読む »

このブログ記事では、AWS Lambda および Amazon Kinesis Firehose を使用して、Amazon Kinesis Streams からのデータを Amazon S3 に保持するシンプルかつ効果的な方法について説明しています。

この記事全文を読む »

ストリーミングデータとビッグデータについてのブログ記事を読むには、AWS ビッグデータブログを参照してください »


Amazon Kinesis は簡単に使用開始できます。AWS マネジメントコンソールにサインインし、Amazon Kinesis を起動します。

 

Amazon Kinesis の使用開始