Slide 1

Slide 1 text

Google Cloud の CloudSQL から AlloyDB へ 移行した話 2025/02/17 #めぐろLT 株式会社HRBrain 山館史遠

Slide 2

Slide 2 text

2 AGENDA ● 自己紹介 ● なぜ移行をすることになったのか ● 検討した移行方法 ● 移行するために検証したこと ● 結局移行はどうなった? ● まとめ

Slide 3

Slide 3 text

自己紹介

Slide 4

Slide 4 text

4 自己紹介 ● 山館 史遠(ヤマダテ シオン) ○ 󰎲 Stuttgart 出身 ● Survey チームの BE エンジニア! ● 最近の趣味 ○ 🔍 謎解き,🎮 スマブラ,☕ 紅 茶 ● 謎解きの戦績が悪く,4 連敗中...

Slide 5

Slide 5 text

なぜ移行をすることになったのか

Slide 6

Slide 6 text

6 なぜ移行することになったのか ● 前々から CloudSQL が HDD を使っていたので,SSD に替えたい話があった ⇩ ● SSD に替えるなら,AlloyDB に乗り換えてもいいのでは? ○ CloudSQL よりも AlloyDB の方が優れているため ● 個人的なやるメリット: ○ プラットフォーム部分に携われる ○ 社内でこの移行はしたことがない

Slide 7

Slide 7 text

検討した移行方法

Slide 8

Slide 8 text

8 検討した移行方法 ● データの移行方法 a. ファイルを利用する(CSV, dump) b. CloudSQL のバックアップを利用する c. Database Migration Service を利用する

Slide 9

Slide 9 text

9 検討した移行方法 ● データの移行方法 a. ファイルを利用する(CSV, dump) b. CloudSQL のバックアップを利用する c. Database Migration Service を利用する ● エクスポート・インポート操作のみで実現可能 ● 踏み台サーバー上で作業が可能

Slide 10

Slide 10 text

10 検討した移行方法 ● データの移行方法 a. ファイルを利用する(CSV, dump) b. CloudSQL のバックアップを利用する c. Database Migration Service を利用する ● コンソールから移行が可能 ● 1 TB 以下のデータ量の制限あり ● PostgreSQL 14 以上が必要 ○ プロダクトは PostgreSQL 11 だったので,上げる必要あり 参考:Cloud SQL for PostgreSQL から AlloyDB for PostgreSQL に移行する

Slide 11

Slide 11 text

11 検討した移行方法 ● データの移行方法 a. ファイルを利用する(CSV, dump) b. CloudSQL のバックアップを利用する c. Database Migration Service を利用する ● ダウンタイムが最小限に抑えられる ● 様々な事前設定が必要 ○ 接続プロファイルの設定,移行ジョブの作成,AlloyDB のプロモーション,etc. 参考:Database Migration Service for PostgreSQL から AlloyDB への移行に関するドキュメント

Slide 12

Slide 12 text

12 検討した移行方法 ● データの移行方法 a. ファイルを利用する(CSV, dump) b. CloudSQL のバックアップを利用する c. Database Migration Service を利用する ● ダウンタイムを想定した作業 ● 前準備や,学習コストがあまりかからない

Slide 13

Slide 13 text

移行するために検証したこと

Slide 14

Slide 14 text

14 移行するために検証したこと ● 移行に関する検証内容 ○ PostgreSQL のバージョンによる互換性の確認 ○ AlloyDB でのアプリケーションの動作確認 ○ 切り戻し確認

Slide 15

Slide 15 text

15 移行するために検証したこと ● 移行に関する検証内容 ○ PostgreSQL のバージョンによる互換性の確認 ○ AlloyDB でのアプリケーションの動作確認 ○ 切り戻し確認 ● 各 PostgreSQL のバージョンへの移行に関する互換性への影響を確認 ○ PostgreSQL 11 → PostgreSQL 15 ○ 一つずつ地道に確認 参考:PostgreSQL 12.4文書 E.5.2 バージョン12への移行

Slide 16

Slide 16 text

16 移行するために検証したこと ● 移行に関する検証内容 ○ PostgreSQL のバージョンによる互換性の確認 ○ AlloyDB でのアプリケーションの動作確認 ○ 切り戻し確認 ● 検証環境で AlloyDB にデータを移し,アプリケーションを打鍵 ○ 主機能に対する簡易的な回帰テストを実施 ○ AlloyDB にデータが書き込まれるかを確認

Slide 17

Slide 17 text

17 移行するために検証したこと ● 移行に関する検証内容 ○ PostgreSQL のバージョンによる互換性の確認 ○ AlloyDB でのアプリケーションの動作確認 ○ 切り戻し確認 ● 切り戻しポイント・手順を確定 ○ データ移行の確認スクリプトを作成 ○ 作業時間の見積もりを測定

Slide 18

Slide 18 text

結局移行はどうなった?

Slide 19

Slide 19 text

19 結局移行はどうなった? CloudSQL から AlloyDB への移行は 🎉🎉🎉 無事完了しました!! 🎉🎉🎉

Slide 20

Slide 20 text

まとめ

Slide 21

Slide 21 text

● 様々な点で検討・検証を行った ○ データの移行方法を選定した ○ 不安点がなくなるように検証を行った ● データベース移行を完遂することができた!🎉 ○ CloudSQL や AlloyDB について学ぶことができた ○ 社内で移行の実績を作ることができた ● 約 2 ヶ月に渡って取り組みましたが,とても歯応えのある経験でした!! 21 まとめ

Slide 22

Slide 22 text

ご清聴ありがとうございました!

Slide 23

Slide 23 text

● CloudSQLと比較したAlloyDBのパフォーマンス ● Cloud SQL for PostgreSQL から AlloyDB for PostgreSQL に移行する ● Database Migration Service for PostgreSQL から AlloyDB への移行に関するドキュ メント ● PostgreSQL 12.4文書 E.5.2 バージョン12への移行 ● PostgreSQL 13.1文書 E.2.2 バージョン13への移行 ● PostgreSQL 14.5文書 E.6.2 バージョン13への移行 ● PostgreSQL 15.4文書 E.5.2 バージョン13への移行 23 参考文献