【AWS入門】Amazon Kinesis Firehoseでデータ変換を簡単に

はじめに

前回は『Amazon Athena編~QuickSightからの接続を試してみる~』と題して、Amazon AthenaにQuickSightからの接続を試してみました。
今回は『【AWS入門】Amazon Kinesis Firehoseでデータ変換を簡単に』と題して、Amazon Kinesis Firehoseにデータ変換を試してみたいと思います。

本記事の概要

  • Amazon Kinesis Firehoseのユースケースをご紹介いたします
  • Amazon Kinesis Firehoseを使用し、Apache logをCSVにするBlueprintを試してみます
  • 結論、CSVに変換されました!

ユースケース

機械学習、分析、その他のアプリケーションに用いる動画、音声、アプリケーションログ、ウェブサイトのクリックストリーム、IoT テレメトリーデータをリアルタイムで取り込めます。
動画分析で、Amazon Kinesis を使うと、家庭、オフィス、工場、公共施設で、カメラを装備したデバイスからの動画を AWS に安全にストリーミングできます。これらのビデオストリームは動画再生、セキュリティモニタリング、顔検出、機械学習、その他の分析に使用できます。

Amazon Kinesis Firehose Data Transformation

Amazon Kinesis Firehose ではData TransformationとしてLambdaとの連携によるデータ変換機能を利用することが出来るようになりました。
こちらを利用する事でApache logをCSV形式やJSON形式に変換するなどが簡単に出来るようになります。

Blueprintとして以下が既に用意されております。
今回はApache logをCSVにするBlueprintを試してみたいと思います。

・General Firehose Processing — 必要な処理が記述してあるサンプル
・Apache Log to JSON — Apache log を JSON 形式に変換
・Apache Log to CSV — Apache log を CSV 形式に変換
・Syslog to JSON — Syslog を JSON 形式に変換
・Syslog to CSV — Syslog を CSV 形式に変換

1.Kinesis Firehose の準備

最初にKinesis Firehose を設定していきます。
東京にはまだ来てないのでVirginiaで進めていきます。

image.png

2.Data transformation の設定

次の設定画面でData transformationの設定を進めていきます。
「Enable」を選択して「Create a new Lambda function」をクリックします。

image.png

表示されたBlueprintからApache Log to CSVを選択します。

image.png

コードが登録された状態でLambda作成画面に進みます。

image.png

LambdaにKinesis Firehoseへの必要権限を付与して作成します。

image.png

Kinesis Firehoseの設定画面で先程作成したLambdaを選択します。
image.png

また、Kiensis Firehose側でもLambdaを呼ぶなどの必要権限を付与して作成します。

image.png

3.確認してみる

それでは実際に確認してみます。
次のコマンドでKinesis FirehoseにApache Logをテスト送信します。

しばらく待つと処理された結果がS3に溜まります。

image.png

中身はCSVに変換されてますね!
image.png

終わりに

今回はAmazon Kinesis Firehoseを使用し、Apache logをCSVにするBlueprintを試してみました。
現在は、東京リージョンでも使えるようになっておりますので、ぜひ試してみてください。
個人的には、Kinesis Streamsとは違い、EC2からポーリングしたりLambdaのコードを書く必要がないのがうれしいポイントです。

では、また!