Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
2015 年のうちにやっておきたい Amazon Elasticsearch Service 入門
Search
Yohei Kawahara
December 13, 2015
1
1.9k
2015 年のうちにやっておきたい Amazon Elasticsearch Service 入門
JAWS-UG 福岡「ちょっと濃い目にAWSの話をしてみよう」で発表したスライドです。
Yohei Kawahara
December 13, 2015
Tweet
Share
More Decks by Yohei Kawahara
See All by Yohei Kawahara
20191002_CircleCIMeetupFukuoka#2
inokappa
1
810
kix_009_20190429
inokappa
0
810
2019-04-18 CircleCI Meetup Fukuoka #1
inokappa
2
8k
開発で使える AWS の API 操作を模倣する (OSS) ツールを探してみた/JAWS-UG Kagoshima Vol.8
inokappa
1
1.2k
隙間時間を使って exercism.io を始め隊 | リモートで勉強会 #2
inokappa
0
400
Congratulations fukuokarb#100
inokappa
0
3.9k
moto を 'もっと' 使おう/PyFukuoka#4
inokappa
0
4.4k
github-enterprise-user-kai-desuyone
inokappa
0
100
Elixir and AWS Tutorial
inokappa
0
540
Featured
See All Featured
A Tale of Four Properties
chriscoyier
156
23k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
16
2.1k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
665
120k
Into the Great Unknown - MozCon
thekraken
32
1.5k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
506
140k
Product Roadmaps are Hard
iamctodd
PRO
49
11k
Documentation Writing (for coders)
carmenintech
65
4.4k
A Modern Web Designer's Workflow
chriscoyier
693
190k
Raft: Consensus for Rubyists
vanstee
136
6.6k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
25
1.8k
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
Practical Orchestrator
shlominoach
186
10k
Transcript
2015 年のうちにやっておきたい Amazon Elasticsearch Service ⼊⾨ 2015.12.12 JAWS-UG福岡 ちょっと濃い⽬にAWSの話をしてみよう かっぱ(@inokara)
提供
AWSを活⽤しながらビジネスに集中できる コンシェルジュサービス
24時間365⽇ 定額課⾦/ 請求書払い PCI DSS、ISMS、Pマーク取得済みの運⽤体制 監視運⽤保守 企業 AWS
(1,500⽇間) ※ 2010年5⽉cloudpackサービススタート 36,000時間 連続稼働 (※)
4 社 社超 プロジェク ト超 500 600 5年間 5年間AWSのみで運⽤保守
アジア地域4社 世界28社 最上位パートナー プレミアコンサルティングパートナー
企業規模別 cloudpack利⽤⽐率 36% 27 37 % % 中⼩企業 中堅企業 ⼤企業
Web系 91 % うち33%が ソーシャルゲームや メディアサイト cloudpackͷओͳར༻状況
None
アジェンダ ☁ 注意 ☁ ⾃⼰紹介 ☁ Demo の準備 ☁ Amazon
Elasticsearch Service について ☁ 個⼈的な事例(途中で Demo を挟むかも) ☁ Demo ☁ 終わり
注意 ☁ ⾃分が Amazon Elasticsearch Service に⼊⾨したメ モです ☁ 運⽤事例等の役⽴つ情報は無いかもしれません
☁ 本資料に記載された内容の全ては作成時点の内容とな ります ☁ 本資料内で Amazon Elasticsearch Service を Amazon ES と省略して記載している部分があります
⾃⼰紹介 ☁ 川原洋平(@inokara)※「かっぱ」と呼んでね♪ ☁ アイレット株式会社 cloudpack 事業部所属 ☁ ⾹椎からリモート勤務(1 年少々)しています
いきなり Demo の準備
Amazon ES クラスタを構築してみる ☁ 後ほど九州地⽅の PM 2.5 を可視化します ☁ その前に
Amazon ES クラスタを構築します ☁ 10 分位でクラスタ構築されます ☁ クラスタ構築後 PM2.5 のデータを投⼊します
Amazon Elasticserach Service について
その前に Elasticsearch とは ☁ スキーマフリー ☁ 分散ドキュメントストア ☁ REST &
API ☁ インストールが簡単、導⼊が簡単 ☁ Java で実装
ボクと Elasticsearch の過去 ☁ 導⼊し易いが故の… ☁ プラグイン ☁ JVM ☁
アクセスコントロール ‘ ৭ʑͱল͠ͳ͚Ε͍͚ͳ͍ࣄ͕͋Γ·͢ʜ͕ɺ ·ͨࠓʜ
Amazon Elsticsearch Service について(概要) ☁ 簡単デプロイ ☁ 管理(可⽤性の確保、パッチ管理、障害検出、ノードの交 換、バックアップ、モニタリング等)は AWS
にある程度 お任せ ☁ CloudWatch と連携した⾼いスケーラビリティ ☁ Kibana ⼊り(はじめから Kibana が利⽤可能) ☁ IAM ポリシーによって安全にクラスタにアクセス出来る
Amazon Elsticsearch Service について(導⼊ 1) ☁ Manegement Console からであれば数ステップ ☁
後ほど Demo ☁ クラスタ = ドメイン ☁ ドメインを作るところから始める ☁ 10 分位でアクセス可能な状態になる
Amazon Elsticsearch Service について(導⼊ 2) ☁ インスタンスタイプの選択 ☁ T2 テスト、クラスタ管理向け
☁ R3 メモリ重視 ☁ I2 ハイパフォーマンス ☁ M3 ⼀般的な利⽤
Amazon Elsticsearch Service について(導⼊ 3) ☁ ドメインのノード数 ☁ Enable dedicated
master ☁ クラスタ管理のみを⾏うノードを作成する(奇数で⽤意することを推奨) ☁ Enable zone awareness[あうぇあねす] ☁ リージョン内の複数の AZ にノード分散配置する ☁ Advance setting(今回は特に触れない) ☁ rest.action.multi.allow_explicit_index ☁ URL Base のアクセスポリシーを指定 ☁ indices.fielddata.cache.size ☁ fielddata のキャッシュサイズを指定
Amazon Elsticsearch Service について(導⼊ 4) ☁ ストレージ ☁ T2 シリーズ以外は
Instance Store を選択することができる ☁ EBS は Magnetic / GP2 / PIOPS から選択することが出来る ☁ EBS サイズは最低 10GB から最⼤ 512GB まで指定することが出来 る(インスタンスサイズによって最⼤サイズは異なる) ☁ スナップショットの時間を指定する
Amazon Elsticsearch Service について(導⼊ 5) ☁ アクセスポリシーの設定 ☁ IAM や
IP で制御することができる(後述)
Amazon Elsticsearch Service について(管理) ☁ モニタリングは CloudWatch で ☁ 必要に応じて⼿動でスケールアウトが可能
☁ スナップショット ☁ デフォルトでは⾃動的に取得される ☁ スナップショット取得時間は指定可能 ☁ 保存期間は 14 ⽇間 ☁ レストアするには AWS サポートにお願いする必要がある... ☁ Elasticsearch API を使うことで⼿動でスナップショットを作成可能 (後述)
Amazon Elsticsearch Service について(API) ☁ 以下の API がサポートされている ☁ http://docs.aws.amazon.com/ja_jp/elasticsearch-service/
latest/developerguide/es-gsg-supported-operations.html ☁ サポートされていない API もある... ☁ 例えば、status とか(elasticsearch-head とかで使われている) ☁ ⽇々サポートされる API が増えている感もある
Amazon Elsticsearch Service について(プラグイン) ☁ 以下のプラグインが導⼊されている ☁ Kinaba 3 ☁
Kibana 4 ☁ jetty ☁ cloud-aws ☁ kuromoji ☁ icu ☁ ⾃分でプラグインが追加出来ない... ☁ そもそもインストールできたらマネージドではなくなるので仕⽅ないのかなと思っている
Amazon Elsticsearch Service について(アクセスポリシー) ☁ IAM ユーザー、AWS アカウントによるアクセス制 御 ☁
IP アドレスによるアクセス制御 ☁ Lambda からのアクセスは挫折した ☁ IAM でアクセス制御している API にリクエストする場合にはアクセスを 許可されたリソースの credential を使った署名を付与する必要がある ☁ SDK は上記を程よくラッピングしているので意識する必要は無い
そろそろ ES クラスタ出来たかな?
(続)Amazon ES クラスタを構築してみる ☁ クラスタが構築出来たらデータを投⼊します ☁ 投⼊するデータはそらまめ君で公開されている⼤ 気汚染物質のデータから PM2.5 のみを投⼊しま
す(そらまめ君(http://soramame.taiki.go.jp/)) ☁ データは Ruby を使って投⼊します ☁ データの投⼊には暫く時間が掛かります…
個⼈的な事例
⼿動によるスナップショット http://inokara.hateblo.jp/entry/2015/12/05/181358
Fluentd + CloudWatch Logs との連携 http://inokara.hateblo.jp/entry/2015/12/06/192436
Fluentd + CloudWatch Logs との連携
Amazon S3 + S3 Event notification + SQS との連携 http://inokara.hateblo.jp/entry/2015/12/10/224031
Amazon S3 + S3 Event notification + SQS との連携
そして Demo
放り込んでおいたそらまめ君データを Kibana 4 で可視化する
放り込んでおいたそらまめ君データを Kibana 4 で可視化する ☁ そらまめ君(http://soramame.taiki.go.jp/) ☁ 先ほど放り込んでおいたデータを Kibana4 で可
視化する ☁ Kabana4 のオブジェクト情報(JSON)も Amazon ES に⼊っている(弄ることも出来る)
そらまめ君のデータを放り込んで Kibana 4 で可視化する(デモにミスった場合の予備) こんな感じになる予定
(おまけ)そらまめ君のデータを毎⽇配信中 S3 にホスティング Lambda でツイート Docker + Ruby + Dynamo
DB で収集
最後に
Amazon ES を触った感想 ☁ 簡単構築、運⽤管理のコストは下がると思う ☁ 基本的な操作は Rest API で出来るので普通の
Elasticsearch となんら遜⾊が 無い ☁ 但し、利⽤が制限されている API があるので注意 ☁ インデックスの Mapping についても⾃分で⾯倒を⾒る必要がある(逆に⾔うと 任意に定義出来る) ☁ Kibana 同梱は嬉しいが⾃分でプラグインインストールできなさそうなのは⾟ いけど我慢しよう ☁ Lambda との連携が理想的だけどアクセスポリシーと併⽤する際には注意が必 要(SDK が対応してくれると嬉しい)
参考リンク ☁ http://docs.aws.amazon.com/ja_jp/elasticsearch-service/latest/ developerguide/aes-dg.pdf ☁ https://www.elastic.co/guide/en/elasticsearch/reference/current/ index.html ☁ https://speakerdeck.com/johtani/elasticsearchfalseshao-jie-tote-zheng- cross-2015
☁ http://soramame.taiki.go.jp/ ☁ http://inokara.hateblo.jp/entry/2015/12/05/181358 ☁ http://inokara.hateblo.jp/entry/2015/12/06/192436 ☁ http://inokara.hateblo.jp/entry/2015/12/10/224031
質問…(はお⼿柔らかに…)
提供
None