マッハバイトのメインDBのAmazon Aurora化
株式会社リブセンス / かたいなか
メンバー / テックリード / 従業員規模: 101名〜300名 / エンジニア組織: 51名〜100名
利用機能 | ツールの利用規模 | ツールの利用開始時期 | 事業形態 |
---|---|---|---|
Performance Insightsなど | 11名〜50名 | 2024年2月 | B to C |
利用機能 | Performance Insightsなど |
---|---|
ツールの利用規模 | 11名〜50名 |
ツールの利用開始時期 | 2024年2月 |
事業形態 | B to C |
アーキテクチャ
アーキテクチャの意図・工夫
- オンプレからの移行であり、MySQL5.7相当のMariaDBからの移行でもあるということで、まずはシンプルな構成に移行した。
導入の背景・解決したかった問題
導入背景
ツール導入前の課題
- マッハバイト全体としてオンプレからAWSへの移行を進めていた背景があった
- DBに関連のオンプレ環境での課題としては、DB関連の運用工数が大きいことがあった
- 負荷の増大に合わせてDBのレプリカを増やすのに数日かかるなど
どのような状態を目指していたか
- マネージドサービスにDBの運用を任せて運用工数を削減し、より価値の高い作業に集中できる状態
比較検討したサービス
- Amazon RDS(非Aurora)
- EC2上での自前DB運用
比較した軸
- 他社での実績の多さ
- 可用性の高さ
- パフォーマンス
- サイトへのアクセスで想定される量のリクエストを短いレスポンスタイムで処理できることが重要であった
- また、行儀の悪いクエリに引きづられて全体のパフォーマンスが落ちてしまわないかも気にしていた
- 運用工数を削減できるか
- 可能ならDBの運用はマネージドサービスに任せたかった
- オブザーバビリティ
- DBの負荷の原因になっているクエリの改善に役立つ情報が得られると嬉しいと考えていた
導入の成果
改善したかった課題はどれくらい解決されたか
可用性
Auroraのインスタンスでの障害発生時に意図通りフェールオーバは発生した。一方で、フェールオーバ時にアプリケーションが保持している書き込み用コネクションが元々ライターだったレプリカに向いた状態になってしまった。この問題に対応するため、RDS Proxyの導入を検討中。
運用工数
DB関連の運用工数は大きく減った
移行後にさらなる改善を求めて新しい機能を導入する際にも、オンプレ時代に比べスピーディに実施できている
どのような成果が得られたか
パフォーマンス
移行のタイミングで全体的にパフォーマンスが改善した。一部Aurora移行によって、遅くなってしまったクエリもあるが、順次修正を進めている
オブザーバビリティ
Performance Insightsによりパフォーマンス問題や障害の調査が直感的に行いやすくなった
導入時の苦労・悩み
- MroongaというMySQL上で全文検索を実現するプラグインを使っていたが、Aurora MySQLは対応していなかった点
- 残存しているMroonga依存部分を改修することで対応
- 一時テーブル周りなどでオンプレMySQLとAuroraでの制約の違いの検討が必要だった
- 移行に使用したAWS DMSの不具合の多さ
導入に向けた社内への説明
上長・チームへの説明
もともとAWS移行が進んでいたこともあり、Auroraへの移行はすんなり受け入れられたが、以下を重視しながら進める必要があった
- パフォーマンスが劣化することはSEO観点で避けたい
- データが正しく移行できていることが確認できる
- 移行前のDBと移行後のDBでデータを比較してくれるAWS DMSの検証機能を使うことで解決
活用方法
よく使う機能
- Performance Insights
- パフォーマンス問題の調査がGUIでかなりのレベルまで行えるため、オンプレ時代に比べパフォーマンス問題を調査しやすくなった
- DBユーザをアプリケーションごとに発行して、Performance Insightsからクエリの発行元のアプリケーションを特定できるようにするなど、さらなる活用が行える状態を目指している
ツールの良い点
- 細かいチューニングをしていない状態でも高いパフォーマンスが出せる
- Performance Insightsにより、MySQLにそこまで詳しくないメンバーもパフォーマンス問題の調査を行いやすい
ツールの課題点
- コストの割高感は否めない
ツールを検討されている方へ
移行の流れについては記事や登壇資料でも公開しています。よろしければご覧ください。
今後の展望
- RDSの便利な機能を導入していくことでさらなる運用の改善を進めたい
- 例: RDS Proxyの導入を進め、DBのメンテナンス時などにも対応できる状態を実現したい
株式会社リブセンス / かたいなか
メンバー / テックリード / 従業員規模: 101名〜300名 / エンジニア組織: 51名〜100名
2017年9月 ~ 2019年10月 クラスメソッド株式会社 2019年12月 ~ 2021年6月 株式会社リブセンス 2022年7月 ~ 株式会社リブセンス
よく見られているレビュー
株式会社リブセンス / かたいなか
メンバー / テックリード / 従業員規模: 101名〜300名 / エンジニア組織: 51名〜100名
2017年9月 ~ 2019年10月 ク...
レビューしているツール
目次
- アーキテクチャ
- 導入の背景・解決したかった問題
- 活用方法