移行ジョブを昇格させる

継続的な移行では、読み取りと書き込みを移行先データベースに移動するタイミングになったら、昇格プロセスを開始できます。昇格とは、移行された Cloud SQL データベースにすべての読み取りオペレーションと書き込みオペレーションでアクセスできるようになることを意味します。

移行ジョブを昇格させるか、移行ジョブから選択したデータベースを昇格させることができます。

  1. プロモーションを開始します。データの損失を回避するため、移行元データベースへのすべての書き込み、実行中のスクリプト、クライアント接続を停止してください。休息時間の開始時間
  2. トランザクション ログ ファイルから使用可能なすべてのデータが Cloud SQL for SQL Server の宛先インスタンスに複製されていることを確認します。

    この結果を実現するには、次のいずれかの操作を行います。

  3. 昇格アクションを実行します。

    Console

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

      [移行ジョブ] に移動

    2. [ジョブ] タブで、昇格する移行ジョブの表示名をクリックします。
    3. 移行ジョブの詳細ページが開きます。

    4. 次のいずれかの昇格アクションを行います。
      • 移行に含まれるすべてのデータベースを昇格させる場合は、移行ジョブのツールバーで [昇格] をクリックします。

        移行ジョブの昇格ダイアログが表示されます。

      • 特定のデータベースのみを昇格させる場合は、データベース名の横にあるチェックボックスを使用して選択し、[データベース] タブで [昇格] をクリックします。

        昇格するデータベースの数が表示されたダイアログが表示されます。

    5. ダイアログでエラーが表示されていないことを確認してから、[Promote] をクリックします。

    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 \
    promote MIGRATION_JOB_ID \
      --region=REGION

    Windows(PowerShell)

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

    Windows(cmd.exe)

    gcloud database-migration migration-jobs ^
    promote 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
    
    オペレーションが成功したかどうかを確認するには、返されたオペレーション オブジェクトをクエリするか、移行ジョブのステータスを確認します。
  4. 選択した移行先インスタンスまたはデータベースが昇格され、移行されたデータベースにすべての読み取り / 書き込みオペレーションでアクセスできるようになります。移行ジョブのステータスが Completed に変わります。
  5. これで、アプリケーションを Cloud SQL インスタンスに接続し、移行ジョブを安全に削除できます。