Upgrade to Pro — share decks privately, control downloads, hide ads and more …

どのように MySQL on EC2 から Aurora に移行したのか / Migration from MySQL to Aurora

どのように MySQL on EC2 から Aurora に移行したのか / Migration from MySQL to Aurora

Data Migration Night に登壇してデータ移行の Tips を紹介してきた
http://kakakakakku.hatenablog.com/entry/2017/05/23/003600

Yoshiaki Yoshida

May 22, 2017
Tweet

More Decks by Yoshiaki Yoshida

Other Decks in Technology

Transcript

  1. 吉田 慶章 @kakakakakku - Makuake : CyberAgent Crowd Funding, Inc.

    - DevOps Engineer 兼 技術広報 - AWS, DevOps, Rails, Certified Scrum Master - 今年からプログラミング講師の仕事もしてます - 趣味はブログを書くことです
 http://kakakakakku.hatenablog.com/
  2. 環境間のスキーマを合わせた - prd / stg / ci など環境間のスキーマが合っていなかった - テーブルの差異,カラムの差異,インデックスの差異など

    - MySQL 公式ツール mysqldiff を使って合わせた - 超便利 : http://kakakakakku.hatenablog.com/ entry/2017/04/02/105901
  3. 移行概要 - MySQL 5.5 on EC2 -> Aurora に移行 -

    データ量を削減した「レポート DB」を「メイン DB」に統合 - 全機能テスト (手動) を実施 - 障害検証 (ALTER SYSTEM CRASH コマンド) を実施
  4. app db (master) Read / Write CBUDI 日次 mysqldump db

    (report) db (slave) Read / Write レプリ Read Read フェーズ1 リストア リストア S3 Aurora Reader Aurora Reader 同期 Aurora Writer .dump.sql
  5. app db (master) Read / Write batch db (report) Aurora

    Reader Read / Write Aurora Reader レプリ 同期 Read Read フェーズ2 多段レプリ Aurora Writer db (slave) レプリ
  6. app db (master) Read / Write batch db (report) db

    (slave) Read / Write Aurora Reader レプリ レプリ Read フェーズ3 Reader Read 同期 参照系を Aurora にする Aurora Writer Aurora Reader
  7. app db (master) batch db (report) db (slave) Aurora Reader

    Aurora Reader レプリ レプリ 同期 Read メンテナンス = 更新なし メンテナンス = 更新なし mysqldump を 直接流し込む (DB 統一) フェーズ4 Writer Read / Write Aurora Writer Read / Write
  8. app Read / Write batch Aurora Writer Aurora Reader Read

    / Write Aurora Reader 同期 Read Amazon ES + Kibana aggregator redash スロークエリ集計 分析 フェーズ5 最終型
  9. まとめ - MySQL 5.5 on EC2 -> Aurora に移行できた -

    パフォーマンス面と運用面で,メリットしかない! - データ量の削減,メンテナンスの必要性も事前に検討する - 「無停止の夢」を捨てる勇気も必要