概要
Database Migration Service は、移行ジョブを使用して、移行元のデータベース インスタンスから移行先の AlloyDB データベース インスタンスにデータを移行します。移行ジョブの作成には以下が含まれます。
- 移行ジョブの設定を定義します
- ソース データベース用に作成した接続プロファイル(ソース接続プロファイル)に関する情報を指定します
- 移行先の AlloyDB データベース インスタンスの設定を定義し、インスタンスを作成します
- 移行元データベースと移行先データベースのインスタンス間の接続を設定します
- 移行ジョブをテストして、ジョブに指定した接続情報が有効であることを確認します
移行ジョブの設定を定義する
- Google Cloud コンソールで、[Migration jobs] ページに移動します。
- ページ上部の [移行ジョブを作成] をクリックします。
- 移行ジョブの名前を指定します。移行ジョブを識別できるわかりやすい名前を選択します。ジョブ名には機密情報や個人を特定できる情報を含めないでください。
- 自動生成された移行ジョブ 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 の最上位リソースです。移行プロセス中に作成するデータベースへの読み取り/書き込みアクセス用のプライマリ インスタンスが 1 つ含まれています。
宛先クラスタを作成するには:
- クラスタタイプを選択します。Database Migration Service は現在、高可用性の AlloyDB クラスタをサポートしています。リージョン内の複数のゾーンからデータを提供できますが、読み取りプールは使用しません。
- [続行] をクリックします。
- クラスタを構成します。
- [クラスタ ID] フィールドに、クラスタの ID を入力します。
- [パスワード] フィールドに、デフォルトの
postgres
ユーザーのパスワードを入力します。データベースにログインするには、このパスワードが必要です。 - [ネットワーク] フィールドで次の操作を行います。
- ネットワーク パスを選択して、移行接続の設定時に使用可能なリソースを定義します。クラスタを構成するには、プライベート IP ネットワーク パスが必要です。VPC ピアリングを介して移行元データベースに接続する場合は、移行元データベースが存在する VPC を選択します。
- ネットワークが プライベート サービス アクセス用に構成されていない場合は、[接続の設定] をクリックし、接続構成ウィザードを進めます。
- 選択した VPC にマネージド サービス ネットワークが構成されていない場合は、IP 範囲を選択して [接続] をクリックするか、自動的に選択された IP 範囲を使用して [割り振りと接続] をクリックします。
- 省略可: [暗号化] セクションで、ソースから移行先に移行されるデータの暗号化を管理するかどうかを指定します。デフォルトでは、データは Google Cloudによって管理される鍵で暗号化されます。
暗号化を管理する場合は、顧客管理の暗号鍵(CMEK)を使用できます。鍵は AlloyDB クラスタと同じロケーションにあることが必要です。たとえば、us-west1 にあるクラスタは、us-west1 の鍵のみを使用できます。
- [顧客管理の暗号鍵(CMEK)を使用する] ラジオボタンを選択します。
- [顧客管理の暗号鍵を選択] メニューから CMEK を選択します。
鍵が表示されない場合は、[鍵のリソース名を入力] をクリックして、使用する鍵のリソース名を指定します。たとえば、[Key resource name] フィールドに「
projects/my-project-name/locations/my-location/keyRings/my-keyring/cryptoKeys/my-key
」と入力し、[SAVE] をクリックします。 - [続行] をクリックします。
- プライマリ インスタンスを構成します。プライマリ インスタンスは、クラスタのコンピューティング容量を決定し、読み取り / 書き込みオペレーションをサポートします。
- [インスタンス ID] フィールドに、プライマリ インスタンスの ID を入力します。
- マシンタイプを選択します。
- IP 許可リスト接続方法を使用する場合は、[アウトバウンド パブリック IP を有効にする] チェックボックスをオンにします。
- 省略可: インスタンスにフラグを設定します。フラグを使用してインスタンスをカスタマイズできます。サポートされているフラグの詳細については、AlloyDB のドキュメントをご覧ください。フラグごとに、次の操作を行います。
- [フラグを追加] をクリックします。
- [新しいデータベース フラグ] リストからフラグを選択します。
- フラグの値を指定します。
- [完了] をクリックします。
- [保存して次へ] をクリックします。
- [移行先を作成して続行] をクリックして選択を確定します。
- 宛先インスタンスの作成が完了するまで待ちます。
移行元データベースと移行先データベースのインスタンス間の接続を設定する
[接続方法] プルダウン メニューから、ネットワーク接続方法を選択します。この方法により、新しく作成された AlloyDB インスタンスがソース データベースに接続される方法が定義されます。現在のネットワーク接続方法には、IP 許可リスト、VPC ピアリング、リバース SSH トンネル、クラウドでホストされている VM を介した TCP プロキシなどがあります。
- IP 許可リストのネットワーク接続方法を選択した場合は、宛先インスタンスの送信 IP アドレスを指定する必要があります。プライマリ インスタンスとセカンダリ インスタンスの両方の送信 IP アドレスをコピーし、それを使用して、ソース データベース サーバーと
pg_hba.conf
ファイルでネットワーク ファイアウォールを構成します。これにより、ソースがこれらのアドレスからの接続を受け入れることができます。 リバース SSH トンネル ネットワーク接続方法を選択した場合は、トンネルをホストする Compute Engine VM インスタンスを選択します。
インスタンスを指定すると、ソース データベースと移行先データベース間のトンネルを設定する手順を実行するスクリプトが提供されます。スクリプトは Google Cloud CLI で実行する必要があります。
ソース データベースと Google Cloud の両方に接続できるマシンからコマンドを実行します。
- VPC ピアリング ネットワーク接続方法を選択する場合は、ソース データベースが存在する VPC ネットワークを選択します。このネットワークに接続するように Cloud SQL インスタンスが更新されます。
クラウドでホストされる VM の接続方法による TCP プロキシを選択した場合は、TCP プロキシをホストする新しい Compute Engine VM インスタンスに必要な詳細情報を入力します。
詳細を指定すると、 Google Cloud コンソールに、ソース データベースと宛先データベースの間にプロキシを設定する手順を実行するスクリプトが提供されます。更新された Google Cloud CLI がインストールされているマシンでスクリプトを実行する必要があります。
スクリプトを実行すると、新しく作成された VM のプライベート IP が出力されます。IP を入力し、[構成して続行] をクリックします。
- 詳しくは、接続を構成するをご覧ください。
ネットワーク接続方法を選択し、その方法の追加情報を入力したら、[構成して続行] をクリックします。
移行ジョブをテストして作成する
この最後のステップでは、移行ジョブの設定、ソース、移行先、接続方法の概要を確認し、移行ジョブの設定の有効性をテストします。問題が発生した場合は、移行ジョブの設定を変更できます。すべての設定を編集できるわけではありません。[TEST JOB] をクリックして、次のことが確認されていることを確認します。
- 前提条件に基づいて、ソース データベースが正しく構成されている。
- ソース インスタンスと宛先インスタンスは相互に通信できます。
- 宛先で必要なプライベート IP アドレスの更新が完了します。
移行ジョブが有効で、移行元と移行先のバージョンが互換性があります。
テストに失敗した場合は、フローの適切な部分で問題に対処してから、再テストに戻ることができます。
テストが失敗しても移行ジョブは作成できますが、ジョブの開始後に実行中に失敗する可能性があります。
[ジョブを作成して開始] をクリックして移行ジョブを作成してすぐに開始するか、[ジョブを作成] をクリックして移行ジョブを作成してすぐに開始しないでください。
ジョブが作成時に開始されなかった場合は、[移行ジョブ] ページで [開始] をクリックして開始できます。
移行ジョブの開始時間に関係なく、移行先インスタンスの存在に対して料金が発生します。
移行ジョブは移行ジョブのリストに追加され、直接表示できます。