Database Migration Service は、移行ジョブを使用して、移行元のデータベースから AlloyDB for PostgreSQL の移行先にデータを移行します。移行ジョブを使用すると、移行元と移行先の接続プロファイルを整理し、移行プロセスに固有の設定を定義し、進行状況をモニタリングして、オペレーション全体を安全に完了できます。
移行ジョブの作成には、次のタスクの実行が含まれます。
移行元と移行先の接続プロファイルを選択します。
コンバージョン ワークスペースを選択し、移行するオブジェクトを指定します。
移行ジョブのテストを実行して、Database Migration Service がデータソースと移行先に接続できることを確認します。
移行ジョブを開始し、進行状況をモニタリングします。
アプリケーションを新しいクラスタに切り替えるときに移行ジョブをプロモートする。
始める前に
- 次の要件を満たしていることを確認してください。
-
移行用に 移行元データベースを構成しました。
- 移行元ネットワーク接続を構成しました。
- データベースの ソース接続プロファイルがある。
- 移行先の AlloyDB for PostgreSQL プライマリ インスタンスとクラスタを作成して構成した。
- 宛先ネットワーク接続を構成しました。
- 移行先接続プロファイルがある。
- Database Migration Service のコンバージョン ワークスペースを使用して、 移行元の Oracle スキーマを変換した。
- 省略可: 移行ジョブの証明書を自分で管理する場合は、 必要な暗号鍵を準備します。
-
- Google Cloud コンソールのプロジェクト セレクタ ページで、 Google Cloud プロジェクトを選択または 作成します。
- Database Migration Service と AlloyDB for PostgreSQL Admin API を有効にします。
必要なロール
必要なロール
異種 SQL Server 移行の移行ジョブを作成するために必要な権限を取得するには、移行プロセスに関与する次の アカウントに対して、プロジェクトに必要な IAM ロールを付与するよう管理者に依頼します。
- 移行を実行するユーザー アカウント:
-
データベース移行管理者(
roles/datamigration.admin
)
-
データベース移行管理者(
- Database Migration Service サービス アカウント:
-
データベース移行管理者(
roles/datamigration.admin
)
-
データベース移行管理者(
ロールの付与の詳細については、Identity and Access Management のドキュメントの アクセスを管理するをご覧ください。
これらの事前定義ロールには、Database Migration Service を使用して異種 Oracle 移行を実行するために必要な権限が含まれています。必要とされる正確な権限については、「必要な権限」セクションを開いてご確認ください。
必要な権限
Database Migration Service を使用して異種 SQL Server 移行を行うには、次の権限が必要です。
datamigration.*
resourcemanager.projects.get
resourcemanager.projects.list
alloydb.clusters.create
alloydb.clusters.get
alloydb.clusters.list
alloydb.clusters.update
alloydb.clusters.delete
alloydb.instances.create
alloydb.instances.get
alloydb.instances.list
alloydb.instances.update
alloydb.instances.delete
alloydb.operations.get
compute.machineTypes.list
compute.machineTypes.get
compute.projects.get
カスタムロールや他の 事前定義ロールを使用して、これらの権限を取得することもできます。
移行ジョブの設定を定義する
移行ジョブを作成する手順は次のとおりです。
- Google Cloud コンソールで、[移行ジョブ] ページに移動します。
- [移行ジョブを作成] をクリックします。
移行ジョブ構成ウィザードのページが開きます。このウィザードには、各構成手順を説明する複数のパネルが含まれています。
[保存して終了] をクリックすると、移行ジョブの作成をいつでも一時停止できます。その時点までに入力したデータはすべて、移行ジョブの下書きに保存されます。下書きの移行ジョブは後で完了できます。 移行ジョブの下書きを更新するをご覧ください。
- [開始] ページで、次の情報を入力します。
- 移行ジョブ名: 移行ジョブに使用する人が読める形式の名前。この値は Google Cloud コンソールに表示されます。
- 移行ジョブ ID: 移行ジョブの機械可読識別子です。この値は、Database Migration Service の Google Cloud CLI コマンドまたは API を使用して移行ジョブを操作するために使用します。
- [移行元データベース エンジン] リストから [Oracle] を選択します。
- [移行先データベース エンジン] プルダウン メニューから [AlloyDB for PostgreSQL] を選択します。
- 省略可: 移行用の独自のデータ暗号鍵を管理する場合は、[詳細な暗号化オプション] を開いて、次の操作を行います。
- [Cloud KMS 鍵] オプションを選択します。
- [鍵のタイプ] 設定のデフォルトの [Cloud KMS] オプションのままにします。
Database Migration Service は、Cloud KMS with autokey 機能をサポートしていません。
- [顧客管理の暗号鍵を選択] プルダウン メニューから、暗号鍵を選択します。鍵の完全修飾識別子を手動で入力することもできます。
- [保存して次へ] をクリックします。
- [ソースを定義する] ページで、次の操作を行います。
- [ソース接続プロファイル] プルダウン メニューから、移行元の接続プロファイルを選択します。
- [ソース構成をカスタマイズ] セクションで、次の設定を行います。
-
フルダンプ構成: このセクションでは、移行のフルダンプ フェーズの実行方法を選択できます。デフォルト値は Automatic です。使用可能な設定の詳細については、[フルダンプの設定] セクションを開きます。
完全なダンプの設定
- 移行用に選択したデータベースから既存のすべてのデータを自動的に読み取り、そのデータを移行先インスタンスに読み込む場合は、[自動] を選択します。
- Database Migration Service の外部で移行元から移行先インスタンスに既存のデータを読み込む場合は、[顧客管理] を選択します。このオプションを指定すると、移行ジョブは完全ダンプ フェーズをスキップして、すぐに CDC フェーズを開始します。
顧客管理の完全ダンプ フェーズを使用するには、Database Migration Service で変更データ キャプチャ レプリケーションを開始するログ位置を示す Oracle システム変更番号(SCN)を指定する必要があります。
-
ソースの読み取り設定: 完全なダンプ フェーズまたは CDC フェーズで、Database Migration Service が移行元インスタンスに対して確立できる最大同時接続数をカスタマイズできます。使用可能な設定の詳細については、[最大同時接続数の設定] セクションを開きます。
最大同時接続数の設定
Database Migration Service は、指定された接続制限内で最適なパフォーマンスを確保するように接続数を調整します。最大接続数を増やすと移行速度を向上させることができますが、移行元データベースの負荷が増加します。
次の設定を使用できます。
- 完全なダンプの最大同時接続数
デフォルト値:
50
許容値: 最小値
1
、最大値50
- CDC の最大同時接続数
デフォルト値:
5
許容値: 最小値
1
、最大値50
- 完全なダンプの最大同時接続数
-
- [保存して次へ] をクリックします。
- [宛先を定義する] ページの [宛先接続プロファイル] プルダウン メニューから、宛先接続プロファイルを選択します。
- [送信先構成をカスタマイズ] セクションで、次の設定を構成します。
- 移行先の最大同時接続数
-
デフォルト値:
128
許容値: 最小値
2
、最大値256
Database Migration Service が移行先インスタンスに確立できる最大同時接続数をカスタマイズできます。
Database Migration Service は、指定された接続制限内で最適なパフォーマンスを確保するために、接続数を調整します。最大接続上限を増やすと移行速度を向上させることができますが、移行先のデータベースに負荷がかかります。
- トランザクションのタイムアウト
-
デフォルト値:
30
許容値: 最小値
30
、最大値300
移行プロセス中に、Database Migration Service でトランザクションがタイムアウトする原因となる特定の問題が発生することがあります。Database Migration Service がトランザクションの完了を待機してからキャンセルするまでの秒数を調整できます。
トランザクションがキャンセルされても、移行ジョブは失敗しません。移行ジョブはデータのコピーを続行しますが、ステータスが [Running with errors] に変わります。移行ジョブの詳細を表示して、対処が必要な問題を確認できます。
- [保存して次へ] をクリックします。
- [移行オブジェクトの構成] ページで、次の操作を行います。
- [コンバージョン ワークスペース] プルダウン メニューから、コンバージョン ワークスペースを選択します。
- [移行するオブジェクトを選択] セクションで、チェックボックスを使用して、この移行ジョブに含めるオブジェクトを選択します。このリストには、コンバージョン ワークスペースで PostgreSQL スキーマに変換したオブジェクトに基づいてデータが入力されます。
- [保存して次へ] をクリックします。
- [移行ジョブのテストと作成] で、次の操作を行います。
- (省略可)[ジョブをテスト] をクリックして、Database Migration Service がすべてのバックアップ ファイルを正常に識別し、必要なネットワーク接続を確立できるかどうかを確認します。
テストに失敗した場合は、エラー メッセージを参照して問題に対処し、テストを再度実行できます。発生する可能性のあるエラーの詳細については、 問題の診断をご覧ください。
- [ジョブを作成して開始] をクリックして、移行を開始します。
移行ジョブを別の時間に実行する場合は、[保存] をクリックして、後でジョブを実行します。 移行ジョブを開始するをご覧ください。
- (省略可)[ジョブをテスト] をクリックして、Database Migration Service がすべてのバックアップ ファイルを正常に識別し、必要なネットワーク接続を確立できるかどうかを確認します。