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

マッハバイトのオンプレDBをAmazon Auroraに移行した話 / mach-db-transition-jaws

katainaka
March 21, 2024
270

マッハバイトのオンプレDBをAmazon Auroraに移行した話 / mach-db-transition-jaws

JAWS-UG SRE支部 #8 春のAurora祭り

katainaka

March 21, 2024
Tweet

Transcript

  1. 1. 自己紹介等 • ⼭﨑 理弘 (かたいなか) • 株式会社リブセンス所属 • ここ数年は転職会議のEKS基盤を運⽤しながら

    マッハバイトのAWS移⾏プロジェクトに参加 • ⾼知在住 ⽉イチ上京 • Twitter,GitHub等: @katainaka0503 ⾃⼰紹介 Copyright © Livesense Inc.
  2. 3-1. DB移行プロジェクトの流れ ~Mroonga脱却編~ • Mroongaの使⽤状況を整理するため PHPのコードを削除 • 削除を進める中で発覚した Mroonga使⽤箇所はコードを修正して対応 •

    Mroonga関連のクエリが コードベース上から消滅 Mroongaを使うクエリを発⾏するPHPのコードを削除 Copyright © Livesense Inc.
  3. 3-2. プロジェクトの流れ ~DMS検証編~ • DMSでは主キー以外のインデックスや外部キー等は移⾏されない ◦ ⾃分で移⾏の各段階でDDLを実⾏してやる必要あり ◦ 参考: https://repost.aws/ja/knowledge-center/dms-secondary-objects-target

    • スキーマの変更の伴う開発を継続しながら DB移⾏の準備を進めるには、DB移⾏⽤DDLのメンテナンス性が問題に • 宣⾔的スキーマ管理ツール Ridgepoleを導⼊して対応 ◦ https://made.livesense.co.jp/entry/2023/08/21/080000 ◦ 移⾏の各段階で必要な分以外をコメントアウトして対応することにした 移⾏⽤DDL管理の問題 => Ridgepoleで宣⾔的スキーマ管理 Copyright © Livesense Inc.
  4. 3-3. プロジェクトの流れ ~テスト編~ • DBのコンテナを変えたユニットテストを並列で実施 ◦ オンプレMariaDB互換(既存) ◦ Aurora MySQLで使おうとしているバージョン互換(new)

    • マッハバイトはレガシーPHPアプリケーション以外は ユニットテストがしっかり書かれている • テストが通れば安⼼感⼤! ユニットテストをAurora MySQLの互換バージョンで実⾏ Copyright © Livesense Inc.
  5. 4. DB移行を振り返って • 無停⽌移⾏ができる⽅法を追求しきれなかった‧‧‧ ◦ データセンタの解約等の関係で、 移⾏プロジェクトに使える期間が限られていたため ◦ 及第点のDB移⾏はできたとは思っているが‧‧‧ •

    もし無限に時間があったら ◦ 案1: CDCが適切に動かなかった原因を追求する ◦ 案2: レプリケーションによる別の⽅法を検証 ▪ XtraBackupによるダンプ&取り込み & 元のDBからレプリケーション 残念だったこと Copyright © Livesense Inc.