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
820
kix_009_20190429
inokappa
0
820
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
410
Congratulations fukuokarb#100
inokappa
0
3.9k
moto を 'もっと' 使おう/PyFukuoka#4
inokappa
0
4.5k
github-enterprise-user-kai-desuyone
inokappa
0
100
Elixir and AWS Tutorial
inokappa
0
550
Featured
See All Featured
Thoughts on Productivity
jonyablonski
67
4.4k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
10
810
The Art of Programming - Codeland 2020
erikaheidi
53
13k
Bootstrapping a Software Product
garrettdimon
PRO
305
110k
Scaling GitHub
holman
458
140k
Building Adaptive Systems
keathley
38
2.3k
Documentation Writing (for coders)
carmenintech
66
4.5k
Six Lessons from altMBA
skipperchong
27
3.5k
A Modern Web Designer's Workflow
chriscoyier
693
190k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
2
170
Why Our Code Smells
bkeepers
PRO
335
57k
[RailsConf 2023] Rails as a piece of cake
palkan
53
5k
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