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
780
kix_009_20190429
inokappa
0
780
2019-04-18 CircleCI Meetup Fukuoka #1
inokappa
2
7.9k
開発で使える AWS の API 操作を模倣する (OSS) ツールを探してみた/JAWS-UG Kagoshima Vol.8
inokappa
1
1.1k
隙間時間を使って exercism.io を始め隊 | リモートで勉強会 #2
inokappa
0
380
Congratulations fukuokarb#100
inokappa
0
3.8k
moto を 'もっと' 使おう/PyFukuoka#4
inokappa
0
4.3k
github-enterprise-user-kai-desuyone
inokappa
0
97
Elixir and AWS Tutorial
inokappa
0
520
Featured
See All Featured
Put a Button on it: Removing Barriers to Going Fast.
kastner
58
3.4k
Bash Introduction
62gerente
608
210k
Being A Developer After 40
akosma
82
580k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
354
29k
Building Applications with DynamoDB
mza
89
5.9k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
25
1.3k
Stop Working from a Prison Cell
hatefulcrawdad
266
20k
Statistics for Hackers
jakevdp
793
220k
Rails Girls Zürich Keynote
gr2m
93
13k
A better future with KSS
kneath
235
17k
How GitHub Uses GitHub to Build GitHub
holman
472
290k
Clear Off the Table
cherdarchuk
90
320k
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