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.7k
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
36k
プログラミング初心者に教えるときは「身近な比喩」が重要なのだ! / Metaphor is Important for Beginner Programmer
kakakakakku
2
5.6k
プロジェクトの成功を支える ZenHub と モブプログラミング / ZenHub and Mob Programming
kakakakakku
1
5.7k
楽しく!アウトプットを習慣化しよう / Let's Enjoy Output
kakakakakku
3
6.7k
さぁ!今すぐプロジェクトリーダーに立候補しよう / Be a Project Leader
kakakakakku
3
9k
プロジェクトをリードする技術 (Kyash 社 再演) / Project Leading is Skill for Kyash
kakakakakku
4
2.1k
プロジェクトをリードする技術 / Project Leading is Skill
kakakakakku
43
46k
Mackerel で ECS をどこまでモニタリングできるのか / Monitoring ECS with Mackerel
kakakakakku
0
13k
[2018/01/30] Redash 初心者向けハンズオン / Redash Meetup #0.1
kakakakakku
0
2.3k
Other Decks in Technology
See All in Technology
Formal Development of Operating Systems in Rust
riru
1
420
Godot Engineについて調べてみた
unsoluble_sugar
0
400
2024年活動報告会(人材育成推進WG・ビジネスサブWG) / 20250114-OIDF-J-EduWG-BizSWG
oidfj
0
230
2025年の挑戦 コーポレートエンジニアの技術広報/techpr5
nishiuma
0
140
KMP with Crashlytics
sansantech
PRO
0
240
Building Scalable Backend Services with Firebase
wisdommatt
0
110
エンジニアリングマネージャー視点での、自律的なスケーリングを実現するFASTという選択肢 / RSGT2025
yoshikiiida
4
3.7k
自社 200 記事を元に整理した読みやすいテックブログを書くための Tips 集
masakihirose
2
330
20250116_自部署内でAmazon Nova体験会をやってみた話
riz3f7
1
100
ABWGのRe:Cap!
hm5ug
1
120
機械学習を「社会実装」するということ 2025年版 / Social Implementation of Machine Learning 2025 Version
moepy_stats
5
1.1k
Oracle Base Database Service:サービス概要のご紹介
oracle4engineer
PRO
1
16k
Featured
See All Featured
A Philosophy of Restraint
colly
203
16k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
6
500
Reflections from 52 weeks, 52 projects
jeffersonlam
348
20k
Build your cross-platform service in a week with App Engine
jlugia
229
18k
Mobile First: as difficult as doing things right
swwweet
222
9k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
33
2.7k
Speed Design
sergeychernyshev
25
740
Writing Fast Ruby
sferik
628
61k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
192
16k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
120k
A Modern Web Designer's Workflow
chriscoyier
693
190k
Site-Speed That Sticks
csswizardry
3
270
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 運用面のコツは去年まとめた資料参照で!