俺と Amazon Elasticsearch Service とスポットインスタンス

50
俺と Amazon Elasticsearch Service スポットインスタンス 2016-09-11 JAWS-UG金沢 x Kanazawa.rb Elastic勉強会 ふぁらお加藤

Transcript of 俺と Amazon Elasticsearch Service とスポットインスタンス

Page 1: 俺と Amazon Elasticsearch Service とスポットインスタンス

俺とAmazon Elasticsearch Service とスポットインスタンス

2016-09-11

JAWS-UG金沢 x Kanazawa.rb Elastic勉強会

ふぁらお加藤

Page 2: 俺と Amazon Elasticsearch Service とスポットインスタンス

Profile

Name

ふぁらお加藤 / @PharaohKJ

BelongTo

JAWS-UG 金沢

Kanazawa.rb

Job & Works

PhalanXware (Freelancer)

OCR system com / .NET

ISDB-T MFC / Linux C++

Social Game PHP / Java

Information App AngularJS / CakePHP

Factory Automation .NET

Page 3: 俺と Amazon Elasticsearch Service とスポットインスタンス

目指すゴールなるべく「簡単に」「手軽に」「手間をかけずに」「金もなるべくかけずに」「勉強せず」上司や企画の方が見たとき「なるほど参考になる」と言うであろうグラフを出す。(※上司、企画が見る、言うとは言っていない)

Page 4: 俺と Amazon Elasticsearch Service とスポットインスタンス

本日学んだ結果、みんなが思うこと

Page 5: 俺と Amazon Elasticsearch Service とスポットインスタンス

すぐにでも試したい!マウス2クリックで!CLI 2コマンドぐらいで!

Page 6: 俺と Amazon Elasticsearch Service とスポットインスタンス

ああ〜Elasticsearch + Kibana

がすぐ欲しい〜

Page 7: 俺と Amazon Elasticsearch Service とスポットインスタンス

AWS ですぐ用意できますよ!

Page 8: 俺と Amazon Elasticsearch Service とスポットインスタンス

しかもちゃんとスケールできますよ

Page 9: 俺と Amazon Elasticsearch Service とスポットインスタンス

Elasticsearch

Serviceアイコン覚えよう

Page 10: 俺と Amazon Elasticsearch Service とスポットインスタンス

SaaSぽい感じ※AWSはXaaSとは絶対言わない

Page 11: 俺と Amazon Elasticsearch Service とスポットインスタンス

公式ページより

https://aws.amazon.com/jp/elastics

earch-service/

Page 12: 俺と Amazon Elasticsearch Service とスポットインスタンス

公式ページより2

https://aws.amazon.com/jp/elastics

earch-service/

Page 13: 俺と Amazon Elasticsearch Service とスポットインスタンス

お値段いろいろ

無料枠アリ(サインアップから12ヶ月内)

https://aws.amazon.com/jp/free/

Page 14: 俺と Amazon Elasticsearch Service とスポットインスタンス

実演します

Page 15: 俺と Amazon Elasticsearch Service とスポットインスタンス

まぁAWSのアカウントはみんな持ってるのでアカウント取得は割愛

Page 16: 俺と Amazon Elasticsearch Service とスポットインスタンス

やること

• 名前と Elasticsearchのバージョンを決める

• クラスタを構成する台数、マシンスペックを決める

• 遠いZONEに分散するか、などきめる

• ディスク容量を決める

• 接続制限を設定する(例えば、接続IPを指定)

Page 17: 俺と Amazon Elasticsearch Service とスポットインスタンス

以上を入力すればOK

Page 18: 俺と Amazon Elasticsearch Service とスポットインスタンス

実演!

https://ap-northeast-1.console.aws.amazon.com/es/home?region=ap-northeast-1

http://www.ugtop.com/spill.shtml

Page 19: 俺と Amazon Elasticsearch Service とスポットインスタンス

まぁ Elasticsearch できるとして何をやるか

Page 20: 俺と Amazon Elasticsearch Service とスポットインスタンス

俺の爆儲かりブログのアクセス解析をしよう

Page 21: 俺と Amazon Elasticsearch Service とスポットインスタンス

(爆儲かり具合を知りたいかたは30日飲み会ね)

Page 22: 俺と Amazon Elasticsearch Service とスポットインスタンス

んなもん Google Analytics でやるでしょ?

Page 23: 俺と Amazon Elasticsearch Service とスポットインスタンス

でも REST API のログとか解析したいやろ?そういう気持ちでみてね

Page 24: 俺と Amazon Elasticsearch Service とスポットインスタンス

例えばソシャゲ > ガチャ回ったタイミング集計EC > 商品売れたタイミング集計REST でリソースが操作されるタイミング集計

こういうのは運営イベントカレンダーとJOINして表示すると、企画さんにも便利だよね

Page 25: 俺と Amazon Elasticsearch Service とスポットインスタンス

CDNのログを S3 に保存しているので流し込もう

Page 26: 俺と Amazon Elasticsearch Service とスポットインスタンス

S3

(Storage)

CloudFront

(CDN)

配信

Elasticsearch

( ES & Kibana )

お客さん EC2 (VM)

logstash

ログ自動出力 取得 転送終わったら削除

集計

オペレータ

Page 27: 俺と Amazon Elasticsearch Service とスポットインスタンス

こういうログを変換して突っ込んで捨てるVM

Page 28: 俺と Amazon Elasticsearch Service とスポットインスタンス

スポットインスタンスを使いましょう!

Page 29: 俺と Amazon Elasticsearch Service とスポットインスタンス

AWSさんは超絶大量のVMがたくさんある

Page 30: 俺と Amazon Elasticsearch Service とスポットインスタンス

稼働率は100%ある?そんなわきゃない

Page 31: 俺と Amazon Elasticsearch Service とスポットインスタンス

供給側 AWSさん余ったVM、安くしておくから使ってくんない?

需要側俺ら余ったVM、安く使わせてくれない?

Page 32: 俺と Amazon Elasticsearch Service とスポットインスタンス

需要と供給で値段が常に上下しているVM

Page 33: 俺と Amazon Elasticsearch Service とスポットインスタンス

それがスポットインスタンス

Page 34: 俺と Amazon Elasticsearch Service とスポットインスタンス

普通との比較

• 超安い!(10分の1ぐらいのときもある)

• リクエスト方式なので指し値によってはできないこともある。通った場合も、+3分〜5分かかる。

• AWSさんが「需要あるし、値上げするわ」という金額が、こっちの指し値を上回ったら、削除される。

• 1時間-6時間削除しないでね、ってのもある。

Page 35: 俺と Amazon Elasticsearch Service とスポットインスタンス

実演

https://ap-northeast-

1.console.aws.amazon.com/ec2sp/v1/spot/dashboard?region=ap-

northeast-1

https://aws.amazon.com/jp/ec2/pricing/

Page 36: 俺と Amazon Elasticsearch Service とスポットインスタンス

できたらそこのにsshアクセスしてlogstashを使って流しこむ(認証情報と設定をファイルに書いて合計5コマンドぐらいでできる!)

Page 37: 俺と Amazon Elasticsearch Service とスポットインスタンス

input 入力 from S3

参考 : http://dev.classmethod.jp/server-side/elasticsearch/cloudfront-log-to-kibana/

Page 38: 俺と Amazon Elasticsearch Service とスポットインスタンス

filter 加工

参考 : http://dev.classmethod.jp/server-side/elasticsearch/cloudfront-log-to-kibana/

Page 39: 俺と Amazon Elasticsearch Service とスポットインスタンス

出力 to Elasticsearch

参考 : http://dev.classmethod.jp/server-side/elasticsearch/cloudfront-log-to-kibana/

Page 40: 俺と Amazon Elasticsearch Service とスポットインスタンス

全コマンド

• wget

https://download.elastic.co/logstash/logstash/pack

ages/centos/logstash-2.2.2-1.noarch.rpm

• sudo rpm -ivh logstash-2.2.2-1.noarch.rpm

• sudo /opt/logstash/bin/plugin install logstash-

output-amazon_es

• vi cloudfront.conf

• /opt/logstash/bin/logstash -f cloudfront.conf

Page 41: 俺と Amazon Elasticsearch Service とスポットインスタンス

流し込みが終わったら削除、リクエストも削除

Page 42: 俺と Amazon Elasticsearch Service とスポットインスタンス

ユースケースとして、夜間バッチ、ちょっとだけ計算させたい、試したい、とかむいてる

Page 43: 俺と Amazon Elasticsearch Service とスポットインスタンス

ハマったところ

• logstash から ES へのアクセス許可書き忘れてた

• prefix が全部、つまりレコード数が多いと確認するのにめちゃくちゃ時間がかかるので、まずは数ファイルで動作確認オススメ

• Kibana 側でレコードでてこない!と思ったら検索範囲が間違っていた

Page 44: 俺と Amazon Elasticsearch Service とスポットインスタンス

結果を使ってみましょう

https://search-myes-gqsutufvtflfzqyp2saq2bseoi.ap-northeast-

1.es.amazonaws.com/_plugin/kibana/

Page 45: 俺と Amazon Elasticsearch Service とスポットインスタンス

this month

Daily で useragent.device

Page 46: 俺と Amazon Elasticsearch Service とスポットインスタンス

this month

Daily で useragent.name

Page 47: 俺と Amazon Elasticsearch Service とスポットインスタンス

this month

円グラフ、useragent.device、name

Page 48: 俺と Amazon Elasticsearch Service とスポットインスタンス

爆儲かり具合がおわかりいただけただろうか

Page 49: 俺と Amazon Elasticsearch Service とスポットインスタンス

まとめ

• Elasticsearch + Kibana インスタンス簡単にスケールするものがAWSで得られる

• 一時作業にはスポットインスタンスを使うと安い!(みんなにはナイショだよ)

• 上司、企画が次のコンテンツ作りに活かせそうなのをKibanaで簡単に可視化できた

Page 50: 俺と Amazon Elasticsearch Service とスポットインスタンス

ふぁらお加藤

ご清聴ありがとうございました