5分でわかるAmazon Kinesis Firehose

Pocket

こんにちは!HALです。

本日は5分でわかるシリーズ「Amazon Kinesis Firehose」についてご案内していきます。

Amazon Kinesis Firehoseってなんですか?

以前からリアルタイムにデータの収集ができるサービスとして「Amazon Kinesis」が提供されていましたが、2015年11月のAWSのカンファレンス「AWS re:Invent 2015」にて、Kinesisの体系が変わり、新たに「Kinesis Firehose」「Kinesis Analytics」「Kinesis Streams」の3つのサービスになりました。

「Kinesis Firehose」は「Kinesis Streams」が収集したデータをS3及びRedshiftに送信する役割になります。

構成例

図1

特徴

①以前はKinesisで収集したデータをS3やRedshiftにデータを流す場合、コードを書く必要がありましたが、Kinesis FirehoseはコードなしでS3、Redshiftにデータ送信が可能です。
②大量のデータを効率よく格納するため、Kinesis Firehoseで圧縮してデータを送信できます。圧縮技術は、Amazon S3 の場合は GZIP、ZIP、SNAPPY を、Amazon Redshift の場合は GZIPとなります。
③セキュアにデータを送信するため、暗号化してデータを送信できます。AWS Key Management Service (KMS) キーによるデータの暗号化を選択可能です。
④データスループットに応じて自動的にスケールされ、継続的な管理は不要なサービスとなります。新しいデータが Amazon Kinesis Firehose に送信されてから 60 秒以内に、データを送信することが可能になります。

利用用途

S3、Redshiftにデータを送信することが目的のサービスとなるため、ログやデータの収集、分析といった利用用途の時に利用するサービスとなります。

利用リージョン及び価格

○Amazon Kinesis Firehoseが現在利用できるリージョン
バージニア北部、アイルランド、オレゴンの3リージョンになります。(東京リージョンでは現在利用できません、)

○価格
データ量に応じて課金されます。以下の体系になっています。
Data Ingested, per GB $0.035

制限事項

Amazon Redshift を送信先として選択した場合、Amazon Kinesis Firehose ではデータがまず Amazon S3 バケットに送信され、その後 Redshift COPY コマンドが実行されて、データが S3 バケットから Redshift クラスターにロードされるため、Amazon Redshift を送信先として選択する場合も必ずAmazon S3が必要になります。

参考資料

【AWS発表】Amazon Kinesis Firehose – シンプルでスケーラブルなデータ収集

[AWS公式]Amazon Kinesis Firehose

いかがでしたでしょうか?

RedshiftやS3にデータを送信する場合に今まで必要だった設定作業がかなり簡略化できるもので色々なシーンで利用されそうなサービスですね、東京リージョンの上陸が待ち遠しいですね。

※他の5分でわかるシリーズはこちらをご参照ください。
AWSレシピ5分でわかるシリーズ