概要
Database Migration Service は、移行ジョブを使用して、移行元のデータベース インスタンスから移行先の AlloyDB データベース インスタンスにデータを移行します。プライベート IP 接続の場合、Database Migration Service で作成された AlloyDB for PostgreSQL クラスタ に移行するときは、 プライベート サービス アクセス方法のみを使用できます。 移行先 クラスタで Private Service Connect を使用する場合は、まず Database Migration Service の外部で AlloyDB for PostgreSQL の移行先を作成し、 既存のインスタンスに 移行する フローに沿って操作します。
移行ジョブの作成には、次の操作が含まれます。
- 移行ジョブの設定を定義する
- ソース データベース用に作成した接続プロファイル(ソース接続プロファイル)に関する情報を指定する
- 移行先の AlloyDB データベース インスタンスの設定を定義し、インスタンスを作成する
- 移行元データベースと移行先データベースのインスタンス間の接続を設定する
- 移行ジョブをテストして、ジョブに指定した接続情報が有効であることを確認する
Database Migration Service ウィザードを使用すると、移行ジョブを作成できます。ウィザードには、移行元データベース、移行先データベース、接続方法に関する情報を入力する複数のペインがあります。 ウィザードでは、移行ジョブの作成を完了する前にテストすることもできます。各ペインへの入力方法については、このページの各セクションをご覧ください。
移行ジョブの設定を定義する
- [移行ジョブ] ページに移動します。 Google Cloud
- ページの上部にある [移行ジョブを作成] をクリックします。
移行ジョブの名前を入力します。
移行ジョブを識別しやすいフレンドリ名を選択してください。ジョブ名には機密情報や個人を特定できる情報を含めないでください。
自動生成された移行ジョブ ID を保持します。
移行元データベース エンジンを選択します。
移行先エンジンとして [AlloyDB for PostgreSQL] を選択します。
移行先のリージョンを選択します。これは、Database Migration Service インスタンスが作成される場所です。Compute Engine インスタンス、App Engine アプリ、その他のサービスなど、データを必要とするサービスの場所に基づいて選択する必要があります。移行先のリージョンを選択すると、この選択を変更することはできません。
移行ジョブのサービスの種類として [継続的](スナップショット + 継続的な変更)を選択します。
移行ジョブに環境を準備する方法が反映されるように、自動的に生成される必須の前提条件を確認します。これらの前提条件には、移行元データベースの構成方法や、移行先 AlloyDB データベース インスタンスへの接続方法が含まれます。この手順でこれらの前提条件を完了することをおすすめしますが、移行ジョブをテストまたは開始する前であればいつでも完了できます。これらの前提条件の詳細については、移行元を構成するをご覧ください。
[保存して次へ] をクリックします。
ソース接続プロファイルに関する情報を指定する
-
接続プロファイルを作成した場合は、既存の接続プロファイルのリストから 選択します。
接続プロファイルを作成していない場合は、プルダウン リストの下部にある [接続プロファイルを作成]をクリックして構成を作成してから、 ソース接続プロファイルを作成するの手順を行います。
AlloyDB 移行用に専用の接続プロファイルを作成することをおすすめします。
- [データダンプ構成をカスタマイズ] セクションで、
[データダンプ構成を表示] をクリックします。
データダンプの並列処理の速度は、移行元データベースの負荷量 に関連しています。次の設定を使用できます。
- 最適(推奨): バランスの取れたパフォーマンスで、移行元データベースの負荷が最適になります。
- 最大: ダンプ速度が最も速くなりますが、移行元データベースの負荷が増加する可能性があります。
- 最小: 移行元データベースで使用されるコンピューティング リソースの量が最小になりますが、ダンプ スループットが遅くなる可能性があります。
調整されたデータダンプの並列処理設定を使用する場合は、 移行元データベースの
max_replication_slots、max_wal_senders、およびmax_worker_processesパラメータを必ず増やしてください。構成を確認するには、 移行ジョブのテストを実行します。移行ジョブの作成の最後に - [保存して次へ] をクリックします。
移行先の AlloyDB インスタンスを定義して作成する
移行ジョブ用に新しい移行先の AlloyDB クラスタを作成します。クラスタは AlloyDB の最上位リソースです。移行プロセス中に作成するデータベースへの読み取り/書き込みアクセス用の単一のプライマリ インスタンスが含まれています。
移行先クラスタを作成する手順は次のとおりです。
- クラスタタイプを選択します。Database Migration Service は現在、高可用性 の AlloyDB クラスタをサポートしています。読み取りプールを使用せずに、リージョン内の複数のゾーンからデータを提供できます。
- [続行] をクリックします。
- クラスタを構成します。
- [クラスタ ID] フィールドに、クラスタの ID を入力します。
- [パスワード] フィールドに、デフォルトの
postgresユーザーのパスワードを入力します。データベースにログインするには、このパスワードが必要です。 - [ネットワーク] フィールドで次の操作を行います。
- ネットワーク パスを選択して、移行接続の設定時に使用可能なリソースを定義します。クラスタを構成するには、 プライベート IP ネットワーク パスが必要ですVPC ピアリングを使用してソース データベースに接続する場合は、ソース データベースが存在する VPC を選択します。
- ネットワークが プライベート サービス アクセス用に構成されていない場合は、[接続を設定]をクリックして、接続 構成ウィザードの手順に沿って操作します。
- 選択した VPC にマネージド サービス ネットワークが構成されていない場合は、IP 範囲を選択して [接続] をクリックするか、自動的に選択された IP 範囲を使用して [割り当てて接続] をクリックします。
- 省略可: [暗号化] セクションで、移行元から移行先に移行するデータの暗号化を管理するかどうかを指定します。デフォルトでは、データは が管理する鍵で暗号化されます Google Cloud。
ご自身で暗号化を管理する場合は、顧客管理の暗号鍵(CMEK)を使用 します。 鍵は AlloyDB クラスタと同じロケーションにあることが必要です。たとえば、 us-west1 にあるクラスタでは、us-west1 の鍵のみを使用できます。
- [顧客管理の暗号鍵(CMEK)を使用する] ラジオボタンを選択します。
- [顧客管理の鍵を選択] メニューから、CMEK を選択します。
鍵が表示されない場合は、[鍵のリソース名を入力] をクリックして、使用する鍵のリソース名を指定します。たとえば、
projects/my-project-name/locations/my-location/keyRings/my-keyring/cryptoKeys/my-keyを [**鍵のリソース名**] フィールドに入力して、[**保存**] をクリックします。 - [続行] をクリックします。
- プライマリ インスタンスを構成します。プライマリ インスタンスは、クラスタのコンピューティング容量を決定し、読み取り / 書き込みオペレーションをサポートします。
- [インスタンス ID] フィールドに、プライマリ インスタンスの ID を入力します。
- マシンタイプを選択します。
- [IP 許可リスト] 接続方法を使用する場合は、[アウトバウンド パブリック IP を有効にする] チェックボックスをオンにします。
- 省略可: インスタンスのフラグを設定します。フラグを使用してインスタンスをカスタマイズできます。サポートされているフラグについては、AlloyDB ドキュメントをご覧ください。各フラグについて、次の操作を行います。
- [フラグを追加] をクリックします。
- [新しいデータベース フラグ] リストからフラグを選択します。
- フラグの値を指定します。
- [完了] をクリックします。
- [保存して次へ] をクリックします。
- [移行先を作成して続行] をクリックして選択を確定します。
- 移行先インスタンスの作成が完了するまで待ちます。
移行元データベースと移行先データベースのインスタンス間の接続を設定する
[接続方法] プルダウン メニューから、ネットワーク接続方法を選択します。この方法により、新しく作成された AlloyDB インスタンスがソース データベースに接続される方法が定義されます。現在のネットワーク接続方法には、IP 許可リスト、VPC ピアリング、リバース SSH トンネル、クラウドホスト型 VM を介した TCP プロキシがあります。
- IP 許可リスト ネットワーク接続方法を選択した場合は、移行先インスタンスの送信 IP アドレスを指定する必要があります。プライマリ インスタンスとセカンダリ インスタンスの両方の送信 IP アドレスをコピーし、それらを使用して移行元データベース サーバーのネットワーク ファイアウォールと
pg_hba.confファイルを構成し、移行元がこれらのアドレスからの接続を受け入れられるようにします。 リバース SSH トンネル ネットワーク接続方法を選択した場合は、トンネルをホストする Compute Engine VM インスタンスを選択します。
インスタンスを指定すると、Google から、移行元データベースと移行先データベースの間のトンネルを設定する手順を実行するスクリプトが提供されます。Google Cloud CLI でスクリプトを実行する必要があります。
移行元データベースと Google Cloud の両方に接続できるマシンからコマンドを実行します。
- VPC ピアリング ネットワーク接続方法を選択した場合は、移行元データベースが存在する VPC ネットワークを選択します。このネットワークに接続するために Cloud SQL インスタンスが更新されます。
クラウドホスト型 VM を介した TCP プロキシ接続方法を選択した場合は、TCP プロキシをホストする新しい Compute Engine VM インスタンスに必要な詳細情報を入力します。
詳細を指定すると、 Google Cloud コンソールから、移行元データベースと移行先データベースの間にプロキシを設定する手順を実行するスクリプトが提供されます。更新された Google Cloud CLI を使用して、マシンでスクリプトを実行する必要があります。
スクリプトを実行すると、新しく作成された VM のプライベート IP が出力されます。IP を入力して [構成して続行] をクリックします。
- 接続を構成する方法の詳細をご覧ください。
ネットワーク接続方法を選択し、その方法に関する追加情報を入力したら、[構成して続行] をクリックします。
移行データベースを構成する
移行するデータベースを選択できます。
- [移行するデータベース] リストから、次のいずれかのオプションを選択します。
- すべてのデータベース: 移行元に存在するすべてのデータベースを選択します。
- 特定のデータベース: 移行元に存在するすべてのデータベースから特定のデータベースを選択できます。
特定のデータベースを移行する場合は、表示されるリストをフィルタして、Database Migration Service で移行先に移行するデータベースを選択します。
リストが表示されず、データベース検出エラーが表示された場合は、[再読み込み] をクリックします。データベースの検出に失敗すると、ジョブはすべてのデータベースを移行します。移行ジョブの作成を続行し、接続エラーは後で修正できます。
- [保存して次へ] をクリックします。
移行ジョブをテストして作成する
この最後の手順では、移行ジョブの設定、移行元、移行先、接続方法の概要を確認し、移行ジョブの設定の有効性をテストします。問題が発生した場合は、移行ジョブの設定を変更できます。すべての設定を編集できるわけではありません。[ジョブをテスト] をクリックして、次のことを確認します。
- 前提条件に基づいて、移行元データベースが正しく構成されている。
- 移行元インスタンスと移行先インスタンスが相互に通信できる。
- 移行先で必要なプライベート IP アドレスの更新が完了している。
移行ジョブが有効で、移行元と移行先のバージョンに互換性がある。
テストに失敗した場合は、フローの適切な部分で問題を解決し、再テストを行います。
テストに失敗した場合でも移行ジョブを作成できますが、ジョブを開始すると、実行中に失敗する可能性があります。
[ジョブを作成して開始] をクリックして移行ジョブを作成してすぐに開始するか、[ジョブを作成] をクリックして移行ジョブを作成し、すぐに開始しないようにします。
ジョブが作成時に開始されない場合は、[移行ジョブ] ページで [開始] をクリックして開始できます。
移行ジョブの開始時期に関係なく、移行先インスタンスが存在する間は組織に課金されます。
移行ジョブが移行ジョブリストに追加され、直接表示できます。