概要
Database Migration Service は、移行ジョブを使用して、移行元のデータベース インスタンスから移行先の Cloud SQL データベース インスタンスにデータを移行します。移行ジョブの作成には、次の作業が含まれます。
- 移行ジョブの設定を定義します
- ソース データベース用に作成した接続プロファイル(ソース接続プロファイル)に関する情報を指定します
- 移行先の Cloud SQL データベース インスタンスの設定を定義し、インスタンスを作成します
- 移行元データベースと移行先データベースのインスタンス間の接続を設定します
- 移行ジョブをテストして、ジョブに指定した接続情報が有効であることを確認します
Database Migration Service ウィザードを使用すると、移行ジョブを作成できます。ウィザードには、移行元データベース、移行先データベース、接続方法に関する情報を入力する複数のペインがあります。 ウィザードでは、移行ジョブの作成を完了する前にテストすることもできます。各ペインへの入力方法については、このページの各セクションをご覧ください。
移行ジョブの設定を定義する
- [移行ジョブ] ページに移動します。 Google Cloud
- ページの上部にある [移行ジョブを作成] をクリックします。
移行ジョブの名前を入力します。
移行ジョブを識別しやすい名前を選択してください。ジョブ名に機密情報や個人を特定できる情報を含めないでください。
自動生成された移行ジョブ ID をそのまま使用します。
移行元データベース エンジンを選択します。
移行先データベース エンジンを選択します。
移行先のリージョンを選択します。これは、Database Migration Service インスタンスが作成される場所です。Compute Engine インスタンス、App Engine アプリ、その他のサービスなど、データを必要とするサービスの場所に基づいて選択する必要があります。移行先のリージョンを選択すると、この選択を変更することはできません。
移行ジョブのタイプを指定します。1 回限り (スナップショットのみ)または継続的 (スナップショット + 継続的な変更)。
移行ジョブに環境を準備する方法が反映されるように、自動的に生成される必須の前提条件を確認します。これらの前提条件には、移行元データベースを構成する方法と移行先の Cloud SQL データベース インスタンスに接続する方法が含まれます。この手順でこれらの前提条件を完了することをおすすめしますが、移行ジョブをテストまたは開始する前であればいつでも完了できます。これらの前提条件の詳細については、移行元を構成するをご覧ください。
[保存して次へ] をクリックします。
ソース接続プロファイルに関する情報を指定する
-
接続プロファイルを作成した場合は、既存の接続プロファイルのリストから 選択します。
接続プロファイルを作成していない場合は、プルダウン リストの下部にある [接続プロファイルを作成]をクリックして構成を作成してから、 ソース接続プロファイルを作成するの手順を行います。
- In the [Customize data dump configurations] section,
click [Show data dump configurations].
データダンプの並列処理の速度は、移行元データベースの負荷量 に関連しています。次の設定を使用できます。
- 最適(推奨): 移行元データベースの最適な負荷でバランスの取れたパフォーマンスを実現します。
- 最大: ダンプ速度が最も速くなりますが、移行元データベースの負荷が増加する可能性があります。
- 最小: 移行元データベースで使用するコンピューティング リソースの量が最も少なくなりますが、ダンプ スループットが遅くなる可能性があります。
調整されたデータダンプの並列処理設定を使用する場合は、 移行元データベースの
max_replication_slots、max_wal_senders、およびmax_worker_processesパラメータを必ず増やしてください。構成を確認するには、 移行ジョブのテストを実行します。移行ジョブの作成の最後に - [保存して次へ] をクリックします。
移行先の Cloud SQL インスタンスを定義して作成する
- [移行先インスタンスのタイプ] プルダウン メニューから [新しいインスタンス] を選択します。
既存のインスタンスに移行することもできます。 既存のインスタンスの移行ジョブをご覧ください。
- Cloud SQL インスタンスの ID を指定するか、自動生成された ID を使用します。 ID に機密情報や個人を特定できる情報を含めないでください。ID は外部に公開されます。インスタンス名にプロジェクト ID を含める必要はありません。これは、必要に応じて自動的に行われます (ログファイルなど)。
移行先の Cloud SQL インスタンスの英数字のパスワードを入力します。これは、インスタンスの
postgres管理者アカウントのパスワードになります。手動でパスワードを入力するか、[生成] をクリックして Database Migration Service に自動生成させることができます。
- 指定したデータベース エンジン用にサポートされている Database Migration Service のバージョンのリストから、移行先インスタンスのデータベース バージョンを選択します。詳細 については、クロスバージョン移行のサポートをご覧ください。
- 移行先インスタンスの Cloud SQL for PostgreSQL エディションを選択します。次の 2 つのオプションがあります。Cloud SQL for PostgreSQL Enterprise エディション と Cloud SQL for PostgreSQL Enterprise Plus エディション 。
Cloud SQL for PostgreSQL エディションには、さまざまな機能セット、使用可能なマシンタイプ、料金が用意されています。ニーズに適したエディションを選択するには、Cloud SQL のドキュメントをご覧ください。 詳細については、Cloud SQL for PostgreSQL エディションの概要をご覧ください。
インスタンスは、移行ジョブの設定を 定義したときに選択したリージョンに作成されます。そのリージョン内のゾーンを選択するか、ゾーンを [**任意**] に設定して、Google に自動的に選択させます。
高可用性向けにインスタンスを構成する場合は、[複数のゾーン(高可用性)] を選択します。プライマリ ゾーンとセカンダリ ゾーンの両方を選択できます。 セカンダリ ゾーンがインスタンスの作成中に使用される場合は、次の条件が適用されます。
- ゾーンのデフォルトは、プライマリ ゾーンは [任意]、セカンダリ ゾーンは [任意(プライマリと異なる)] です。
- プライマリ ゾーンとセカンダリ ゾーンの両方を指定する場合は、別々のゾーンにする必要があります。
- このインスタンスにプライベート IP アドレスまたはパブリック IP アドレスで接続するかどうかを選択します。
- VPC ピアリングまたはリバース SSH トンネルで接続する場合は、 [プライベート IP] チェックボックスをオンにします。
- プライベート IP を有効にするには、次の条件を満たしていることを確認してください。
- Service Networking API が有効になっている。Service Networking API は コンソールを使用して 有効にできます Google Cloud 。
servicenetworking.services.addPeeringIAM 権限がある。- プロジェクトのプライベート サービス アクセスを
構成
している。これには
compute.networkAdminIAM ロールが必要です。 - プロジェクトに、レガシー以外の VPC ネットワークが 1 つ以上存在するか、 共有 VPC ネットワークが存在する。
- 共有 VPC ネットワークを使用している場合は、
次の操作も必要になります。
- ホスト プロジェクトで Service Networking API を有効にします。
- ユーザーをホスト プロジェクトに追加します。
- ホスト プロジェクトの compute.networkAdmin IAM ロールをユーザーに付与します。
- ピアリングする関連 VPC ネットワークを選択します。VPC ピアリングを使用して移行元に接続する場合は、インスタンスが存在する VPC を選択します。
- 選択した VPC にマネージド サービス ネットワークが構成されていない場合は、IP 範囲を選択して [接続] をクリックするか、自動的に選択された IP 範囲を使用して [割り当てて接続] をクリックします。
IP 許可リストを使用して接続する場合は、[パブリック IP] を選択します。
必要に応じて、[承認済みネットワーク] をクリックして、ネットワークまたはプロキシを承認して Cloud SQL インスタンスに接続します。Cloud SQL インスタンスは、承認されたアドレスからの接続のみを受け入れます。インスタンスへのパブリック アクセスの構成の詳細については、パブリック IP を構成するをご覧ください。
- Cloud SQL インスタンスのマシンタイプを選択します。ディスクサイズは移行元データベースのサイズ以上である必要があります。
PostgreSQL マシンタイプの詳細をご覧ください。
- Cloud SQL for PostgreSQL Enterprise Plus エディションの場合: 移行先データベースでデータ キャッシュ機能を使用する場合は、[データ キャッシュを有効にする] チェックボックスをオンにします。
データ キャッシュは、Cloud SQL for PostgreSQL Enterprise Plus エディションのインスタンスで使用できるオプション機能です。この機能を使用すると、高速ローカル SSD が移行先データベースに追加されます。 この機能を使用すると、Cloud SQL に追加費用が発生する可能性があります。 データ キャッシュの詳細については、 Cloud SQL ドキュメントの データ キャッシュの概要をご覧ください。
- Cloud SQL インスタンスのストレージ タイプを指定します。 ソリッド ステート ドライブ(SSD)またはハードディスク ドライブ(HDD)を選択できます。
- Cloud SQL インスタンスのストレージ容量(GB 単位)を指定します。
- 必要に応じて、[**オプションの構成を表示**] をクリックして、次の操作を行います。
移行元から移行先に移行するデータの暗号化を管理するかどうかを指定します。デフォルトでは、データは Google Cloudによって管理される鍵で暗号化されます。ご自身で暗号化を管理する場合は、顧客管理の暗号鍵(CMEK)を使用できます。手順は次のとおりです。
- [顧客管理の暗号鍵(CMEK)を使用する] チェックボックスをオンにします。
- [顧客管理の鍵を選択] メニューから、CMEK を選択します。
鍵が表示されない場合は、[鍵のリソース名を入力] をクリックして、使用する鍵のリソース名を入力します。たとえば、
projects/my-project-name/locations/my-location/keyRings/my-keyring/cryptoKeys/my-keyを [**鍵のリソース名**] フィールドに入力して、[**保存**] をクリックします。- データベース サーバーに適用する必要なフラグを追加します。可能であれば、作成した移行先の Cloud SQL インスタンスのデータベース フラグが移行元データベースのフラグと同じであることを確認してください。 PostgreSQL でサポートされているデータベース フラグの詳細をご覧ください。
- Cloud SQL インスタンスに固有のラベル
を追加します。
ラベルはインスタンスの整理に役立ちます。たとえば、コストセンターや環境別にラベルを整理できます 。ラベルは請求書にも記載されるため、ラベル間で費用分布を確認できます。
[作成して続行] をクリックします。
- [移行先データベースを作成] ウィンドウで、[移行先を作成して続行] をクリックして新しいインスタンスを作成します。これには数分かかることがあります。
- 移行先インスタンスの作成が完了するまで待ちます。
移行元データベースと移行先データベースのインスタンス間の接続を設定する
[接続方法] プルダウン メニューから、ネットワーク接続方法を選択します。この方法では、新しく作成された Cloud SQL インスタンスが移行元データベースに接続する方法を定義します。現在のネットワーク接続方法には、IP 許可リスト、リバース SSH トンネル、VPC ピアリングがあります。
- IP 許可リスト ネットワーク接続方法を選択する場合は、移行先インスタンスの送信 IP アドレスを指定する必要があります。作成した Cloud SQL インスタンスが高可用性インスタンスの場合は、プライマリ インスタンスとセカンダリ インスタンスの両方の送信 IP アドレスを含めます。
リバース SSH トンネル ネットワーク接続方法を選択する場合は、トンネルをホストする Compute Engine VM インスタンスを選択します。
インスタンスを指定すると、移行元データベースと移行先データベース間のトンネルを設定する手順を実行するスクリプトが Google から提供されます。Google Cloud CLI でスクリプトを実行する必要があります。
移行元データベースと Google Cloud の両方に接続できるマシンからコマンドを実行します。
- VPC ピアリング ネットワーク接続方法を選択する場合は、移行元データベースが存在する VPC ネットワークを選択します。Cloud SQL インスタンスが更新され、このネットワークに接続されます。
- 接続を構成する方法の詳細をご覧ください。
ネットワーク接続方法を選択し、その方法に関する追加情報を入力したら、[構成して続行] をクリックします。
移行データベースを構成する
移行するデータベースを選択できます。
- [移行するデータベース] リストから、次のいずれかのオプションを選択します。
- すべてのデータベース: 移行元に存在するすべてのデータベースを選択します。
- 特定のデータベース: 移行元に存在するすべてのデータベースから特定のデータベースを選択できます。
特定のデータベースを移行する場合は、表示されるリストをフィルタして、Database Migration Service で移行先に移行するデータベースを選択します。
リストが表示されず、データベース検出エラーが表示された場合は、[再読み込み] をクリックします。データベースの検出に失敗すると、ジョブはすべてのデータベースを移行します。移行ジョブの作成を続行し、接続エラーは後で修正できます。
- [保存して次へ] をクリックします。
移行ジョブをテストして作成する
この最後の手順では、移行ジョブの設定、移行元、移行先、接続方法の概要を確認し、移行ジョブの設定の有効性をテストします。問題が発生した場合は、移行ジョブの設定を変更できます。すべての設定を編集できるわけではありません。[ジョブをテスト] をクリックして、次のことを確認します。
- 前提条件に基づいて、移行元データベースが正しく構成されている。
- 移行元インスタンスと移行先インスタンスが相互に通信できる。
- 移行先で必要なプライベート IP アドレスまたはパブリック IP アドレスの更新が完了している。
移行ジョブが有効で、移行元と移行先のバージョンに互換性がある。
テストに失敗した場合は、フローの適切な部分で問題を解決し、再テストに戻ることができます。
[ジョブを作成して開始] をクリックして移行ジョブを作成してすぐに開始するか、[ジョブを作成] をクリックして移行ジョブを作成してすぐに開始しないようにします。
ジョブが作成時に開始されない場合は、[移行ジョブ] ページで [開始] をクリックして開始できます。
移行ジョブの開始時期に関係なく、移行先インスタンスが存在する間は料金が発生します。
移行ジョブが移行ジョブリストに追加され、直接表示できます。