注意事項
本ハンズオンで利用料金が発生します
- Kinesisに無料枠はありません。僅かながらも課金されます。
- 実施後は必ずストリームを削除してください。時間課金されます
ハンズオン環境の準備
- JAWS-UG CLI ハンズオンのための事前準備
- #22 Kinesis 入門 では、上記に加え bc コマンドを使います。このコマンドは、場合によってはインストールされていない可能性があります。
which bc
を実行し、パスが表示されなければ、別途 yum 等で bc コマンドをインストールしてください
概要
説明資料
- Amazon Kinesis 入門: http://www.slideshare.net/daikumatan
ハンズオン
- Kinesis 管理者グループの作成: http://qiita.com/daikumatan/items/b5ec5661c8927bee2aef
- ハンズオン用IAMユーザの作成 (AWS管理ポリシ: KinesisFull): http://qiita.com/daikumatan/items/2217757a735f406af23f
- ストリームの作成: http://qiita.com/daikumatan/items/3828b2ce5ff833ce2f4a
- データレコードの入力/取得: http://qiita.com/daikumatan/items/e92d9e71f9a729ea8467
- Shard の分割: http://qiita.com/daikumatan/items/9d423aaeb5b00f55645f
- 複数データレコードの一括入力/取得: http://qiita.com/daikumatan/items/7e42247acd92a4b37c24
- Shardのマージ: http://qiita.com/daikumatan/items/7c36aaa124260e521c93
- 後始末
- ストリームの削除: http://qiita.com/daikumatan/items/c43a87b4234b633e3e6a
- ハンズオン用IAMユーザの削除: http://qiita.com/daikumatan/items/4fb131933ceba5674c1b
Tips
- Kinesis shardの Open/Close を AWS CLI から一発で確認するワンライナー: http://qiita.com/daikumatan/items/d58fb628d5c03cc8a710
Q & A
Shardの分割 or マージ中に データを put したらどういう挙動になるのか?
新しい Shard にデータは put されます。
ただし、ステータスが Updating から Active になるまで、データを get することはできません
どこまでデータを get したかなどの管理を KCL が やってくれるので、できるだけ KCL を使いましょう
Iteratorとは何者?
C のポインターみたいなもの。ただし、5分ごとに動的に変化していく。なぜこのように動的に変化するのかまではわかりませんでした。
shardをマージするとき A & B を B & A すると挙動として違いがでるのか?
でません。基本同じになるでしょう。
その他、実用上参考になる情報
貴重な情報だと思うので、SAの榎並さんとの会話をメモっておきます!
- KCLはヒストリカルなデータをちゃんと生成するためのライブラリーだよ。ダッシュボードをどう作るかは、なかなか難しい問題だね!
- JawsDays2015 の HackDays のサンプルは、ダッシュボードを node.js で作ったけど、shard の分割・マージには対応できないつくりになっているよ。分割・マージ時のデータの取得に厳密性を求めないのであれば、分割・マージを実行するコードにラッパーかぶせて対応するのもありだね!
- 海外の事例だと、Kinesis --> Storm --> Redis などあるよ !