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 ES に移行をしたら幸せになれるのか? / Moved to Amazon ES
Search
Yoshiaki Yoshida
September 11, 2017
Technology
0
5.4k
Amazon ES に移行をしたら幸せになれるのか? / Moved to Amazon ES
Amazon ES に移行をしたら幸せになれるのか?
Yoshiaki Yoshida
September 11, 2017
Tweet
Share
More Decks by Yoshiaki Yoshida
See All by Yoshiaki Yoshida
技術ブロガーを育てる!ブログメンタリングで何を教えているのか / Passion for Blog Mentoring
kakakakakku
8
35k
プログラミング初心者に教えるときは「身近な比喩」が重要なのだ! / Metaphor is Important for Beginner Programmer
kakakakakku
2
5.4k
プロジェクトの成功を支える ZenHub と モブプログラミング / ZenHub and Mob Programming
kakakakakku
1
5.5k
楽しく!アウトプットを習慣化しよう / Let's Enjoy Output
kakakakakku
3
6.5k
さぁ!今すぐプロジェクトリーダーに立候補しよう / Be a Project Leader
kakakakakku
3
8.7k
プロジェクトをリードする技術 (Kyash 社 再演) / Project Leading is Skill for Kyash
kakakakakku
4
1.9k
プロジェクトをリードする技術 / Project Leading is Skill
kakakakakku
42
45k
Mackerel で ECS をどこまでモニタリングできるのか / Monitoring ECS with Mackerel
kakakakakku
0
12k
[2018/01/30] Redash 初心者向けハンズオン / Redash Meetup #0.1
kakakakakku
0
2.2k
Other Decks in Technology
See All in Technology
エンジニアのキャリアをちょっと楽しくする3本の軸/Three Pillars to Make an Engineer's Career More Enjoyable
kwappa
0
2.7k
アクセス制御にまつわる改善 / Improving access control
itkq
0
540
Java EE/Jakarta EEの現状と将来―クラウドネイティブ時代にJava EEは対応できるのか?―
takakiyo
1
160
Kernel MemoryでAzure OpenAI Serviceとお手軽データソース連携
mitsuzono
1
250
IaCジェネレーターとBedrockで詳細設計書を生成してみた
tsukasa_ishimaru
1
240
LLM開発・活用の舞台裏@2024.04.25
yushin_n
1
300
Além do else! Categorizando Pokemóns com Pattern Matching no JavaScript
wmsbill
0
620
web-application-security
matsuihidetoshi
0
170
Postman v10リリース後を振り返る / Looking back at Postman v10 after release
yokawasa
1
160
ExaDB-D dbaascli で出来ること
oracle4engineer
PRO
0
2.1k
KubeConにproposalを送りたい人へのアドバイス
sat
PRO
3
250
DMM.com アルファ室採用案内資料
hsugita
1
150
Featured
See All Featured
Imperfection Machines: The Place of Print at Facebook
scottboms
260
12k
5 minutes of I Can Smell Your CMS
philhawksworth
199
19k
Fireside Chat
paigeccino
21
2.6k
Building Effective Engineering Teams - LeadDev
addyosmani
28
1.8k
[RailsConf 2023] Rails as a piece of cake
palkan
23
4k
Reflections from 52 weeks, 52 projects
jeffersonlam
345
19k
Large-scale JavaScript Application Architecture
addyosmani
504
110k
Atom: Resistance is Futile
akmur
259
25k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
322
20k
A designer walks into a library…
pauljervisheath
200
23k
From Idea to $5000 a Month in 5 Months
shpigford
377
45k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
244
20k
Transcript
Amazon ES に移行をしたら 幸せになれるのか? 2017.09.11 CA.io @kakakakakku
吉田 慶章 @kakakakakku - プレゼン芸人 - 7/05 : AWS Solution
Days 2017 登壇 - 7/21 : JAWS-UG コンテナ支部 登壇 - 8/27 : July Tech Festa 2017 登壇 - 9/08 : CROSS 2017 登壇 - 9/11 : CA.io 登壇 - 9/16 : XP 祭り 2017 登壇 \喋りすぎ/ 今日ココ →
僕はマッチングサービスに関係ないです → プレゼン芸人枠
さて
EC2 で運用されていた とある Elasticsearch を 最近 Amazon ES に移行してみた
つらかった
移行をして 幸せになれたのかな?
まず, 移行前の状況をザックリと
総ドキュメント数 3億 調べてみたら, 2億ドキュメントは不要だった
総インデックス数 1200 3年間以上も永続化している
バージョン Elasticsearch 1.4 比較的古め
構成 非クラスタ1台 つらい
open_file_descriptors ぐんぐん成長 そろそろ “too many open files” 出そう
Amazon ES \救世主?/
m3.xlarge 移行前
データノード c4.large x 5台 専用マスターノード c3.medium x 3台 Amazon ES
移行後
データノード c4.large x 5台 専用マスターノード c3.medium x 3台 Amazon ES
移行後 \圧倒的成長/
ハマりポイントなどを紹介
スプリットブレインの問題を考慮して 専用マスターノードは3台にする (AWS は奇数台数を推奨している) https://docs.aws.amazon.com/ja_jp/elasticsearch-service/latest/ developerguide/es-createupdatedomains.html
単純に, コスト3倍
試しに専用マスターノードを t2.small にして リロケーションをしてみたら
\ クラスタ死亡 / 本当に何もできなくなって サポートにクラスタを削除してもらった 専用マスターノードだとしても, t2 は控えましょう
次に
シャード数 インデックスサイズが 30GB 以下なら シャード数を 1 にする ( デフォルト設定は 5
) デフォルトのまま 運用してませんか?
https://aws.amazon.com/jp/blogs/news/get-started-with-amazon- elasticsearch-service-how-many-shards-do-i-need/
アプリケーション側も苦労した
Elastica v3.1.1 以降なら AwsAuthV4 トランスポート 対応 https://github.com/ruflin/Elastica \PHP Client/
AwsAuthV4 「IAM Role + 署名付きリクエスト」 アプリケーション側に実装が必要だった Amazon ES App
Amazon ES のダメな点 \良い点もたくさんあるけど/
- VPC 内に配置できない - リロケーション (クラスタ再構成) が遅すぎる - リロケーションに失敗すると, サクッと死亡する
- 自動スナップショットからリストアできない - サポートに依頼する必要がある - 札束で殴るしかない - まだまだ他にも...
まとめ
Amazon ES に移行をして 幸せにはならなかったけど 安定稼働したから良しとする (EC2 のままスケールさせても良かったかも)
移行フローで苦労した話などは また別途どこかで話せればと! Elasticsearch on EC2 → Amazon ES
http://kakakakakku.hatenablog.com/entry/2016/12/20/000612 運用面のコツは去年まとめた資料参照で!