Database Migration Service を使用すると、 Google Cloudにデータを簡単に移行できます。Database Migration Service は、MySQL と PostgreSQL のワークロードを Cloud SQL と AlloyDB for PostgreSQL にリフト&シフトし、Oracle ワークロードを Cloud SQL for PostgreSQL にリフトしてモダナイズするのに役立ちます。
Database Migration Service はネットワーク ワークフローを合理化し、初期スナップショットと継続的なレプリケーションを管理し、移行オペレーションのステータスを提供します。
クラウドへのワークロードの移行を進めている企業では、オンプレミスやその他のクラウドベースのデータベースを Google Cloudに移行する際に負担が大きくなる場合があります。これにより、 Google Cloud が提供する機能を最大限に活用するのが難しくなる場合があります。
移行のコンセプト
移行とは、データとメタデータを移行元データベースから移行先データベースに移動するプロセスです。移行が完了すると、移行先データベースがプライマリ データベースになり、依存するアプリケーションが移行先データベースに対して読み取りと書き込みを行うようになります。移行元データベースはシャットダウンできます。
継続的な移行(オンライン移行とも呼ばれます)では、最初の完全なダンプと読み込みの後、移行元での変更が継続的に移行先に適用されます。移行の場合は、読み取りと書き込みに移行先を使用するように切り替えるタイミングになったら、移行を完了します。その結果、ソースと宛先の間でレプリケーションが確定し、宛先の Cloud SQL インスタンスまたは AlloyDB クラスタがスタンドアロンのプライマリ インスタンスとして使用できるようになります。移行元と移行先が同期されているときに切り替えを行うと、ダウンタイムを最小限に抑えることができます。
同タイプの移行
MySQL から Cloud SQL for MySQL、PostgreSQL から Cloud SQL for PostgreSQL または AlloyDB for PostgreSQL など、同種の移行では、MySQL と PostgreSQL の組み込みツールによって有効にされたプライマリ レプリカの関係が活用されます。具体的には、次のようになります。
移行を設定すると、Cloud SQL インスタンスまたは AlloyDB クラスタのリストにレプリカ インスタンスが表示され、設定されたソースに接続されます。
昇格を実行すると、レプリカはソースから切断され、読み取り/書き込みモードに変更されます。その後、他のレプリカのプライマリとして機能し、HA 設定など、他のオプションを変更できます(Cloud SQL のみ)。
異種移行
ソースと宛先が異なる異種移行(Oracle から Cloud SQL for PostgreSQL など)では、CDC ベースのレプリケーションが使用されます。
ユースケース
Database Migration Service の移行機能により、さまざまなユースケースが可能になります。
マネージド サービスへのリフト&シフト移行
組織が Google Cloudに移行する際に、VM ベースのセルフホスト データベースからマネージド データベース クラウド サービスに移行する機会があります。これにより、チームはインフラストラクチャの管理から解放され、マネージド サービスでデータベースを実行する高可用性、障害復旧、パフォーマンスを享受できます。
マルチクラウドの継続的レプリケーション
リージョン間の読み取りレプリカと同様に、別のクラウド プロバイダにデータが存在する場合は、マルチクラウドの読み取り可用性のために、 Google Cloud にデータベースを継続的に複製する移行ジョブを設定できます。Database Migration Service は、移行元と移行先の両方に書き込みと読み取りを行うデュアル書き込みシナリオをサポートしていません。
エクスペリエンスの要素
Database Migration Service は、次の要素で構成されています。
接続プロファイルは、移行ジョブで使用される特定のソースへの接続情報を表します。
コンバージョン ワークスペースを使用すると、移行元のデータベースのスキーマとコード オブジェクトを、移行先のインスタンスと互換性のある形式に変換できます。コンバージョン ワークスペースは、異種移行に使用されます。
移行ジョブは、移行元の接続プロファイルと移行先の Cloud SQL インスタンスまたは AlloyDB クラスタのペアと、移行固有の設定を表します。