移行ジョブの管理

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

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

アクション 説明
開始 実行中または開始中の状態ではない移行ジョブを開始します。 移行ジョブのステータスをご覧ください。
停止 実行中の移行ジョブを停止します。データの移動が一時停止します。 移行ジョブのステータスは、最初に Stopping に変わり、その後 Stopped に変わります。停止した移行ジョブは、再開、削除、 昇格できます。
再開 増分読み込み中に移行ジョブを停止した場合は、後で再開できます。移行ジョブを再開すると、Database Migration Service は、移行ジョブの停止時に蓄積されたすべてのトランザクション ログ ファイルを取得します。
再起動する エラーが発生してデータ レプリケーションを続行できない移行ジョブは再起動できます。移行ジョブの再起動の結果は、失敗した理由によって異なります。
  • エラーから復元できない失敗した移行ジョブは、完全バックアップ ファイルの初期読み込みを含む移行プロセス全体を再試行します。
  • 1 つ以上のソース データベースまたは移行先データベースでエラーが発生したためにレプリケーションが失敗した場合、移行を再開すると、移行先データベースからすべてのデータが消去されます。
  • 移行を開始した後に別のデータベースの新しいフォルダを作成し、 移行用に選択したデータベースに追加すると、移行を再開すると、新しいデータベースも移行先インスタンスに複製されます。
削除 移行ジョブは削除できます。結果はジョブのステータスによって異なります。
  • 移行ジョブのステータスが Completed の場合、レコードは移行ジョブリストから削除されます。
  • 移行ジョブのステータスが他のステータスの場合は、移行先の Cloud SQL インスタンス/プライマリ ペアを削除するオプションがあります。
宣伝 移行プロセス中、移行先データベースは読み取り専用状態になり、Database Migration Service によって完全に管理されます。移行された移行先データベースにアプリケーションを切り替える場合は、移行ジョブを昇格すると、移行先データベースがスタンドアロン レプリカに更新されます。
移行プロセス中、移行先の Cloud SQL for SQL Server データベースは復元モードになり、Database Migration Service によって完全に管理されます。移行ジョブを昇格させるまで、移行先データベースに対して読み取りオペレーションや書き込みオペレーションを実行することはできません。 移行をプロモートするをご覧ください。

移行ジョブを開始する

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

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

コンソール

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

    [移行ジョブ] に移動

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

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

  3. [Start] をクリックします。
  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
オペレーションが成功したかどうかを確認するには、返されたオペレーション オブジェクトをクエリするか、移行ジョブのステータスを確認します。

移行ジョブを停止する

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

コンソール

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

    [移行ジョブ] に移動

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

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

  3. [Stop] をクリックします。
  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
オペレーションが成功したかどうかを確認するには、返されたオペレーション オブジェクトをクエリするか、移行ジョブのステータスを確認します。

移行ジョブを再開する

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

コンソール

  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
オペレーションが成功したかどうかを確認するには、返されたオペレーション オブジェクトをクエリするか、移行ジョブのステータスを確認します。

移行ジョブを再起動する

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

コンソール

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

    [移行ジョブ] に移動

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

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

  3. [Restart] をクリックします。
  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 \
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. 移行ジョブの作成を完了します。 移行ジョブを作成するをご覧ください。

gcloud

このサンプルでは、オプションの --no-async フラグを使用して、すべてのオペレーションが同期的に実行されます。そのため、一部のコマンドは完了するまでに時間がかかることがあります。--no-async フラグをスキップして、コマンドを非同期で実行できます。その場合は、 gcloud database-migration operations describe コマンドを使用して、オペレーションが成功したかどうかを確認する必要があります。

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

  • MIGRATION_JOB_ID は、移行ジョブの機械読み取り可能な識別子に置き換えます。
  • REGION は、接続プロファイルを保存するリージョン ID に置き換えます。
  • MIGRATION_JOB_NAME は、移行ジョブのわかりやすい名前に置き換えます。この値は、 Google Cloud コンソールの Database Migration Service に表示されます。
  • SOURCE_CONNECTION_PROFILE_ID は、ソース接続プロファイルの機械読み取り可能な識別子に置き換えます。
  • DESTINATION_CONNECTION_PROFILE_ID は、移行先接続プロファイルの機械読み取り可能な ID に置き換えます。
  • 差分バックアップの構成: 移行ジョブが Cloud Storage バケットの差分バックアップ ファイルを使用できるかどうかを構成できます。次のいずれかのフラグをコマンドに追加します。
    • --sqlserver-diff-backup: 移行用の差分バックアップ ファイルを有効にします。
    • --no-sqlserver-diff-backup: 移行用の差分バックアップ ファイルを無効にします。

    サポートされているバックアップ ファイルの詳細については、 サポートされているバックアップ ファイルの種類をご覧ください。

  • COMMA_SEPARATED_DATABASE_ID_LIST は、バックアップ ファイルから移行する SQL Server のデータベース識別子のカンマ区切りリストに置き換えます。

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

Linux、macOS、Cloud Shell

gcloud database-migration migration-jobs \
create MIGRATION_JOB_ID \
  --no-async \
  --region=REGION \
  --display-name=MIGRATION_JOB_NAME \
  --source=SOURCE_CONNECTION_PROFILE_ID \
  --destination=DESTINATION_CONNECTION_PROFILE_ID \
  --sqlserver-databases=COMMA_SEPARATED_DATABASE_ID_LIST \
  --type=CONTINUOUS]

Windows(PowerShell)

gcloud database-migration migration-jobs `
create MIGRATION_JOB_ID `
  --no-async `
  --region=REGION `
  --display-name=MIGRATION_JOB_NAME `
  --source=SOURCE_CONNECTION_PROFILE_ID `
  --destination=DESTINATION_CONNECTION_PROFILE_ID `
  --sqlserver-databases=COMMA_SEPARATED_DATABASE_ID_LIST `
  --type=CONTINUOUS]

Windows(cmd.exe)

gcloud database-migration migration-jobs ^
create MIGRATION_JOB_ID ^
  --no-async ^
  --region=REGION ^
  --display-name=MIGRATION_JOB_NAME ^
  --source=SOURCE_CONNECTION_PROFILE_ID ^
  --destination=DESTINATION_CONNECTION_PROFILE_ID ^
  --sqlserver-databases=COMMA_SEPARATED_DATABASE_ID_LIST ^
  --type=CONTINUOUS]

次のようなレスポンスが返されます。

Waiting for migration job [MIGRATION_JOB_ID]
to be updated with [OPERATION_ID]

Waiting for operation [OPERATION_ID] to complete...done.

Updated migration job MIGRATION_JOB_ID [OPERATION_ID]

移行ジョブにデータベースを追加する

移行ジョブに新しいデータベースを追加するには、まず Cloud Storage バケットに新しい専用フォルダを作成し、そこにバックアップ ファイルをアップロードする必要があります。 Cloud Storage バケットを構成するをご覧ください。

必要なバックアップ ファイルが Cloud Storage バケットにある場合は、次の操作を行います。

コンソール

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

    [移行ジョブ] に移動

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

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

  3. [編集] をクリックします。
  4. [移行するデータベースを選択] セクションで、チェックボックスを使用して、移行ジョブに追加する新しいデータベースを選択します。
  5. (省略可)暗号化されたバックアップを使用する場合は、バックアップの暗号鍵を指定します。暗号化されたバックアップの使用の詳細については、 暗号化されたバックアップを使用するをご覧ください。

    次の操作を行ってください:

    • 移行に選択したデータベースの横にある [詳細を編集] をクリックします。

      [暗号化] サイドパネルが開きます。

    • [暗号鍵] プルダウン メニューを使用して鍵を選択します。
    • [Password] フィールドに暗号鍵のパスワードを入力します。
    • [Save and exit] をクリックします。

gcloud

このサンプルでは、オプションの --no-async フラグを使用して、すべてのオペレーションが同期的に実行されます。そのため、一部のコマンドは完了するまでに時間がかかることがあります。--no-async フラグをスキップして、コマンドを非同期で実行できます。その場合は、 gcloud database-migration operations describe コマンドを使用して、オペレーションが成功したかどうかを確認する必要があります。

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

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

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

  • REGION は、接続プロファイルが保存されているリージョンの ID に置き換えます。
  • COMMA_SEPARATED_DATABASE_ID_LIST は、バックアップ ファイルから移行する SQL Server のデータベース識別子のカンマ区切りリストに置き換えます。これらの ID は、 Cloud Storage のデータベース フォルダ名と同じにする必要があります。

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

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

Linux、macOS、Cloud Shell

gcloud database-migration migration-jobs \
update MIGRATION_JOB_ID \
  --region=REGION \
  --sqlserver-databases=COMMA_SEPARATED_DATABASE_ID_LIST

Windows(PowerShell)

gcloud database-migration migration-jobs `
update MIGRATION_JOB_ID `
  --region=REGION `
  --sqlserver-databases=COMMA_SEPARATED_DATABASE_ID_LIST

Windows(cmd.exe)

gcloud database-migration migration-jobs ^
update MIGRATION_JOB_ID ^
  --region=REGION ^
  --sqlserver-databases=COMMA_SEPARATED_DATABASE_ID_LIST

次のようなレスポンスが返されます。

Waiting for migration job [MIGRATION_JOB_ID]
to be updated with [OPERATION_ID]

Waiting for operation [OPERATION_ID] to complete...done.

Updated migration job MIGRATION_JOB_ID [OPERATION_ID]

移行ジョブを編集する

ドラフト以外の移行ジョブの場合は、Google Cloud CLI を使用して表示名を変更できます。

このサンプルでは、オプションの --no-async フラグを使用して、すべてのオペレーションが同期的に実行されます。そのため、一部のコマンドは完了するまでに時間がかかることがあります。--no-async フラグをスキップして、コマンドを非同期で実行できます。その場合は、 gcloud database-migration operations describe コマンドを使用して、オペレーションが成功したかどうかを確認する必要があります。

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

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

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

  • REGION は、接続プロファイルが保存されているリージョンの ID に置き換えます。
  • MIGRATION_JOB_NAME は、移行ジョブのわかりやすい名前に置き換えます。この値は、 Google Cloud コンソールの Database Migration Service に表示されます。

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

Linux、macOS、Cloud Shell

gcloud database-migration migration-jobs \
update MIGRATION_JOB_ID \
  --region=REGION \
  --display-name=MIGRATION_JOB_NAME 

Windows(PowerShell)

gcloud database-migration migration-jobs `
update MIGRATION_JOB_ID `
  --region=REGION `
  --display-name=MIGRATION_JOB_NAME 

Windows(cmd.exe)

gcloud database-migration migration-jobs ^
update MIGRATION_JOB_ID ^
  --region=REGION ^
  --display-name=MIGRATION_JOB_NAME 

次のようなレスポンスが返されます。

Waiting for migration job [MIGRATION_JOB_ID]
to be updated with [OPERATION_ID]

Waiting for operation [OPERATION_ID] to complete...done.

Updated migration job MIGRATION_JOB_ID [OPERATION_ID]

移行ジョブをテストする

移行ジョブを実行する前に、テスト オペレーションを実行して、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
オペレーションが成功したかどうかを確認するには、返されたオペレーション オブジェクトをクエリするか、移行ジョブのステータスを確認します。