Database Migration Service の概要

移行は、ソース データベースから移行先データベースにデータとメタデータを移動するプロセスです。移行が完了すると、移行先データベースが依存アプリケーションが読み取り / 書き込みできるプライマリ データベースになり、移行元データベースはシャットダウンできます。

Database Migration Service を使用すると、データを Google Cloudに移行できます。このサービスは、Cloud SQL インスタンスと AlloyDB for PostgreSQL インスタンスへのデータベース移行をサポートしています。Database Migration Service は、ネットワークを合理化し、初期スナップショットと継続的なレプリケーションを管理し、移行プロセス全体でステータスの更新を提供します。

Database Migration Service を使用すると、次のことができます。

次の図は、 Google Cloud アーキテクチャのコンテキストにおける Database Migration Service の主な機能を示しています。

Database Migration Service を使用してオンプレミスまたは他のクラウドから Google Cloud にデータを移行するデータフローを示すアーキテクチャ図。同種移行と異種移行、最小限のダウンタイム、Gemini を活用した変換などの主な機能がハイライト表示されています。
図 1. Database Migration Service のアーキテクチャとデータフロー(クリックして拡大)。

移行タイプ

移行は次のタイプに分類できます。

継続的な移行

継続的な移行(オンライン移行とも呼ばれます)では、最初の完全なダンプと読み込みの後、移行元での変更が継続的に移行先に適用されます。移行先で読み取りと書き込みの準備ができたら、移行元と移行先の間のレプリケーションを完了します。移行先の Cloud SQL インスタンスまたは AlloyDB for PostgreSQL クラスタは、スタンドアロンのプライマリ インスタンスとして使用できるようになります。ソースと宛先が同期しているときに切り替えを行うと、ダウンタイムを最小限に抑えることができます。

1 回限りの移行

1 回限りの移行は、データベースの単一のポイントインタイム スナップショットです。Database Migration Service は、移行元からスナップショットを取得し、移行先に適用します。このプロセスはダンプして読み込むという手法であり、読み込みが完了すると、移行先が使用可能な状態になります。移行中は移行元データベースに新しい書き込みを行うことができないため、移行元データベースに依存するアプリケーションでは、移行プロセス中にダウンタイムが発生する可能性があります。

同タイプの移行

同機種の移行は、同じデータベース テクノロジー間でデータを移行する場合に行われます。たとえば、MySQL から Cloud SQL for MySQL への移行などです。

詳細については、 同種移行をご覧ください。

異種移行

同機種の移行とは異なり、Oracle から Cloud SQL for PostgreSQL などの異機種の移行では、移行元と移行先のデータベース テクノロジーが異なります。

詳細については、 異種移行をご覧ください。

最小限のダウンタイム

Database Migration Service は、同種移行と異種移行の両方で、ダウンタイムの少ない継続的なサーバーレス移行をサポートしています。Database Migration Service のサーバーレス アーキテクチャは、移行元データベースの初期スナップショットを取得して、データの現在の状態をキャプチャします。スナップショットが完了すると、Database Migration Service はスナップショットを移行先データベースに読み込み、継続的なデータ レプリケーションが開始されます。データ レプリケーションは、元のデータベースに加えられた変更をリアルタイムで追跡してコピーするため、継続的なオペレーションです。これは、最初のスナップショットの取得後にデータベースに対して行った挿入、更新、削除などの変更のみを識別してキャプチャするプロセスである変更データ キャプチャ(CDC)に基づいています。

このようなアプローチでは、次の理由でダウンタイムを最小限に抑えることができます。

  • 継続的レプリケーションは、変更のみに焦点を当てるため、データベース全体を頻繁に複製するよりも効率的です。
  • 移行元データベースが稼働している間にデータが移行されます。
  • サーバーレス移行は、大規模な移行で高いパフォーマンスを発揮します。

Gemini でコードとスキーマの変換を加速する

異種移行の場合、Database Migration Service は、移行元のデータベースのスキーマとオブジェクトを、移行先のデータベースと互換性のある形式に変換します。変換ワークスペースには次の機能があります。

  • 変換ワークスペースを作成すると、自動的に実行される初期スキーマ変換。
  • 変換の問題を修正したり、ニーズに合わせてスキーマを調整したりするのに役立つインタラクティブ SQL エディタ。
  • Gemini の変換機能のサポート。
  • 自動スキーマ変換のルールをオーバーライドするために使用できるカスタマイズ ディレクティブ。

詳細については、 Gemini を活用したコンバージョンをご覧ください。

セキュリティと暗号化

Database Migration Service は、SSL/TLS 証明書を使用してネットワーク接続を暗号化し、継続的な移行に顧客管理の暗号鍵(CMEK)を使用して、データを安全に移行します。

詳細については、 セキュリティと暗号化をご覧ください。

オブザーバビリティ指標

Database Migration Service には、移行ジョブの現在の状態と進行状況を把握するのに役立つ図がいくつか表示されます。ほとんどの移行シナリオでは、移行ジョブに含まれるデータベースごとに、これらの図の情報をフィルタできます。

ストレージ使用量やレプリケーションの遅延など、Database Migration Service の移行ジョブ指標を示すグラフの例。
図 1.Database Migration Service の移行ジョブのモニタリング グラフの例(クリックして拡大)。
ストレージ使用量やレプリケーション遅延など、Database Migration Service の移行ジョブ指標を示すグラフの例。

詳細については、移行シナリオに該当する移行ジョブの指標ページをご覧ください。

ユースケース

Database Migration Service では、次のユースケースが可能です。

マネージド サービスへのリフト&シフト移行
組織の Google Cloudへの移行の一環として、VM ベースのセルフホスト データベースからマネージド データベース クラウド サービスに移行できます。これにより、インフラストラクチャの管理ではなく、マネージド サービスで実行されているデータベースの高可用性、障害復旧、パフォーマンスに集中できます。
マルチクラウドの継続的なレプリケーション
リージョン間のリードレプリカと同様に、別のクラウド プロバイダにデータが存在する場合、移行ジョブはデータベースをGoogle Cloud に継続的に複製して、マルチクラウドの読み取り可用性を実現できます。Database Migration Service は、移行元と移行先の両方への書き込みと読み取りを行うデュアル書き込みシナリオをサポートしていません。

次のステップ

利用可能な移行シナリオの詳細:

同タイプの移行
異種移行