移行とは、データとメタデータを移行元データベースから移行先データベースに移動するプロセスです。移行が完了すると、移行先データベースが依存アプリケーションが読み書きできるプライマリ データベースになり、移行元データベースはシャットダウンできます。
Database Migration Service は、 Google Cloudへのデータ移行をサポートします。このサービスは、Cloud SQL インスタンスと AlloyDB for PostgreSQL インスタンスへのデータベース移行をサポートしています。Database Migration Service は、ネットワークを合理化し、初期スナップショットと継続的なレプリケーションを管理し、移行プロセス全体でステータスを更新します。
Database Migration Service を使用すると、次のことができます。
- さまざまな タイプの移行を実行する。
- 最小限のダウンタイムでデータベースを Google Cloud に 移行する。
- 異種移行で Gemini の 変換機能 を使用する。
- 暗号化されたデータ を安全に移行する。
- オブザーバビリティ指標を使用して移行ジョブをモニタリングする 。
次の図は、 Google Cloud アーキテクチャにおける 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)に基づいています。CDC は、最初のスナップショットの取得後にデータベースに加えた変更(挿入、更新、削除など)のみを識別してキャプチャするプロセスです。
このようなアプローチにより、次の理由でダウンタイムを最小限に抑えることができます。
- 継続的なレプリケーションは、変更にのみ焦点を当てるため、データベース全体を頻繁にレプリケートするよりも効率的です。
- 移行元データベースが稼働している間にデータが移行されます。
- サーバーレス移行は、大規模な環境で高いパフォーマンスを発揮します。
Gemini を使用してコードとスキーマの変換を高速化する
異種移行の場合、Database Migration Service は、移行元のデータベースのスキーマとオブジェクトを、移行先のデータベースと互換性のある形式に変換します。コンバージョン ワークスペースには、次の機能があります。
- コンバージョン ワークスペースを作成すると自動的に行われる初期スキーマ変換。
- 変換の問題を修正したり、ニーズに合わせてスキーマを調整したりできるインタラクティブ SQL エディタ。
- Gemini の変換機能のサポート。
- 自動スキーマ変換のルールをオーバーライドするために使用できるカスタマイズ ディレクティブ。
詳細については、 Gemini を利用した変換をご覧ください。
セキュリティと暗号化
Database Migration Service は、SSL/TLS 証明書を使用してネットワーク接続を暗号化し、継続的な移行にカスタマー マネージド暗号鍵(CMEK)を使用して、データを安全に移行します。
詳細については、 セキュリティと暗号化をご覧ください。
オブザーバビリティ指標
Database Migration Service には、移行ジョブの現在の状態と進行状況を把握するのに役立つ図がいくつか表示されます。ほとんどの移行シナリオでは、移行ジョブに含まれるデータベースごとに、これらの図の情報をフィルタできます。
詳細については、移行シナリオに適用される移行ジョブの指標のページをご覧ください。
ユースケース
Database Migration Service では、次のユースケースが可能です。
- マネージド サービスへのリフト&シフト移行
- 組織の Google Cloudへの移行の一環として、 VM ベースのセルフホスト型データベースからマネージド データベース クラウド サービスに移行できます。これにより、インフラストラクチャの管理ではなく、マネージド サービスで実行されるデータベースの高可用性、障害復旧、パフォーマンスに集中できます。
- マルチクラウドの継続的なレプリケーション
- リージョン間の読み取りレプリカと同様に、データが別のクラウド プロバイダに存在する場合、移行ジョブはデータベースをGoogle Cloud に継続的にレプリケートして、マルチクラウドの読み取り可用性を実現できます。Database Migration Service は、移行元と移行先の両方への書き込みと読み取りを行うデュアル書き込みシナリオをサポートしていません。
次のステップ
利用可能な移行シナリオの詳細を確認する。
- 同タイプの移行
- 異種移行