この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。
Kinesis がシームレスに S3/Redshiftと連携
Amazon Kinesis に AWS サービスへのデータ連携の親和性が高い Firehose が 発表されました。
2年前に発表された Kinesis はデータストリームのバッファリングとして活用されてきました。
Kinesis の欠点の一つとして、同じく Pub/Sub モデルに対応した SNS と異なり AWS の他のサービスとの連携性が今ひとつで、Kinesis Consumer や最近では AWS Lambda を噛ませて S3 など他の AWS サービスと連携せざるを得ませんでした。
今回発表された Kinesis Firehose を利用すると、
- S3
- Redshift
といった他の AWS のストレージ・データベースとシームレスにデータ連携されるようになります。
Kinesis Firehose は
- US East (N. Virginia)
- US West (Oregon)
- EU (Ireland)
のリージョンで利用可能です。東京リージョン展開が待ち遠しいです。
AWS 版 Kinesis 向け fluentd もどきも追加されました
日本の Kinesis ユーザーの中には システムから Kinesis ストリームへ PutRecord する際に、 fluentd のプラグイン aws-fluent-plugin-kinesis のお世話になった方も多いのではないでしょうか。
今回の Kinesis Firehose の発表とともに、aws-kinesis-agent という JVM で動く fluentd もどきも公開されました。
Amazon Linux 2015/09 からは
$ sudo yum install –y aws-kinesis-agent
でインストールでき、 RedHat 系 OS からも RPM 経由でインストール可能です。
実際にインストールして JSON の設定ファイルを確認してみました。
$ cat /etc/aws-kinesis/agent.json
{
"cloudwatch.emitMetrics": true,
"kinesis.endpoint": "",
"firehose.endpoint": "",
"flows": [
{
"filePattern": "/tmp/app.log*",
"kinesisStream": "yourkinesisstream",
"partitionKeyOption": "RANDOM"
},
{
"filePattern": "/tmp/app.log*",
"deliveryStream": "yourdeliverystream"
}
]
}
今のところは、インプットとしてファイルのみにしか対応していないようですが、今後はどんどん対応フォーマット・OS が拡張されていくのではないでしょうか。