AivenでMySQL DBを別クラウドにマイグレーションしてみた

はじめに

アライアンス統括部の佐々木です。先日初めてAivenを触りました。

今日は、AivenでAWS上に構築したMySQL DBを別クラウドにマイグレーションしてみます。

やってみた

先日構築したMySQL DBです。[Cloud and VPC]欄を見るとAWSのTokyoリージョン上に構築されていることがわかります。[Micgrate Cloud]ボタンをクリックします。

[Migrate service to another cloud]画面が表示されます。選択可能なのはAWS、Google Cloud、Microsoft Azure、DigitalOceanUpCloudです。今回はGoogle Cloudを選択します。リージョンはgoogle-asia-northeast1(東京)を選択します。

画面下部の[Migrate]ボタンをクリックします。

データ量が少ないからか、一瞬で置き換わりました。[Cloud and VPC]欄が「Asia, Japan - Google Cloud: Tokyo (asia-northeast1)」に変わっています。[Power on service]ボタンをクリックしてDBを起動します。

起動後、mysqlshで接続しようとしますが...繋がりません。これはドキュメントにも記載のある通り、DNSの伝搬に時間がかかっているためだと思われます。

% mysqlsh --sql "mysql://avnadmin:XXXX@mysql-XXXX-classmethod-7220.aivencloud.com:25911/defaultdb?ssl-mode=REQUIRED"

Creating a Classic session to 'avnadmin@mysql-XXXX-classmethod-7220.aivencloud.com:25911/defaultdb?ssl-mode=REQUIRED'
MySQL Error 2005 (HY000): Unknown MySQL server host 'mysql-XXXX-classmethod-7220.aivencloud.com' (0)

5分ほど待つと接続できました。

% mysqlsh --sql "mysql://avnadmin:XXXX@mysql-XXXX-classmethod-7220.aivencloud.com:25911/defaultdb?ssl-mode=REQUIRED"
Your MySQL connection id is 50
Server version: 8.0.25 Source distribution
Default schema set to `defaultdb`.

MySQL  mysql-XXXX-classmethod-7220 defaultdb  SQL >

さいごに

特に面倒くさい手順をすることなく、簡単に別クラウドにDBを移行することが出来ました。クラウドレベルでのディザスタリカバリでデータマイグレーションをしたいときなどに、バックアップからリストアすること無く移行可能というのはとても手軽だと思います。