Panoramica
Database Migration Service utilizza i job di migrazione per eseguire la migrazione dei dati dall'istanza database di origine all'istanza database di destinazione. La creazione di un job di migrazione per un'istanza di destinazione esistente include:
- Definizione delle impostazioni per il job di migrazione
- Selezionare il profilo di connessione del database di origine
- Seleziona l'istanza di database di destinazione esistente
- Retrocessione dell'istanza esistente per convertirla in una replica di lettura
- Configurazione della connettività tra le istanze del database di origine e di destinazione
- Testare il job di migrazione per assicurarti che i dati di connessione forniti per il job siano validi
Esistono alcune limitazioni da tenere conto quando vuoi eseguire la migrazione a un'istanza di destinazione creata al di fuori di Database Migration Service. Per ulteriori informazioni, consulta Limitazioni note.
Crea un job di migrazione utilizzando la console Google Cloud
Definisci le impostazioni per il job di migrazione
Vai a Job di migrazione nella console Google Cloud .
Fai clic su Crea job di migrazione nella parte superiore della pagina.
Fornisci un nome per il job di migrazione. Scegli un nome facile da ricordare che ti aiuti a identificare il job di migrazione. Non includere informazioni sensibili o che consentono l'identificazione personale nel nome del job.
Mantieni l'ID job di migrazione generato automaticamente.
Seleziona il motore del database di origine.
Seleziona AlloyDB per PostgreSQL come motore di destinazione.
Seleziona la regione di destinazione per la migrazione. Questa regione deve essere uguale a quella in cui si trova il database di destinazione. Una volta scelta la regione di destinazione, questa selezione non può essere modificata.
Scegli Continuo (snapshot + modifiche in corso) come tipo di job di migrazione.
Nella sezione Prima di continuare, controlla i prerequisiti, fai clic su Apri per visualizzare le istruzioni generate automaticamente che possono aiutarti a preparare il database di origine per la migrazione. È preferibile completare questi prerequisiti in questo passaggio, ma puoi completarli in qualsiasi momento prima di testare o avviare il job di migrazione. Per ulteriori informazioni, consulta Configurare l'origine.
Fai clic su Salva e continua.
Specifica le informazioni sul profilo di connessione di origine
-
Se hai creato un profilo di connessione, selezionalo dall'elenco dei profili di connessione esistenti.
Se non hai creato un profilo di connessione, creane uno facendo clic su Crea un profilo di connessione nella parte inferiore dell'elenco a discesa, quindi segui gli stessi passaggi descritti in Creare un profilo di connessione di origine.
Ti consigliamo di creare un profilo di connessione designato per la migrazione di AlloyDB.
- Nella sezione Personalizza le configurazioni del dump dei dati,
fai clic su Mostra configurazioni del dump dei dati.
La velocità del parallelismo del dump dei dati è correlata alla quantità di carico sul database di origine. Puoi utilizzare le seguenti impostazioni:
- Ottimale (consigliato): prestazioni bilanciate con un carico ottimale sul database di origine.
- Massima: fornisce le velocità di dump più elevate, ma potrebbe causare un aumento del carico sul database di origine.
- Minimo: utilizza la quantità minima di risorse di calcolo sul database di origine, ma potrebbe avere una maggiore velocità in termini di throughput del dump.
Se vuoi utilizzare impostazioni di parallelismo del dump dei dati adeguate, assicurati di aumentare i parametri
max_replication_slots
,max_wal_senders
emax_worker_processes
nel database di origine. Puoi verificare la configurazione eseguendo il test del job di migrazione al termine della creazione del job di migrazione. - Fai clic su Salva e continua.
Seleziona l'istanza di destinazione
1. Nel menu Tipo di cluster di destinazione, seleziona Cluster esistente.Nella sezione Seleziona cluster di destinazione, seleziona il cluster di destinazione.
Esamina le informazioni sul cluster e fai clic su Seleziona e continua.
Per eseguire la migrazione a un database di destinazione esistente, Database Migration Service fa retrocedere l'istanza di destinazione e la converte in una replica. Per indicare che la retrocessione può essere eseguita in sicurezza, nella finestra di conferma inserisci l'identificatore dell'istanza di destinazione.
Fai clic su Conferma e continua.
Configurare la connettività tra le istanze del database di origine e di destinazione
Dal menu a discesa Metodo di connettività, seleziona un metodo di connettività di rete. Questo metodo definisce la modalità di collegamento del cluster AlloyDB appena creato al database di origine. I metodi di connettività di rete attuali includono lista consentita di IP, peering VPC, tunnel SSH inverso e proxy TCP tramite una VM ospitata nel cloud.
- Se selezioni il metodo di connettività di rete della lista consentita IP, devi specificare l'indirizzo IP in uscita dell'istanza di destinazione. Copia gli indirizzi IP in uscita sia per l'istanza principale che per quella secondaria e utilizzali per configurare il firewall di rete per il server di database di origine e nel file
pg_hba.conf
in modo che l'origine possa accettare connessioni da questi indirizzi. Se selezioni il metodo di connettività di rete del tunnel SSH inverso, seleziona l'istanza VM Compute Engine che ospiterà il tunnel.
Dopo aver specificato l'istanza, Google fornirà uno script che esegue i passaggi per configurare il tunnel tra i database di origine e di destinazione. Dovrai eseguire lo script in Google Cloud CLI.
Esegui i comandi da una macchina con connettività sia al database di origine sia a Google Cloud.
- Se selezioni il metodo di connettività di rete VPC peering, seleziona la rete VPC in cui si trova il database di origine. L'istanza Cloud SQL verrà aggiornata in modo da connettersi a questa rete.
Se selezioni il metodo di connettività del proxy TCP tramite VM ospitata nel cloud, inserisci i dettagli richiesti per la nuova istanza VM di Compute Engine che ospiterà il proxy TCP.
Dopo aver specificato i dettagli, la console Google Cloud fornirà uno script che esegue i passaggi per configurare il proxy tra i database di origine e di destinazione. Devi eseguire lo script su una macchina con Google Cloud CLI aggiornato.
Dopo l'esecuzione dello script, verrà visualizzato l'IP privato della VM appena creata. Inserisci l'IP e fai clic su Configura e continua.
- Scopri di più su come configurare la connettività.
Dopo aver selezionato il metodo di connettività di rete e fornito eventuali informazioni aggiuntive, fai clic su CONFIGURA E CONTINUA.
Testa e crea il job di migrazione
In questo passaggio finale, esamina il riepilogo delle impostazioni, dell'origine, della destinazione e del metodo di connettività del job di migrazione, quindi verifica la validità della configurazione del job di migrazione. In caso di problemi, puoi modificare le impostazioni del job di migrazione. Non tutte le impostazioni sono modificabili.
Fai clic su TEST JOB per verificare che:
- Il database di origine è stato configurato correttamente, in base ai prerequisiti.
- Le istanze di origine e di destinazione possono comunicare tra loro.
- Eventuali aggiornamenti agli indirizzi IP privati necessari sulla destinazione sono stati eseguiti.
- Il job di migrazione è valido e le versioni di origine e di destinazione sono compatibili.
Se il test non va a buon fine, puoi risolvere il problema nella parte appropriata del flusso e riprovare.
Il job di migrazione può essere creato anche se il test non va a buon fine, ma dopo l'avvio del job potrebbe non riuscire in un determinato momento durante l'esecuzione.
Fai clic su CREA E AVVIA JOB per creare il job di migrazione e avviarlo immediatamente oppure fai clic su CREA JOB per creare il job di migrazione senza avviarlo immediatamente.
Se il job non viene avviato al momento della creazione, puoi avviarlo dalla pagina Job di migrazione facendo clic su AVVIA.
Indipendentemente dal momento in cui viene avviato il job di migrazione, alla tua organizzazione viene addebitato il costo dell'esistenza dell'istanza di destinazione.
Quando avvii il job di migrazione, Database Migration Service inizia il dump completo bloccando brevemente il database di origine. Se l'origine si trova in Amazon RDS o Amazon Aurora, Database Migration Service richiede inoltre un breve tempo di inattività in scrittura (circa meno di un minuto) all'inizio della migrazione. Per ulteriori informazioni, consulta Considerazioni sul parallelismo dei dump di dati.
Il job di migrazione viene aggiunto all'elenco dei job di migrazione e può essere visualizzato direttamente.
Vai a Rivedi il job di migrazione.
Creare un job di migrazione utilizzando Google Cloud CLI
Quando esegui la migrazione a un'istanza esistente utilizzando Google Cloud CLI, devi creare manualmente il profilo di connessione per l'istanza di destinazione. Questo non è necessario quando utilizzi la console Google Cloud , poiché Database Migration Service si occupa di creare e rimuovere il profilo di connessione di destinazione per te.
Prima di iniziare
Prima di utilizzare gcloud CLI per creare un job di migrazione in un'istanza di database di destinazione esistente, assicurati di:
- Crea l'istanza del database di destinazione.
- Prepara l'istanza del database di origine. Consulta:
- Configurare l'origine
- Crea il profilo di connessione di origine (l'identificatore del profilo di connessione di origine è necessario per creare un job di migrazione).
- Configurare la connettività
Crea il profilo di connessione di destinazione
Crea il profilo di connessione di destinazione per l'istanza di destinazione esistente
eseguendo il comando
gcloud database-migration connection-profiles create
:
Questo esempio utilizza il flag facoltativo --no-async
in modo che tutte le operazioni vengano eseguite in modo sincrono. Ciò significa che il completamento di alcuni comandi potrebbe richiedere un po' di tempo. Puoi saltare il flag --no-async
per eseguire i comandi in modo asincrono.
In questo caso, devi utilizzare il comando
gcloud database-migration operations describe
per verificare se l'operazione è riuscita.
Prima di utilizzare i dati dei comandi riportati di seguito, apporta le seguenti sostituzioni:
- CONNECTION_PROFILE_ID con un identificatore leggibile dalla macchina per il profilo di connessione.
- REGION con l'identificatore della regione in cui vuoi salvare il profilo di connessione.
- DESTINATION_INSTANCE_ID con l'identificatore dell'istanza di destinazione.
- (Facoltativo) CONNECTION_PROFILE_NAME con un nome leggibile per il profilo di connessione. Questo valore viene visualizzato nella console Google Cloud .
Esegui il seguente comando:
Linux, macOS o Cloud Shell
gcloud database-migration connection-profiles \ create postgresql CONNECTION_PROFILE_ID \ --no-async \ --alloydb-cluster=DESTINATION_INSTANCE_ID \ --region=REGION \ --display-name=CONNECTION_PROFILE_NAME
Windows (PowerShell)
gcloud database-migration connection-profiles ` create postgresql CONNECTION_PROFILE_ID ` --no-async ` --alloydb-cluster=DESTINATION_INSTANCE_ID ` --region=REGION ` --display-name=CONNECTION_PROFILE_NAME
Windows (cmd.exe)
gcloud database-migration connection-profiles ^ create postgresql CONNECTION_PROFILE_ID ^ --no-async ^ --alloydb-cluster=DESTINATION_INSTANCE_ID ^ --region=REGION ^ --display-name=CONNECTION_PROFILE_NAME
Dovresti ricevere una risposta simile alla seguente:
Waiting for connection profile [CONNECTION_PROFILE_ID] to be created with [OPERATION_ID] Waiting for operation [OPERATION_ID] to complete...done. Created connection profile CONNECTION_PROFILE_ID [OPERATION_ID]
Crea il job di migrazione
Questo esempio utilizza il flag facoltativo --no-async
in modo che tutte le operazioni vengano eseguite in modo sincrono. Ciò significa che il completamento di alcuni comandi potrebbe richiedere un po' di tempo. Puoi saltare il flag --no-async
per eseguire i comandi in modo asincrono.
In questo caso, devi utilizzare il comando
gcloud database-migration operations describe
per verificare se l'operazione è riuscita.
Prima di utilizzare i dati dei comandi riportati di seguito, apporta le seguenti sostituzioni:
- MIGRATION_JOB_ID con un identificatore leggibile dalla macchina per il tuo job di migrazione. Utilizza questo valore per lavorare con i job di migrazione utilizzando i comandi o l'API Google Cloud CLI di Database Migration Service.
- REGION con l'identificatore della regione in cui vuoi salvare il job di migrazione.
- MIGRATION_JOB_NAME con un nome leggibile per il job di migrazione. Questo valore viene visualizzato in Database Migration Service nella console Google Cloud .
- SOURCE_CONNECTION_PROFILE_ID con un identificatore leggibile dalla macchina del profilo di connessione di origine.
- DESTINATION_CONNECTION_PROFILE_ID con un identificatore leggibile dalla macchina del profilo di connessione di destinazione.
Esegui il seguente comando:
Linux, macOS o 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 \ --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 ` --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 ^ --type=CONTINUOUS ^
Dovresti ricevere una risposta simile alla seguente:
Waiting for migration job [MIGRATION_JOB_ID] to be created with [OPERATION_ID] Waiting for operation [OPERATION_ID] to complete...done. Created migration job MIGRATION_JOB_ID [OPERATION_ID]
Demote il database di destinazione
Database Migration Service richiede che l'istanza del database di destinazione funzioni come replica di lettura per il momento della migrazione. Prima di avviare il
job di migrazione, esegui il
gcloud database-migration migration-jobs demote-destination
comando per declassare l'istanza del database di destinazione.
Prima di utilizzare i dati dei comandi riportati di seguito, apporta le seguenti sostituzioni:
- MIGRATION_JOB_ID con
l'identificatore del job di migrazione.
Se non conosci l'identificatore, puoi utilizzare il comando
gcloud database-migration migration-jobs list
per elencare tutti i job di migrazione in una determinata regione e visualizzarne gli identificatori. - REGION con l'identificatore della regione in cui è salvato il profilo di connessione.
Esegui il seguente comando:
Linux, macOS o Cloud Shell
gcloud database-migration migration-jobs \ demote-destination MIGRATION_JOB_ID \ --region=REGION
Windows (PowerShell)
gcloud database-migration migration-jobs ` demote-destination MIGRATION_JOB_ID ` --region=REGION
Windows (cmd.exe)
gcloud database-migration migration-jobs ^ demote-destination MIGRATION_JOB_ID ^ --region=REGION
Risultato
L'azione viene eseguita in modo asincrono. Di conseguenza, questo comando restituisce un' entità Operation che rappresenta un'operazione a lunga esecuzione:
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: demote-destination name: OPERATION_ID
Per verificare se l'operazione è riuscita, puoi eseguire una query sull'oggetto operazione restituito o controllare lo stato del job di migrazione:
- Utilizza il comando
gcloud database-migration migration-jobs describe
per visualizzare lo stato del job di migrazione. - Utilizza
gcloud database-migration operations describe
con OPERATION_ID per visualizzare lo stato dell'operazione stessa.
Gestione dei job di migrazione
A questo punto, il job di migrazione è configurato e connesso all'istanza del database di destinazione. Puoi gestirlo utilizzando le
operazioni verify
,start
, stop
, restart
e resume
.
Verifica il job di migrazione
Ti consigliamo di verificare prima il job di migrazione, eseguendo il comando
gcloud database-migration migration-jobs verify
.
Prima di utilizzare i dati dei comandi riportati di seguito, apporta le seguenti sostituzioni:
- MIGRATION_JOB_ID con
l'identificatore del job di migrazione.
Se non conosci l'identificatore, puoi utilizzare il comando
gcloud database-migration migration-jobs list
per elencare tutti i job di migrazione in una determinata regione e visualizzarne gli identificatori. - REGION con l'identificatore della regione in cui è salvato il profilo di connessione.
Esegui il seguente comando:
Linux, macOS o 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
Risultato
L'azione viene eseguita in modo asincrono. Di conseguenza, questo comando restituisce un' entità Operation che rappresenta un'operazione a lunga esecuzione:
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
Per verificare se l'operazione è riuscita, puoi eseguire una query sull'oggetto operazione restituito o controllare lo stato del job di migrazione:
- Utilizza il comando
gcloud database-migration migration-jobs describe
con MIGRATION_JOB_ID per visualizzare lo stato del job di migrazione. - Utilizza il comando
gcloud database-migration operations describe
con OPERATION_ID per visualizzare lo stato dell'operazione stessa.
Avvia il job di migrazione
Avvia il job di migrazione eseguendo il comando
gcloud database-migration migration-jobs start
.
Prima di utilizzare i dati dei comandi riportati di seguito, apporta le seguenti sostituzioni:
- MIGRATION_JOB_ID con
l'identificatore del job di migrazione.
Se non conosci l'identificatore, puoi utilizzare il comando
gcloud database-migration migration-jobs list
per elencare tutti i job di migrazione in una determinata regione e visualizzarne gli identificatori. - REGION con l'identificatore della regione in cui è salvato il profilo di connessione.
Esegui il seguente comando:
Linux, macOS o 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
Risultato
L'azione viene eseguita in modo asincrono. Di conseguenza, questo comando restituisce un' entità Operation che rappresenta un'operazione a lunga esecuzione:
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
Per verificare se l'operazione è riuscita, puoi eseguire una query sull'oggetto operazione restituito o controllare lo stato del job di migrazione:
- Utilizza il comando
gcloud database-migration migration-jobs describe
con MIGRATION_JOB_ID per visualizzare lo stato del job di migrazione. - Utilizza il comando
gcloud database-migration operations describe
con OPERATION_ID per visualizzare lo stato dell'operazione stessa.
Promuovi il job di migrazione
Una volta raggiunta la fase di Change Data Capture (CDC),
puoi promuovere l'istanza del database di destinazione da una replica di lettura a un'istanza autonoma.
Esegui il comando gcloud database-migration migration-jobs promote
:
Prima di utilizzare i dati dei comandi riportati di seguito, apporta le seguenti sostituzioni:
- MIGRATION_JOB_ID con
l'identificatore del job di migrazione.
Se non conosci l'identificatore, puoi utilizzare il comando
gcloud database-migration migration-jobs list
per elencare tutti i job di migrazione in una determinata regione e visualizzarne gli identificatori. - REGION con l'identificatore della regione in cui è salvato il profilo di connessione.
Esegui il seguente comando:
Linux, macOS o 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
Risultato
L'azione viene eseguita in modo asincrono. Di conseguenza, questo comando restituisce un' entità Operation che rappresenta un'operazione a lunga esecuzione:
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
- Utilizza il comando
gcloud database-migration migration-jobs describe
con MIGRATION_JOB_ID per visualizzare lo stato del job di migrazione. - Utilizza il comando
gcloud database-migration operations describe
con OPERATION_ID per visualizzare lo stato dell'operazione stessa.