Cloud SQL への同種 MySQL 移行の場合、Database Migration Service は移行先の Cloud SQL インスタンスに接続し、移行プロセスを管理します。移行元インスタンスへの接続を確立するのは移行先インスタンスですが、プロセスを監視するのは Database Migration Service です。
Cloud SQL への同種の MySQL 移行の場合、Database Migration Service は継続的な移行フローと 1 回限りの移行フローをサポートしています。継続的な移行では、データは最初に完全なダンプから読み込まれ、その後、データベース ログファイルから取得されたデータ変更情報に基づいて継続的に更新されます。大まかに言うと、移行フェーズは次のように進みます。
1 回限りの移行
-
移行ジョブを作成すると、Database Migration Service はレプリケーションを管理するための一時的なオーケストレーション インスタンスを作成し、移行先の Cloud SQL を Cloud SQL レプリカに変換します。このオーケストレーション インスタンスに関連する追加費用は発生しません。
図 2. Google Cloud コンソールの一時的なオーケストレーション インスタンスの下に表示される宛先インスタンス。
移行ジョブを開始すると、Database Migration Service は完全ダンプフェーズを開始します。1 回限りの移行の場合、これが唯一の移行フェーズです。
完全ダンプ中、Database Migration Service は移行元インスタンスに接続し、移行対象として選択したデータベースの内容を読み取り、移行先インスタンスにデータを読み込みます。
1 回限りの移行では、完全ダンプフェーズ中にソース データベースへの書き込みを無効にすることをおすすめします。これにより、移行プロセスの開始後に作成されたデータが失われるのを回避できます。
Database Migration Service に独自のダンプファイルを提供することもできます。ダンプファイルの作成後にデータベースに追加されたデータは移行されません。整合性チェックのために、データベースへのネットワーク接続は引き続き確立されます。
- 完全ダンプフェーズが終了すると、Database Migration Service は移行先データベースを自動的にプロモートし、移行を完了します。その時点で、アプリケーションを切り替えて新しい移行先データベースを使用できます。
継続的な移行
-
移行ジョブを作成すると、Database Migration Service はレプリケーションを管理するための一時的なオーケストレーション インスタンスを作成し、移行先の Cloud SQL を Cloud SQL レプリカに変換します。このオーケストレーション インスタンスに関連する追加費用は発生しません。
図 2. Google Cloud コンソールの一時的なオーケストレーション インスタンスの下に表示される宛先インスタンス。
移行ジョブを開始すると、Database Migration Service は完全ダンプフェーズを開始します。
完全ダンプ中、Database Migration Service は移行元インスタンスに接続し、移行対象として選択したデータベースの内容を読み取り、移行先インスタンスにデータを読み込みます。
Database Migration Service に独自のダンプファイルを提供することもできます。ダンプファイルの作成後にデータベースに追加されたデータは移行されません。整合性チェックのために、データベースへのネットワーク接続は引き続き確立されます。
-
継続的な移行の場合、フルダンプ フェーズが終了すると、Database Migration Service は CDC フェーズに切り替わります。CDC の間、Database Migration Service は移行元データベースの変更を継続的にモニタリングし、移行先インスタンスに継続的に複製します。
CDC フェーズでは、Database Migration Service は移行元テーブルから実際のデータをコピーしません。代わりに、データベース ログファイルから抽出された情報を読み取り、移行先で変更を複製します。アプリケーションを切り替えて、移行先インスタンスを本番環境データベースとして使用する場合は、進行中のレプリケーションを停止して移行ジョブをプロモートできます。
次のステップ
Database Migration Service での MySQL データと機能のサポートの詳細については、既知の制限事項をご覧ください。
移行手順の詳細については、Cloud SQL for MySQL への移行を開始するをご覧ください。