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
Amazon Elasticsearch Service について
Search
Yohei Kawahara
April 26, 2016
1
1.1k
Amazon Elasticsearch Service について
「Elasticsearch勉強会 in 福岡」にてお話させて頂いた資料です。
Yohei Kawahara
April 26, 2016
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
Why Our Code Smells
bkeepers
PRO
334
57k
Music & Morning Musume
bryan
46
6.2k
For a Future-Friendly Web
brad_frost
175
9.4k
Into the Great Unknown - MozCon
thekraken
32
1.5k
The Art of Programming - Codeland 2020
erikaheidi
52
13k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
26
2.1k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
364
24k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
131
33k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
25
1.8k
Keith and Marios Guide to Fast Websites
keithpitt
409
22k
jQuery: Nuts, Bolts and Bling
dougneiner
61
7.5k
Fireside Chat
paigeccino
34
3k
Transcript
Amazon Elasticsearch Service について 2016.04.26 Elasticsearch勉強会 in 福岡 かっぱ(@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
これは cloudpack の CM です
これは cloudpack の CM です
これは cloudpack の CM です
アジェンダ ☁ 注意 ☁ ⾃⼰紹介 ☁ Amazon Elasticsearch Service について
☁ 個⼈的に試してみたこと ☁ Demo ☁ 終わり
注意 ☁ 本資料では Amazon Elasticsearch Service について簡単に 紹介させて頂きます ☁ AWS
Black Belt Tech Webinar 2016 〜 Amazon CloudSearch & Amazon Elasticsearch Service 〜 より多 数引⽤させて頂いております ☁ 本資料に記載された内容の全ては作成時点の内容となります ☁ 本資料内で Amazon Elasticsearch Service を Amazon ES と省略して記載している部分があります
⾃⼰紹介 ☁ 川原洋平(@inokara) ☁ 「かっぱ」とお気軽にお声がけ下さい ☁ 初⽼丸(40 歳) ☁ アイレット株式会社
cloudpack 事業部所属 ☁ ⾹椎からリモート勤務(もうすぐ 2 年⽬) ☁ 好きな⾔葉:中年⽼い易く作業成り難し ☁ 最近気になること:加齢臭
Amazon Elasticserach Service について
その前に… Elasticsearch とは ☁ スキーマフリー ☁ 分散ドキュメントストア ☁ REST &
API ☁ インストールが簡単、導⼊が簡単 ☁ Java で実装
その前に… Amazon CloudSearch について ☁ 2011 年から Amazon が提供しているフルマネージド 検索サービス
☁ AWS のカテゴリでは Application Services に含まれ ている ☁ amazon.com で利⽤されている ☁ 検索エンジンとしては Apache Solr が利⽤されている ☁ 詳細については…
その前に… Amazon CloudSearch について ☁ 2011 年から Amazon が提供しているフルマネージド 検索サービス
☁ AWS のカテゴリでは Application Services に含まれ ている ☁ amazon.com で利⽤されている ☁ 検索エンジンとしては Apache Solr が利⽤されている ☁ 詳細については… http://www.slideshare.net/AmazonWebServicesJapan/aws-black-belt-tech-webinar-2016-amazon-cloudsearch-amazon-elasticsearch-service
Amazon Elsticsearch Service について ☁ 2015 年 10 ⽉にリリースされた AWS
フルマネージドな ELK スタックサービス ☁ AWS のカテゴリでは Analytics に含まれている ☁ 管理(可⽤性の確保、パッチ管理、障害検出、ノードの交換、 バックアップ、モニタリング等)は AWS にある程度お任せ ☁ CloudWatch と連携した⾼いスケーラビリティ ☁ Kibana ⼊り(はじめから Kibana が利⽤可能) ☁ IAM ポリシーによって安全にクラスタにアクセス出来る
Amazon Elsticsearch Service について
Amazon Elsticsearch Service の導⼊ ☁ Manegement Console からであれば数ステップ ☁ クラスタ
= ドメイン ☁ ドメインを作るところから始める ☁ 10 分位でアクセス可能な状態になる
Amazon Elsticsearch Service の導⼊ ☁ インスタンスタイプの選択 ☁ T2 シリーズ:テスト、クラスタ管理向け ☁
R3 シリーズ:メモリ重視 ☁ I2 シリーズ:ハイパフォーマンス ☁ M3 シリーズ:⼀般的な利⽤
Amazon Elsticsearch Service の導⼊ ☁ ドメインのノード数 ☁ Enable dedicated master
☁ クラスタ管理のみを⾏うノードを作成する(奇数で⽤意することを推奨) ☁ Enable zone awareness[あうぇあねす] ☁ リージョン内の複数 AZ にノードを分散配置する ☁ 最⼤ 10 ノードまで作成可能 ☁ Advance setting ☁ rest.action.multi.allow_explicit_index ☁ URL Base のアクセスポリシーを指定 ☁ indices.fielddata.cache.size ☁ fielddata のキャッシュサイズを指定
Amazon Elsticsearch Service の導⼊ ☁ ストレージ ☁ T2 シリーズ以外は Instance
Store を選択することができる ☁ EBS は Magnetic / GP2 / PIOPS から選択することが出来る ☁ EBS サイズは最低 10GB から最⼤ 512GB まで指定することが出来 る(インスタンスサイズによって最⼤サイズは異なる) ☁ スナップショットの時間を任意に指定することが出来る
Amazon Elsticsearch Service の導⼊ ☁ アクセスポリシーの設定 ☁ IAM や IP
アドレスで制御することができる(後述)
Demo ☁ Amazon Elasticsearch Service クラスタ構築 ☁ インスタンスサイズは t2.micro ☁
EBS は Magnetic で 10GB ☁ ノードは 1 台 ☁ IP アドレスでアクセスを制御する
Amazon Elsticsearch Service の管理 ☁ モニタリングは CloudWatch で ☁ 必要に応じて⼿動でスケールアウトが可能
☁ スナップショット ☁ デフォルトでは⾃動的に取得される ☁ スナップショット取得時間は指定可能 ☁ 保存期間は 14 ⽇間 ☁ レストアするには AWS サポートにお願いする必要がある...orz ☁ _snapshot API を使うことで⼿動でスナップショットを作成可能
Amazon Elsticsearch Service について(Elasticsearch API) ☁ Elasticsearch の各種 API がサポートされている
☁ http://docs.aws.amazon.com/ja_jp/elasticsearch-service/ latest/developerguide/es-gsg-supported-operations.html ☁ 残念ながらサポートされていない API もある... ☁ 例えば、status とか(elasticsearch-head とかで使われている)
Amazon Elsticsearch Service について(Elasticsearch API) ☁ Elasticsearch の各種 API がサポートされている
☁ http://docs.aws.amazon.com/ja_jp/elasticsearch-service/ latest/developerguide/es-gsg-supported-operations.html ☁ 残念ながらサポートされていない API もある... ☁ 例えば、status とか(elasticsearch-head とかで使われている)
Amazon Elsticsearch Service について(プラグイン) ☁ 以下のプラグインが導⼊されている ☁ Kinaba 3 ☁
Kibana 4 ☁ jetty ☁ cloud-aws ☁ kuromoji ☁ icu ☁ ⾃分でプラグインが追加出来ない... ☁ そもそもインストールできたらマネージドではなくなるので仕⽅ないのかなと思っ ている
Amazon Elsticsearch Service について(アクセスポリシー) ☁ IAM ユーザー、AWS アカウントによる制御 ☁ IP
アドレスによるアクセス制御 ☁ (余談) Lambda からのアクセスは挫折した ☁ IAM でアクセス制御している API にリクエストする場合には、アク セスを許可されたリソースの credential を使った署名を付与する必 要がある ☁ SDK は上記を程よくラッピングしているので意識する必要は無い
Amazon Elsticsearch Service について(他のサービスとの連携) ☁ Amazon CloudWatch Logs ☁ CloudWatch
Logs から直接 Amazon ES にログを転送することが出来る ☁ Lambda Function が裏で暗躍している(⾃動的に⽣成される) ☁ AWS IoT ☁ AWS IoT のルールでデバイスが⽣成したデータを直接、 Amazon Elasticsearch に放り込むことが出来る ☁ 2016 年 03 ⽉よりサポートされた ☁ その他…S3 / Kinesis / DynamoDB とワンタッチ連携
Amazon Elsticsearch Service の費⽤ ☁ Amazon Elasticsearch インスタンスの料⾦ ☁ EBS
ボリュームの料⾦ ☁ インスタンスサイズによっては Instance Store が利⽤出来る ☁ データ転送料⾦ ☁ 基本的なデータ転送の費⽤が掛かります ☁ 無料枠もあります ☁ 単⼀ AZ の t2.micro.elasticsearch インスタンス最⼤ 750 時間/⽉ + EBS ストレー ジ (マグネティックまたは汎⽤) 10 GB/⽉を利⽤できる
Amazon Elsticsearch Service の各種制限 ☁ Elasticsearch のバージョンが固定(1.5.2) ☁ VPC ⾮対応
☁ プラグインのインストール ☁ ⼀部の Elasticsearch API が利⽤出来ない ☁ ストレージサイズの上限がインスタンスタイプによって異なる ☁ その他の制限については… ☁ http://docs.aws.amazon.com/ja_jp/elasticsearch-service/latest/ developerguide/aes-limits.html
個⼈的に試してみたこと
⼿動によるスナップショット
⼿動によるスナップショット http://inokara.hateblo.jp/entry/2015/12/05/181358
Fluentd + CloudWatch Logs との連携
Fluentd + CloudWatch Logs との連携
Fluentd + CloudWatch Logs との連携 http://inokara.hateblo.jp/entry/2015/12/06/192436
Amazon S3 + S3 Event notification + SQS との連携
Amazon S3 + S3 Event notification + SQS との連携
Amazon S3 + S3 Event notification + SQS との連携 http://inokara.hateblo.jp/entry/2015/12/10/224031
最後に
Amazon ES を触った感想 ☁ 簡単構築、運⽤管理のコストは下がると思う ☁ 基本的な操作は API で出来るので普通の Elasticsearch
となんら遜⾊が無い ☁ 但し、利⽤が制限されている API があるので注意 ☁ インデックスの Mapping についても⾃分で⾯倒を⾒る必要がある(逆に⾔う と任意に定義出来る) ☁ Kibana 同梱は嬉しいが⾃分でプラグインインストール出来ないのは⾟いけ ど我慢しよう ☁ Lambda との連携が理想的だけどアクセスポリシーと併⽤する際には注意が 必要(SDK が対応してくれると嬉しい)
まとめ(Amazon ES とは) ☁ Amazon Elasticsearch Service は AWS が提供するフルマ
ネージドな ELK スタックサービス ☁ IAM によってインデックスへの接続を制限してセキュアに運 ⽤することが出来る ☁ 他の AWS サービスと⽐較的簡単に連携することが出来る ☁ ⼀部の制限はあるが Elasticserach API をサポート、プラグイ ンはインストール済み(追加インストールは不可) ☁ 是⾮、使ってみて下さいm(__)m
参考リンク ☁ http://www.slideshare.net/AmazonWebServicesJapan/aws-black-belt-tech- webinar-2016-amazon-cloudsearch-amazon-elasticsearch-service ☁ http://docs.aws.amazon.com/ja_jp/elasticsearch-service/latest/developerguide/ aes-dg.pdf ☁ http://www.slideshare.net/AmazonWebServices/bdt209-launch-amazon- elasticsearch-for-realtime-data-analytics
☁ https://www.elastic.co/guide/en/elasticsearch/reference/current/index.html ☁ https://speakerdeck.com/johtani/elasticsearchfalseshao-jie-tote-zheng-cross-2015 ☁ 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