移行ジョブの表示と管理

プロジェクト: /database-migration/docs/sqlserver-to-csql-pgsql/_project.yaml ブック: /database-migration/docs/sqlserver-to-csql-pgsql/_book.yaml

Google Cloud コンソールでは、同じ ステータスの移行ジョブに対して一括でアクションを実行できます。1 つの移行ジョブに対してアクションを実行するには、Google Cloud コンソールと Google Cloud CLI の両方を使用できます。

移行ジョブに対して次のいずれかの操作を行うことができます。

アクション 説明
開始 実行中または開始中の状態ではない移行ジョブを開始します。 移行ジョブのステータスをご覧ください。
停止 実行中の移行ジョブを停止します。データの移動が一時停止します。 移行ジョブのステータスは、最初に Stopping に変わり、その後 Stopped に変わります。停止した移行ジョブは、再開、削除、 昇格できます。

移行ジョブを再開するまで、ソース データベースでデータを保持しなければならない場合があります。ソースのデータベースの保持期間が制限されている場合があります。移行ジョブが保持期間よりも長く一時停止され、その後に移行ジョブが再開されると、移行ジョブが失敗する可能性があります。この場合は、移行ジョブを削除するか再起動します。

再開 CDC フェーズ中に停止した移行ジョブを再開できます。移行ジョブを再開すると、Database Migration Service は、移行ジョブの停止時に蓄積された変更イベントのレプリケーションを再開します。
再起動する エラーが発生してデータ レプリケーションを続行できない移行ジョブは再起動できます。移行ジョブの再起動の結果は、失敗した理由によって異なります。
  • 1 つ以上の移行元または移行先データベース テーブルでエラーが発生したためにレプリケーションが失敗した場合、移行ジョブを再起動すると、移行ジョブに含まれる移行先データベース テーブルからすべてのデータが消去されます。
  • 移行ジョブを再起動しても、移行元データベースで作成した新しいテーブルが Database Migration Service に複製されることはありません。まず、 テーブルを変換ワークスペースに追加してスキーマを変換する必要があります。
編集 移行ジョブを編集するをご覧ください。
削除 移行ジョブは削除できます。結果はジョブのステータスによって異なります。
  • 移行ジョブのステータスが Completed の場合、レコードは移行ジョブリストから削除されます。
  • 移行ジョブのステータスが他のステータスの場合は、関連する移行先の AlloyDB for PostgreSQL クラスタを削除することもできます。
宣伝 移行プロセス中、移行先データベースは読み取り専用状態になり、Database Migration Service によって完全に管理されます。移行された移行先データベースにアプリケーションを切り替える場合は、移行ジョブを昇格すると、移行先データベースがスタンドアロン レプリカに更新されます。 移行をプロモートするをご覧ください。

移行ジョブの確認

  1. Google Cloud コンソールで、[移行ジョブ] ページに移動します。

    [移行ジョブ] に移動

  2. 移行ジョブを選択して、詳細ページを表示します。このページには次の情報が含まれています。
    • 移行ジョブのメタデータ(表示名、ID、移行タイプ、移行元の接続プロファイル、移行元データベース エンジン、移行先、接続方法、移行ジョブの作成日時、移行ジョブの実行時間など)。
    • 移行ジョブのステータスとサブステータス、その他の情報。移行ジョブのステータスとサブステータスによって、使用できるアクションが異なります。

移行ジョブを開始する

移行ジョブが完全に作成されたら(つまり、下書きの状態で保存されていない場合)、いつでも開始してデータの移行を開始できます。

移行ジョブを開始する手順は次のとおりです。

Console

  1. Google Cloud コンソールで、[移行ジョブ] ページに移動します。

    [移行ジョブ] に移動

  2. [ジョブ] タブで、開始する移行ジョブの表示名をクリックします。

    移行ジョブの詳細ページが開きます。

  3. [開始] をクリックします。
  4. ダイアログで [開始] をクリックします。

gcloud

後述のコマンドデータを使用する前に、次のように置き換えます。

  • MIGRATION_JOB_ID は、移行ジョブ ID に置き換えます。

    ID がわからない場合は、 gcloud database-migration migration-jobs list コマンドを使用して、特定のリージョン内のすべての移行ジョブを一覧表示し、ID を表示できます。

  • REGION は、接続プロファイルが保存されているリージョンの ID に置き換えます。

次のコマンドを実行します。

Linux、macOS、Cloud Shell

gcloud database-migration migration-jobs \
start MIGRATION_JOB_ID \
  --region=REGION

Windows(PowerShell)

gcloud database-migration migration-jobs `
start MIGRATION_JOB_ID `
  --region=REGION

Windows(cmd.exe)

gcloud database-migration migration-jobs ^
start MIGRATION_JOB_ID ^
  --region=REGION

結果

アクションは非同期で実行されます。そのため、このコマンドは長時間実行オペレーションを表す オペレーション エンティティを返します。

done: false
metadata:
  '@type': type.googleapis.com/google.cloud.clouddms.v1.OperationMetadata
  apiVersion: v1
  createTime: '2024-02-20T12:20:24.493106418Z'
  requestedCancellation: false
  target: MIGRATION_JOB_ID
  verb: start
name: OPERATION_ID
オペレーションが成功したかどうかを確認するには、返されたオペレーション オブジェクトをクエリするか、移行ジョブのステータスを確認します。

移行ジョブを停止する

実行中の移行ジョブは、次の手順でいつでも停止できます。

Console

  1. Google Cloud コンソールで、[移行ジョブ] ページに移動します。

    [移行ジョブ] に移動

  2. [ジョブ] タブで、開始する移行ジョブの表示名をクリックします。

    移行ジョブの詳細ページが開きます。

  3. [停止] をクリックします。
  4. ダイアログで [停止] をクリックします。

gcloud

後述のコマンドデータを使用する前に、次のように置き換えます。

  • MIGRATION_JOB_ID は、移行ジョブ ID に置き換えます。

    ID がわからない場合は、 gcloud database-migration migration-jobs list コマンドを使用して、特定のリージョン内のすべての移行ジョブを一覧表示し、ID を表示できます。

  • REGION は、接続プロファイルが保存されているリージョンの ID に置き換えます。

次のコマンドを実行します。

Linux、macOS、Cloud Shell

gcloud database-migration migration-jobs \
stop MIGRATION_JOB_ID \
  --region=REGION

Windows(PowerShell)

gcloud database-migration migration-jobs `
stop MIGRATION_JOB_ID `
  --region=REGION

Windows(cmd.exe)

gcloud database-migration migration-jobs ^
stop MIGRATION_JOB_ID ^
  --region=REGION

結果

アクションは非同期で実行されます。そのため、このコマンドは長時間実行オペレーションを表す オペレーション エンティティを返します。

done: false
metadata:
  '@type': type.googleapis.com/google.cloud.clouddms.v1.OperationMetadata
  apiVersion: v1
  createTime: '2024-02-20T12:20:24.493106418Z'
  requestedCancellation: false
  target: MIGRATION_JOB_ID
  verb: stop
name: OPERATION_ID
オペレーションが成功したかどうかを確認するには、返されたオペレーション オブジェクトをクエリするか、移行ジョブのステータスを確認します。

移行ジョブを再開する

停止した移行ジョブを再開するには、次の操作を行います。

Console

  1. Google Cloud コンソールで、[移行ジョブ] ページに移動します。

    [移行ジョブ] に移動

  2. [ジョブ] タブで、開始する移行ジョブの表示名をクリックします。

    移行ジョブの詳細ページが開きます。

  3. [再開] をクリックします。
  4. ダイアログで [再開] をクリックします。

gcloud

後述のコマンドデータを使用する前に、次のように置き換えます。

  • MIGRATION_JOB_ID は、移行ジョブ ID に置き換えます。

    ID がわからない場合は、 gcloud database-migration migration-jobs list コマンドを使用して、特定のリージョン内のすべての移行ジョブを一覧表示し、ID を表示できます。

  • REGION は、接続プロファイルが保存されているリージョンの ID に置き換えます。

次のコマンドを実行します。

Linux、macOS、Cloud Shell

gcloud database-migration migration-jobs \
resume MIGRATION_JOB_ID \
  --region=REGION

Windows(PowerShell)

gcloud database-migration migration-jobs `
resume MIGRATION_JOB_ID `
  --region=REGION

Windows(cmd.exe)

gcloud database-migration migration-jobs ^
resume MIGRATION_JOB_ID ^
  --region=REGION

結果

アクションは非同期で実行されます。そのため、このコマンドは長時間実行オペレーションを表す オペレーション エンティティを返します。

done: false
metadata:
  '@type': type.googleapis.com/google.cloud.clouddms.v1.OperationMetadata
  apiVersion: v1
  createTime: '2024-02-20T12:20:24.493106418Z'
  requestedCancellation: false
  target: MIGRATION_JOB_ID
  verb: resume
name: OPERATION_ID
オペレーションが成功したかどうかを確認するには、返されたオペレーション オブジェクトをクエリするか、移行ジョブのステータスを確認します。

移行ジョブを再起動する

移行ジョブを開始する手順は次のとおりです。

Console

  1. Google Cloud コンソールで、[移行ジョブ] ページに移動します。

    [移行ジョブ] に移動

  2. [ジョブ] タブで、再起動する移行ジョブの表示名をクリックします。

    移行ジョブの詳細ページが開きます。

  3. [再起動] をクリックします。
  4. ダイアログで [再起動] をクリックします。

gcloud

後述のコマンドデータを使用する前に、次のように置き換えます。

  • MIGRATION_JOB_ID は、移行ジョブ ID に置き換えます。

    ID がわからない場合は、 gcloud database-migration migration-jobs list コマンドを使用して、特定のリージョン内のすべての移行ジョブを一覧表示し、ID を表示できます。

  • REGION は、接続プロファイルが保存されているリージョンの ID に置き換えます。
  • 省略可: Database Migration Service は、デフォルトで移行元のすべてのデータベースを移行します。特定のデータベースのみを移行する場合は、--databases-filter フラグを使用して、その ID をカンマ区切りリストとして指定します。

    例: --databases-filter=my-business-database,my-other-database

    後で、--database-filter flag で作成した移行ジョブを gcloud database-migration migration-jobs update コマンドを使用して編集できます。

次のコマンドを実行します。

Linux、macOS、Cloud Shell

gcloud database-migration migration-jobs \
restart MIGRATION_JOB_ID \
  --region=REGION

Windows(PowerShell)

gcloud database-migration migration-jobs `
restart MIGRATION_JOB_ID `
  --region=REGION

Windows(cmd.exe)

gcloud database-migration migration-jobs ^
restart MIGRATION_JOB_ID ^
  --region=REGION

結果

アクションは非同期で実行されます。そのため、このコマンドは長時間実行オペレーションを表す オペレーション エンティティを返します。

done: false
metadata:
  '@type': type.googleapis.com/google.cloud.clouddms.v1.OperationMetadata
  apiVersion: v1
  createTime: '2024-02-20T12:20:24.493106418Z'
  requestedCancellation: false
  target: MIGRATION_JOB_ID
  verb: restart
name: OPERATION_ID
オペレーションが成功したかどうかを確認するには、返されたオペレーション オブジェクトをクエリするか、移行ジョブのステータスを確認します。

移行ジョブの下書きを更新する

移行ジョブの作成を完了するには、次の操作を行います。

  1. Google Cloud コンソールで、[移行ジョブ] ページに移動します。

    [移行ジョブ] に移動

  2. [下書き] タブで、作成を完了する移行ジョブの表示名をクリックします。

    移行ジョブの作成ウィザードが開きます。

  3. 移行ジョブの作成を完了します。 移行ジョブを作成するをご覧ください。

移行ジョブを編集する

Database Migration Service が移行先に移行する移行元のデータベース テーブルやスキーマなど、移行元の構成情報を変更できます。Database Migration Service は、この構成情報を使用して、移行元から移行先に正しいデータを移行します。

移行にオブジェクトを追加または削除する

移行からテーブルまたはスキーマを追加または削除する手順は次のとおりです。

  1. Google Cloud コンソールで [移行ジョブ] ページに移動します。

    [移行ジョブ] に移動

  2. 変更する移行ジョブの表示名をクリックします。移行ジョブの概要ページが表示されます。

  3. [移行するオブジェクトを選択] セクションで、チェックボックスをオンまたはオフにして、Database Migration Service が移行先に移行するソースのテーブルとスキーマを変更します。

  4. [保存] または [保存して再起動] をクリックします。

    • [保存] をクリックすると、選択したスキーマとテーブルの履歴データのみが Database Migration Service によって移動されます。

    • [Save and Restart] をクリックすると、Database Migration Service は、移行先で選択したテーブルをクリーンアップした後、移行を最初から開始します。

ソース データベースへの同時接続の最大数を調整する

完全なダンプ フェーズまたは CDC フェーズで、Database Migration Service が移行元インスタンスに対して確立できる最大同時接続数をカスタマイズできます。

  1. Google Cloud コンソールの [移行ジョブ] ページに移動します。

    [移行ジョブ] に移動

  2. 変更する移行ジョブの表示名をクリックします。移行ジョブの概要ページが表示されます。

  3. [ソース構成をカスタマイズ] > [ソース読み取り設定] セクションを開きます。

  4. [完全なダンプの最大同時接続数] または [CDC の最大同時接続数] セクションの [カスタム] フィールドに、完全なダンプまたは CDC フェーズの最大接続数を入力します。

  5. [保存] または [保存して再起動] をクリックします。

宛先の構成設定を調整する

移行先データベースのトランザクション タイムアウトと最大同時接続数をカスタマイズできます。

  1. Google Cloud コンソールで [移行ジョブ] ページに移動します。

    [移行ジョブ] に移動

  2. 変更する移行ジョブの表示名をクリックします。

    移行ジョブの概要ページが表示されます。

  3. [宛先構成をカスタマイズする] セクションを開き、次の設定を変更します。
    移行先の最大同時接続数

    デフォルト値: 128

    指定できる値: 最小 2、最大 256

    Database Migration Service が移行先インスタンスに確立できる最大同時接続数をカスタマイズできます。

    Database Migration Service は、指定された接続上限内で最適なパフォーマンスを確保するために接続数を調整します。最大接続上限を増やすと移行速度を向上させることができますが、移行先データベースに追加の負荷がかかります。

    トランザクションのタイムアウト

    デフォルト値: 30

    指定できる値: 最小 30、最大 300

    移行プロセス中に、Database Migration Service で特定の問題が発生し、トランザクションがタイムアウトすることがあります。Database Migration Service がトランザクションの完了を待機してからキャンセルするまでの秒数を調整できます。

    キャンセルされたトランザクションが原因で移行ジョブが失敗することはありません。移行ジョブはデータのコピーを続行しますが、ステータスは [Running with errors] に変わります。移行ジョブの詳細を表示して、対処が必要な問題を確認できます。

  4. [保存] または [保存して再起動] をクリックします。

移行ジョブをテストする

移行ジョブを実行する前に、テスト オペレーションを実行して、Database Migration Service が必要なすべての移行元エンティティと移行先エンティティに到達できるかどうかを確認できます。Google Cloud コンソールでは、移行ジョブ作成ウィザードで作成したドラフト移行ジョブのみをテストできます( 移行ジョブを作成するをご覧ください)。

gcloud CLI を使用すると、作成済みだがまだ開始されていない移行ジョブをテストできます。

後述のコマンドデータを使用する前に、次のように置き換えます。

  • MIGRATION_JOB_ID は、移行ジョブ ID に置き換えます。

    ID がわからない場合は、 gcloud database-migration migration-jobs list コマンドを使用して、特定のリージョン内のすべての移行ジョブを一覧表示し、ID を表示できます。

  • REGION は、接続プロファイルが保存されているリージョンの ID に置き換えます。

次のコマンドを実行します。

Linux、macOS、Cloud Shell

gcloud database-migration migration-jobs \
verify MIGRATION_JOB_ID \
  --region=REGION

Windows(PowerShell)

gcloud database-migration migration-jobs `
verify MIGRATION_JOB_ID `
  --region=REGION

Windows(cmd.exe)

gcloud database-migration migration-jobs ^
verify MIGRATION_JOB_ID ^
  --region=REGION

結果

アクションは非同期で実行されます。そのため、このコマンドは長時間実行オペレーションを表す オペレーション エンティティを返します。

done: false
metadata:
  '@type': type.googleapis.com/google.cloud.clouddms.v1.OperationMetadata
  apiVersion: v1
  createTime: '2024-02-20T12:20:24.493106418Z'
  requestedCancellation: false
  target: MIGRATION_JOB_ID
  verb: verify
name: OPERATION_ID
オペレーションが成功したかどうかを確認するには、返されたオペレーション オブジェクトをクエリするか、移行ジョブのステータスを確認します。