Esegui la migrazione a un cluster di destinazione esistente

Questa pagina descrive come eseguire la migrazione dei database in un cluster AlloyDB per PostgreSQL preesistente creato direttamente in AlloyDB per PostgreSQL.

Questo percorso è utile per gli scenari in cui il cluster di destinazione è gestito da un team diverso o se devi creare il cluster al di fuori di Database Migration Service per configurare flag personalizzati specifici, intervalli IP preallocati o topologie di rete VPC complesse. Se la tua migrazione ha requisiti diversi, valuta la possibilità di seguire un flusso di migrazione diverso. Per saperne di più, consulta Inizia a eseguire le migrazioni da PostgreSQL ad AlloyDB per PostgreSQL.

In linea generale, la migrazione continua prevede i seguenti passaggi:

  1. Configura il database di origine per consentire a Database Migration Service di replicare i dati.
  2. Configura la connettività di rete tra il database di origine e Google Cloud.
  3. Prepara e configura il cluster AlloyDB per PostgreSQL di destinazione esistente.
  4. Crea il profilo di connessione di origine e il job di migrazione continua.
  5. Avvia e monitora il job di migrazione continuo.
  6. Promuovi il job di migrazione e sposta la tua applicazione per utilizzare i nuovi database.

Costi

In questo documento vengono utilizzati i seguenti componenti fatturabili diGoogle Cloud:

Per generare una stima dei costi in base all'utilizzo previsto, utilizza il Calcolatore prezzi.

Prima di iniziare

  1. Verifica se questo percorso di migrazione può supportare completamente il tuo scenario. Consulta le seguenti pagine:
    • Origini e destinazioni supportate nella pagina Panoramica dello scenario elenca tutte le versioni di origine e destinazione supportate.
    • Limitazioni note descrive i limiti operativi, i tipi di dati supportati e i limiti di prestazioni. Database Migration Service per AlloyDB per PostgreSQL supporta le migrazioni continue.
  2. Valuta in quale regione vuoi creare il cluster di destinazione. Database Migration Service è un prodotto completamente regionale, il che significa che tutte le entità correlate alla migrazione (profili di connessione di origine, job di migrazione e cluster di destinazione) devono risiedere in un'unica regione Google Cloud .
  3. Nella console Google Cloud , nella pagina di selezione del progetto, seleziona o crea un progetto Google Cloud .

    Vai al selettore di progetti

  4. Abilita le API Database Migration Service, AlloyDB per PostgreSQL e Compute Engine.

    Abilita le API

Ruoli obbligatori

Per ottenere le autorizzazioni necessarie per eseguire migrazioni PostgreSQL omogenee ad AlloyDB per PostgreSQL con Database Migration Service, chiedi all'amministratore di concederti i ruoli IAM richiesti nel progetto:

Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso nella documentazione di Identity and Access Management.

Questi ruoli predefiniti contengono le autorizzazioni necessarie per eseguire migrazioni PostgreSQL omogenee con Database Migration Service. Per vedere quali sono esattamente le autorizzazioni richieste, espandi la sezione Autorizzazioni obbligatorie:

Autorizzazioni obbligatorie

Per eseguire migrazioni PostgreSQL omogenee a un cluster AlloyDB per PostgreSQL esistente con Database Migration Service, sono necessarie le seguenti autorizzazioni:

  • datamigration.*
  • alloydb.clusters.get
  • alloydb.clusters.list
  • alloydb.clusters.update
  • alloydb.instances.get
  • alloydb.instances.list
  • alloydb.instances.update
  • alloydb.operations.get
  • alloydb.users.list
  • alloydb.users.get
  • alloydb.users.create
  • alloydb.users.update

Potresti anche ottenere queste autorizzazioni con ruoli personalizzati o altri ruoli predefiniti.

Prepara il database di origine

Per preparare il database di origine per la migrazione, segui questi passaggi:

  1. Scegli e configura il metodo di connettività di rete di origine.
  2. Configura l'istanza del database di origine. In linea generale, questo include i seguenti passaggi:
    1. Installa l'estensione PostgreSQL pglogical (versione 2.2.1 o successive) sul database di origine e su tutti i database di cui eseguire la migrazione.
    2. Configura i parametri PostgreSQL: imposta wal_level = logical e assicurati che i valori di max_replication_slots, max_wal_senders e max_worker_processes siano adeguati.
    3. Concedi i privilegi di replica all'utente della migrazione e configura pg_hba.conf per consentire le connessioni in entrata dal cluster AlloyDB per PostgreSQL di destinazione.

    Per istruzioni dettagliate, consulta Configura il database di origine.

  3. Crea il profilo di connessione di origine.

Prepara e configura il cluster di destinazione

Quando esegui la migrazione a un cluster AlloyDB per PostgreSQL esistente (ad esempio un cluster di cui è stato eseguito il pre-provisioning da un altro team o gestito con Terraform), assicurati che il cluster soddisfi tutti i prerequisiti di Database Migration Service prima di creare il job di migrazione:

  1. Idoneità del cluster e stato dei dati:
    • Il cluster di destinazione deve essere nello stato RUNNABLE e deve avere un'istanza principale attiva.
    • Il cluster deve risiedere nella stessa regione Google Cloud del job di migrazione e dei profili di connessione.
    • Il cluster può essere associato a un solo job di migrazione attivo alla volta.
    • Il cluster di destinazione deve contenere solo i database di sistema predefiniti (postgres, template0, template1) senza tabelle utente.
  2. Configurazione dei flag di database: attiva il flag alloydb.enable_pglogical sul cluster AlloyDB per PostgreSQL di destinazione. Questo flag è obbligatorio per la decodifica e l'importazione della replica logica. Per istruzioni sull'aggiornamento dei flag, consulta Configura i flag di database nella documentazione di AlloyDB per PostgreSQL.
  3. Autorizzazioni e credenziali utente del database: assicurati che l'account utente amministrativo postgres (o un account di migrazione dedicato a cui è stato concesso il ruolo alloydbsuperuser) esista nel cluster di destinazione. Database Migration Service si connette alla destinazione con diritti amministrativi per gestire i sottoscrittori della replica e sincronizzare gli schemi.
  4. Requisiti di connettività di rete: verifica che il networking del cluster di destinazione sia configurato correttamente per comunicare con il database di origine in base al metodo di connettività scelto:
    • Private Service Connect: se il cluster di destinazione è abilitato per Private Service Connect, verifica che sia configurato con i collegamenti di rete Private Service Connect e il routing appropriati per raggiungere la rete di origine. Per saperne di più, consulta Configura Private Service Connect nella documentazione di AlloyDB per PostgreSQL.
    • Peering Virtual Private Cloud (accesso privato ai servizi/IP privato): il cluster di destinazione deve avere l'accesso privato ai servizi configurato sulla rete Virtual Private Cloud che esegue il peering o il routing al database di origine (ad esempio con Cloud VPN o Cloud Interconnect). Per saperne di più, consulta Configura l'accesso privato ai servizi nella documentazione di AlloyDB per PostgreSQL.
    • Lista consentita di IP pubblici: se il database di origine è accessibile tramite internet pubblico, assicurati che il firewall di origine consenta le connessioni in entrata dall'indirizzo IP in uscita dell'istanza principale AlloyDB per PostgreSQL di destinazione.
    • Tunnel SSH inverso o VM proxy TCP: se il database di origine si trova al di fuori di Google Cloud senza peering privato diretto, assicurati che il deployment della VM Compute Engine intermedia (bastion host o proxy TCP) venga eseguito in una subnet raggiungibile dalla rete Virtual Private Cloud del cluster di destinazione. Per maggiori dettagli, consulta Metodi di networking.
  5. Avviso di retrocessione dell'istanza principale e di blocco della scrittura:
    • Database Migration Service retrocede l'istanza principale di destinazione esistente in modo che funzioni come sottoscrittore di replica esterno durante il processo di migrazione. Devi confermare questa retrocessione quando configuri il job di migrazione nella console Google Cloud inserendo l'ID del cluster di destinazione.
    • La retrocessione dell'istanza principale non imposta i database in modalità di sola lettura, ma devi evitare operazioni di scrittura su tabelle o database che partecipano alla migrazione per evitare conflitti di replica e deviazione dei dati. Per saperne di più, consulta Limitazioni per le migrazioni ai cluster di destinazione esistenti.

Crea ed esegui il job di migrazione

Per configurare ed eseguire la migrazione continua a un cluster di destinazione esistente, segui questi passaggi:

  1. (Facoltativo) Se vuoi gestire i tuoi certificati o le tue chiavi di crittografia per il job di migrazione, prepara le chiavi di crittografia necessarie.
  2. Crea ed esegui il job di migrazione per un cluster di destinazione esistente.

    Puoi monitorare l'avanzamento della migrazione e lo stato del cluster di destinazione con le funzionalità di osservabilità di Database Migration Service. Consulta le metriche dei job di migrazione.

Finalizza la migrazione

Quando decidi di trasferire il traffico della tua applicazione al nuovo cluster AlloyDB per PostgreSQL, finalizza la migrazione seguendo questi passaggi:

  1. Interrompi tutte le operazioni di scrittura sul database di origine. Puoi configurare il database di origine in modalità di sola lettura per mantenere la disponibilità per le query, impedendo al contempo nuove modifiche.
  2. Promuovi il job di migrazione. La promozione del job di migrazione sincronizza tutte le transazioni CDC rimanenti, termina la replica dall'origine e promuove l'istanza principale di AlloyDB per PostgreSQL a un cluster primario autonomo e completamente operativo.
  3. (Facoltativo) Verifica i dati della migrazione per verificarne la completezza e l'integrità delle righe.

Passaggi successivi

Scopri di più sulle funzionalità e sulle capacità di gestione di AlloyDB per PostgreSQL. Consulta la panoramica di AlloyDB per PostgreSQL.