継続的な移行では、読み取りと書き込みを移行先データベースに移動するタイミングになったら、昇格プロセスを開始できます。昇格とは、移行された Cloud SQL データベースにすべての読み取りオペレーションと書き込みオペレーションでアクセスできるようになることを意味します。
移行ジョブを昇格させるか、移行ジョブから選択したデータベースを昇格させることができます。
- プロモーションを開始します。データの損失を回避するため、移行元データベースへのすべての書き込み、実行中のスクリプト、クライアント接続を停止してください。休息時間の開始時間
- トランザクション ログ ファイルから使用可能なすべてのデータが Cloud SQL for SQL Server の宛先インスタンスに複製されていることを確認します。
この結果を実現するには、次のいずれかの操作を行います。
- 自動バックアップ ファイルのアップロードを停止するか、最後のトランザクション ログ ファイルをアップロードします。 未処理のトランザクション ログ バックアップのサイズをモニタリングして、Database Migration Service がそのファイルの処理を完了したタイミングを特定します。
- 必要に応じて、名前が
.trn.final
接尾辞で終わるトランザクション ログファイルをアップロードできます。Database Migration Service は、名前が.trn.final
接尾辞の規則に一致するバックアップ ファイルを検出すると、継続的な読み込みを停止します。Database Migration Service がそのファイルの処理を完了すると、移行ジョブのステータスは Ready to promote に変わります。
- 昇格アクションを実行します。
Console
- Google Cloud コンソールで、[移行ジョブ] ページに移動します。
- [ジョブ] タブで、昇格する移行ジョブの表示名をクリックします。
- 次のいずれかの昇格アクションを行います。
移行に含まれるすべてのデータベースを昇格させる場合は、移行ジョブのツールバーで [昇格] をクリックします。
移行ジョブの昇格ダイアログが表示されます。
特定のデータベースのみを昇格させる場合は、データベース名の横にあるチェックボックスを使用して選択し、[データベース] タブで [昇格] をクリックします。
昇格するデータベースの数が表示されたダイアログが表示されます。
- ダイアログでエラーが表示されていないことを確認してから、[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
-
gcloud database-migration migration-jobs describe
コマンドを使用して、移行ジョブのステータスを表示します。 - OPERATION_ID で
gcloud database-migration operations describe
を使用して、オペレーション自体のステータスを確認します。
- 選択した移行先インスタンスまたはデータベースが昇格され、移行されたデータベースにすべての読み取り / 書き込みオペレーションでアクセスできるようになります。移行ジョブのステータスが
Completed
に変わります。 - これで、アプリケーションを Cloud SQL インスタンスに接続し、移行ジョブを安全に削除できます。