継続的な移行の場合、アプリケーションを宛先データベースにカットオーバーする準備が整ったら、プロモート プロセスを開始できます。 移行ジョブをプロモートすると、移行先の AlloyDB for PostgreSQL クラスタが移行元から切断され、独立したスタンドアロンのプライマリ クラスタに変換されます。これにより、アプリケーション トラフィックをクラスタに転送できます。
- 移行元データベースに対する書き込み、実行中のスクリプト、クライアント接続をすべて停止します。 この時点からカットオーバーのダウンタイム期間が始まります。
-
レプリケーション遅延指標がゼロまたはゼロに近くなるまで待ちます。これにより、移行ジョブでソースからの未処理の変更がすべて処理されます。
レプリケーションの遅延がゼロでない場合でも、移行をプロモートできます。これにより、データベースのカットオーバー時間を短縮できますが、宛先のデータの最新性に影響する可能性があります。
- プロモート アクションを実行します。
コンソール
- Google Cloud コンソールで、[移行ジョブ] ページに移動します。
- [ジョブ] タブで、プロモートする移行ジョブの表示名をクリックします。
移行ジョブの詳細ページが開きます。
- 移行ジョブのツールバーで、[プロモート] をクリックします。
[移行ジョブをプロモート] ダイアログが表示されます。
- ダイアログで、エラーが表示されていないことを確認し、[プロモート] をクリックします。
gcloud
後述のコマンドデータを使用する前に、次のように置き換えます。
- MIGRATION_JOB_ID は、移行ジョブ ID に置き換えます。
識別子がわからない場合は、
gcloud database-migration migration-jobs listコマンドを使用して、特定のリージョン内のすべての移行ジョブを一覧表示し、その識別子を確認できます。 - REGION は、移行ジョブが保存されているリージョンの ID に置き換えます。
次のコマンドを実行します。
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
結果
このアクションは非同期で実行されます。そのため、このコマンドは、長時間実行オペレーションを表す Operation エンティティを返します。
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: promote name: OPERATION_ID
オペレーションが成功したかどうかを確認するには、返されたオペレーション オブジェクトをクエリするか、移行ジョブのステータスを確認します。
-
gcloud database-migration migration-jobs describeコマンドと MIGRATION_JOB_ID を使用して、移行ジョブのステータスを表示します。 -
gcloud database-migration operations describeコマンドに OPERATION_ID を指定して、オペレーション自体のステータスを確認します。
-
移行先の AlloyDB for PostgreSQL クラスタがプロモートされます。宛先クラスタはソースから切断され、独立したスタンドアロンのプライマリ クラスタになり、アプリケーション トラフィック全体を処理できるようになります。
移行ジョブのステータスが
Completedに変わります。 - (省略可)拡張機能を再インストールする: ソース データベースで、Database Migration Service によって移行されない拡張機能(
pg_cronなど)を使用していた場合は、移行先クラスタにそれらの拡張機能を再インストールして構成します。 - これで、アプリケーションを AlloyDB for PostgreSQL クラスタに接続し、完了した移行ジョブを削除できます。