3年ぶり2回目のAWS最大級のイベントAWS re:Invent 2016にやってきました!
日本では使えない?Amazon Echo dotを頂いた事や
会場も3年前は1箇所だったのに2箇所に増えている!といった規模の拡大に驚きつつ、睡眠不足ですが楽しんでおります!!
Amazon Kinesis Streamsを利用した実例紹介セッションに参加しました。
ストリームデータとしての定義は "継続的にキャプチャし、低レイテンシで処理するデータ" との事で
リクエスト数がかなりの数のデータ処理を例に発表されていました。
技術的に込み入った部分のテクニックについては、英語力が追いつかずでメモを取れませんでしたが
基本的な部分を含みますが、自分でも検討・実施しなければ!と思った部分です。
Tips
- 前段にELBを挟んでいるならば、ELBLogを利用しリクエストのリプレイが出来る
-
KCLアプリケーションはAutoScalingGroupに組みこみスケーラビリティを確保
-
Cloudwatchでの監視 / 運用
Cloudwatchにて利用状況を見定める
http://docs.aws.amazon.com/ja_jp/AmazonCloudWatch/latest/monitoring/ak-metricscollected.html -
Kinesis StreamsのりシャーディングをAPIにて適宜実施する
事例では時間帯によりシャード数を変えてコスト最適化を実施していました
http://dev.classmethod.jp/cloud/scale-your-amazon-kinesis-stream-capacity-with-updateshardcount/
※API利用方法、注意点について素晴らしい記事があったためリンクさせて頂きます。
検討
-
Streams vs Firehose
Firehoseだと自由度が下がり対応できないケースがあったため、Streamsを採用した -
EC2 vs Lambda
紹介事例ではLambdaを利用したが、SpotinstanceのEC2を利用したほうがコストメリットがあった -
Kinesis Streams vs Apache Kafka
紹介事例ではマネージドサービスである事、スケーラビリティの観点からKinesisを利用
先人のノウハウを効率よく学ぶ事の出来る素晴らしいイベントです!
引き続き楽しんできます!