JAWSDAYS2014 Amazon Kinesis for Beginner
-
Upload
toshiyuki-konparu -
Category
Technology
-
view
826 -
download
6
description
Transcript of JAWSDAYS2014 Amazon Kinesis for Beginner
アールスリーインスティテュート 金春 利幸(JAWS-UG大阪)
Amazon Kinesis
#jawsdays #ace
このセッションのハッシュタグは、 !
#jawsdays #ace !
でお願いします
#jawsdays #ace
自己紹介金春 利幸(こんぱる としゆき) !アールスリーインスティテュート マネージャー&ソリューションアーキテクト !JAWS-UG大阪 コアメンバー !ブログ: http://www.konpa.ru/ (網元AMIで動いてます) FB: t.konparu twitter: t_konparu
#jawsdays #ace
アールスリーインスティテュートについて
・2000年創業の大阪のシステム開発会社 !
・大手がやる仕事を少数精鋭で実施するのがコンセプト(実際に大手と提案で勝負すること多々) !
・2012年からAWSのパートナー !
・AWSを活用し、AWS上で稼働するシステムを提案 !
・今年は、今まで以上にAWSに力を入れていく予定 !
・入り口のJOB Boardに求人出してますのでぜひ!
#jawsdays #ace
初心者向けに事例もまじえてわかりやすく説明します!
#jawsdays #ace
Amazon Kinesis 触ったことある人?
#jawsdays #ace
朝一のAWS大谷さんの セッション参加した人?
#jawsdays #ace
朝一聞いた人は もう理解しちゃってますね・・・
#jawsdays #ace
Amazon Kinesis
リアルタイム分析 プラットフォーム
#jawsdays #ace
???
#jawsdays #ace
リアルタイムに 不規則に
発生するデータを 漏らすことなく
スマートに処理するための仕組み
#jawsdays #ace
リアルタイム分析の悩み
・データを受け取るための適切なリソースのサイジングを行うのは難しい
!
・安全にデータを保管するのは難しい !
・受けたデータを適切な速度で処理するのはサイジングが難しい !
・かといって、ピーク性能に合わせるとコストがかかる
どんどんやってくるデータに対して
#jawsdays #ace
Kinesisの基本概念
Data Sources Kinesis Endpoint
Shards Kinesis ApplicationInstances
Kinesis Stream
RDS
DynamoDB
#jawsdays #ace
Shard
Shard
Partition Key Data Body
Partition Key Data Body
Partition Key Data Body
Partition Key Data Body
Partition Key Data Body
Partition Key Data Body1
2
3
4
Shardの能力 Write 1MB/sec(1000write/sec) Read 2MB/sec(5read/sec)
50KB256bytes
ストリーム全体でユニークなSequenceNumberが振られる
Shard内のデータは24時間で削除される
どのShardにデータが入るかはPartitionKeyで決まる
#jawsdays #ace
Shardの考え方の雑なイメージ
…
スーパーのレジを想像してください。
レジがShard お客さんがデータ
#jawsdays #ace
#jawsug っていいよね
#jawsug すごいよね
#jawsug 大阪熱いよね
#aws C3インスタンスにEBS Optimizedを
#aws Workspacesにもっとスペックを
#aws AWS太っ腹
Kinesisでのデータの流れ方
#jawsdays #ace
Amazon Kinesis
Shard
Shard
#jawsug っていいよね
#jawsug すごいよね
#jawsug 大阪熱いよね
#aws C3インスタンスにEBS Optimizedを
#aws Workspacesにもっとスペックを
#aws AWS太っ腹
Kinesisでのデータの流れ方
#jawsdays #ace
GetNextRecord
Kinesis App
Kinesis App
Amazon Kinesis
Shard
Shard
#jawsug っていいよね
#jawsug すごいよね
#jawsug 大阪熱いよね
#aws C3インスタンスにEBS Optimized
#aws Workspacesにもっとスペックを
#aws AWS太っ腹
Partition Key
12
3
4
56
GetNextRecord
Kinesisでのデータの流れ方
#jawsdays #ace
DynamoDB
Kinesis App
Kinesis App
#jawsug: 3
#aws: 3
Kinesisでのデータの流れ方
#jawsdays #ace
Kinesis Client Library(KCL)
・APIを直接使わなくても簡単に使える !
・データを処理するWorkerの生成 !
・各Shardに対してWorkerがちゃんとつくように制御 !
・Shard増減時のWorkerの増減 !
・処理中にWorkerが死んだときの再処理制御 !
・AutoScaling時にWorkerとShardの割当を自動的に調整
#jawsdays #ace
Kinesis Connector Library
・Kinesis Streamから必要なデータ変換をしてS3, DaynamoDB, Redshiftへデータを格納するライブラリ !
・変換部分の記述に集中できる !
・最近EMR(ElasticMapReduce)用のConnectorも発表になりました !
・Kinesis log4j Appenderも公開されているので、WebサイトのログをKinesisに流してEMRで分析なんてのも簡単にできます
#jawsdays #ace
事例全国に設置された大量の機器からのデータを処理
【現在】
FTP Server DB Server Web Server
これが何セットもある
#jawsdays #ace
事例全国に設置された大量の機器からのデータを処理
【Amazon Kinesis】
Region
Kinesis Endpoint
Shards RDS
S3
Web Server
Analysis Server
#jawsdays #ace
事例全国に設置された大量の機器からのデータを処理
【Amazon Kinesis】
Region
Kinesis Endpoint
Shards RDS
S3
Web Server
Analysis ServerAmazon Kinesis
#jawsdays #ace
事例全国に設置された大量の機器からのデータを処理
【Amazon Kinesis】
Region
Kinesis Endpoint
Shards RDS
S3
Web Server
Analysis Server
Managed Service
#jawsdays #ace
事例全国に設置された大量の機器からのデータを処理
【Amazon Kinesis】
Region
Kinesis Endpoint
Shards RDS
S3
Web Server
Analysis Server
Auto Scaling
#jawsdays #ace
事例全国に設置された大量の機器からのデータを処理
【Amazon Kinesis】
Region
Kinesis Endpoint
Shards RDS
S3
Web Server
Analysis Server
Auto ScalingManaged Service
#jawsdays #ace
解決されること
・お客さんが増えてもShardをスケールさせればデータは受けられる !
・万が一お客さんが減ってもスケールダウンさせればムダなリソースは発生しない !
・分析側もAutoScalingでデータ量に合わせてスケールできる !
・RAWデータはS3に安全に保管できる !
・基本的にすべてManagedなので、インフラの運用に関する負担が非常に小さい
#jawsdays #ace
まとめ
・Amazon Kinesisは、従来のAWSのサービス群と違い、マッチするユースケースがないと利用しづらいと思います !
・ただし、マッチするユースケースがある場合は積極的に使うことによって楽にリアルタイム分析プラットフォームを構築することができます !
・もし事例があれば、JAWS-UGで公開してください。みんな喜びます
#jawsdays #ace
Thank You
JOB Boardに弊社求人を 掲載しています!
一緒にシステム作りましょう!