arrow_back

Eseguire la migrazione a Cloud SQL per PostgreSQL utilizzando Database Migration Service

Partecipa Accedi
Test and share your knowledge with our community!
done
Get access to over 700 hands-on labs, skill badges, and courses

Eseguire la migrazione a Cloud SQL per PostgreSQL utilizzando Database Migration Service

Lab 1 ora 30 minuti universal_currency_alt 1 credito show_chart Introduttivi
Test and share your knowledge with our community!
done
Get access to over 700 hands-on labs, skill badges, and courses

GSP918

Laboratori autogestiti Google Cloud

Panoramica

Database Migration Service fornisce opzioni per job una tantum e continui per la migrazione dei dati a Cloud SQL utilizzando diverse opzioni di connettività, tra cui liste consentite IP, peering VPC e tunnel SSH inversi (consulta la documentazione sulle opzioni di connettività all'indirizzo https://cloud.google.com/database-migration/docs/postgresql/configure-connectivity).

In questo lab eseguirai la migrazione di un database PostgreSQL autonomo (in esecuzione su una macchina virtuale) a Cloud SQL per PostgreSQL utilizzando un job Database Migration Service continuo e il peering VPC per la connettività.

La migrazione di un database tramite Database Migration Service richiede una certa preparazione del database di origine, inclusa la creazione di un utente dedicato con diritti di replica, l'aggiunta dell'estensione del database pglogical al database di origine e la concessione dei diritti sugli schemi e sulle tabelle nel database da migrare, così come il database postgres, all'utente creato.

Dopo aver creato ed eseguito il job di migrazione, verificherai che una copia iniziale del tuo database sia stata migrata correttamente nell'istanza Cloud SQL per PostgreSQL. Esplorerai inoltre il modo in cui i job di migrazione continui applicano gli aggiornamenti dei dati dal database di origine all'istanza Cloud SQL. Per concludere il job di migrazione, promuoverai l'istanza Cloud SQL come database autonomo per la lettura e la scrittura dei dati.

Obiettivi

In questo lab imparerai come configurare un job continuo di Database Migration Service per eseguire la migrazione di database da un'istanza PostgreSQL a Cloud SQL per PostgreSQL.

  • Preparare il database di origine per la migrazione.
  • Creare un profilo per una connessione di origine a un'istanza PostgreSQL (ad esempio, PostgreSQL autonomo).
  • Configurare la connettività tra le istanze del database di origine e di destinazione utilizzando il peering VPC.
  • Configurare le regole di accesso al firewall e al database per consentire l'accesso al database di origine per la migrazione.
  • Creare, eseguire e verificare un job di migrazione continuo utilizzando Database Migration Service.
  • Promuovere l'istanza di destinazione (Cloud SQL per PostgreSQL) come database standalone per la lettura e la scrittura dei dati.

Configurazione

Prima di fare clic sul pulsante Avvia lab

Leggi le seguenti istruzioni. I lab sono a tempo e non possono essere messi in pausa. Il timer si avvia quando fai clic su Avvia lab e ti mostra per quanto tempo avrai a disposizione le risorse Google Cloud.

Con questo lab pratico avrai la possibilità di completare le attività in prima persona, in un ambiente cloud reale e non di simulazione o demo. Riceverai delle nuove credenziali temporanee che potrai utilizzare per accedere a Google Cloud per la durata del lab.

Per completare il lab, avrai bisogno di:

  • Accesso a un browser internet standard (Chrome è il browser consigliato).
Nota: utilizza una finestra del browser in incognito o privata per eseguire questo lab. Ciò evita eventuali conflitti tra il tuo account personale e l'account Studente, che potrebbero causare addebiti aggiuntivi sul tuo account personale.
  • È ora di completare il lab: ricorda che, una volta iniziato, non puoi metterlo in pausa.
Nota: se hai già un account o un progetto Google Cloud personale, non utilizzarlo per questo lab per evitare addebiti aggiuntivi al tuo account.

Come avviare il lab e accedere alla console Google Cloud

  1. Fai clic sul pulsante Avvia lab. Se devi effettuare il pagamento per il lab, si apre una finestra popup per permetterti di selezionare il metodo di pagamento. A sinistra, trovi il riquadro Dettagli lab con le seguenti informazioni:

    • Pulsante Apri console Google
    • Tempo rimanente
    • Credenziali temporanee da utilizzare per il lab
    • Altre informazioni per seguire questo lab, se necessario
  2. Fai clic su Apri console Google. Il lab avvia le risorse e apre un'altra scheda con la pagina di accesso.

    Suggerimento: disponi le schede in finestre separate posizionate fianco a fianco.

    Note: se visualizzi la finestra di dialogo Scegli un account, fai clic su Utilizza un altro account.
  3. Se necessario, copia il Nome utente dal riquadro Dettagli lab e incollalo nella finestra di dialogo di accesso. Fai clic su Avanti.

  4. Copia la Password dal riquadro Dettagli lab e incollala nella finestra di dialogo di benvenuto. Fai clic su Avanti.

    Importante: devi utilizzare le credenziali presenti nel riquadro di sinistra. Non utilizzare le tue credenziali Google Cloud Skills Boost. Nota: utilizzare il tuo account Google Cloud per questo lab potrebbe comportare addebiti aggiuntivi.
  5. Fai clic nelle pagine successive:

    • Accetta i termini e le condizioni.
    • Non inserire opzioni di recupero o l'autenticazione a due fattori, perché si tratta di un account temporaneo.
    • Non registrarti per le prove gratuite.

Dopo qualche istante, la console Google Cloud si apre in questa scheda.

Nota: puoi visualizzare il menu con un elenco di prodotti e servizi Google Cloud facendo clic sul menu di navigazione in alto a sinistra. Icona menu di navigazione

Attiva Cloud Shell

Cloud Shell è una macchina virtuale in cui sono caricati strumenti per sviluppatori. Offre una home directory permanente da 5 GB e viene eseguita su Google Cloud. Cloud Shell fornisce l'accesso da riga di comando alle risorse Google Cloud.

  1. Fai clic su Attiva Cloud Shell Icona Attiva Cloud Shell nella parte superiore della console Google Cloud.

Quando la connessione è attiva, l'autenticazione è già avvenuta e il progetto è impostato sul tuo PROJECT_ID. L'output contiene una riga che dichiara il PROJECT_ID per questa sessione:

Your Cloud Platform project in this session is set to YOUR_PROJECT_ID

gcloud è lo strumento a riga di comando di Google Cloud. È preinstallato su Cloud Shell e supporta il completamento tramite tasto Tab.

  1. (Facoltativo) Puoi visualizzare il nome dell'account attivo con questo comando:
gcloud auth list
  1. Fai clic su Autorizza.

  2. L'output dovrebbe avere ora il seguente aspetto:

Output:

ACTIVE: * ACCOUNT: student-01-xxxxxxxxxxxx@qwiklabs.net To set the active account, run: $ gcloud config set account `ACCOUNT`
  1. (Facoltativo) Puoi elencare l'ID progetto con questo comando:
gcloud config list project

Output:

[core] project = <project_ID>

Output di esempio:

[core] project = qwiklabs-gcp-44776a13dea667a6 Nota: per la documentazione completa di gcloud, in Google Cloud, fai riferimento alla Panoramica dell'interfaccia a riga di comando gcloud.

Verifica che l'API Database Migration sia abilitata

  1. Nella console Google Cloud, inserisci API Database Migration nella barra di ricerca in alto. Fai clic sul risultato per API Database Migration.

Questa pagina mostrerà le informazioni sullo stato o ti darà la possibilità di abilitare l'API.

  1. Se necessario, abilita l'API.

Verifica che l'API Service Networking sia abilitata

L'API Service Networking è necessaria per poter configurare Cloud SQL per supportare il peering VPC e le connessioni su un indirizzo IP privato.

  1. Nella console Cloud, inserisci API Service Networking nella barra di ricerca in alto. Fai clic sul risultato per API Service Networking.

Questa pagina mostrerà le informazioni sullo stato o ti darà la possibilità di abilitare l'API.

  1. Se necessario, abilita l'API.

Attività 1: prepara il database di origine per la migrazione

In questa attività aggiungerai funzionalità di supporto al database di origine, necessarie perché Database Migration Service possa eseguire una migrazione. Queste sono:

  • Installazione e configurazione dell'estensione del database pglogical.
  • Configurazione del database PostgreSQL autonomo per consentire l'accesso da Cloud Shell e Cloud SQL.
  • Aggiunta dell'estensione del database pglogical ai database postgres, orders e gmemegen_db sul server autonomo.
  • Creazione di un utente migration_admin (con autorizzazioni di replica) per la migrazione del database e concessione delle autorizzazioni necessarie agli schemi e alle relazioni con quell'utente.

Aggiorna il database con l'estensione pglogical

In questo passaggio scaricherai e aggiungerai l'estensione del database pglogical ai database orders e postgres sull'istanza VM postgresql-vm.

  1. Nella console Google Cloud, nel menu di navigazione (Icona menu di navigazione), fai clic su Compute Engine > Istanze VM.

  2. Nella voce postgresql-vm, sotto Connect fai clic su SSH.

  3. Se richiesto, fai clic su Autorizza.

  4. Nel terminale nella nuova finestra del browser, installa l'estensione del database pglogical:

sudo apt install postgresql-13-pglogical Nota: pglogical è un sistema di replica logica implementato interamente come estensione PostgreSQL. Completamente integrato, non richiede trigger o programmi esterni. Questa alternativa alla replica fisica è un metodo molto efficiente per replicare i dati utilizzando un modello di pubblicazione/sottoscrizione per la replica selettiva. Scopri di più qui: https://github.com/2ndQuadrant/pglogical
  1. Scarica e applica alcune aggiunte ai file di configurazione PostgreSQL (per abilitare l'estensione pglogical) e riavvia il servizio postgresql:
sudo su - postgres -c "gsutil cp gs://cloud-training/gsp918/pg_hba_append.conf ." sudo su - postgres -c "gsutil cp gs://cloud-training/gsp918/postgresql_append.conf ." sudo su - postgres -c "cat pg_hba_append.conf >> /etc/postgresql/13/main/pg_hba.conf" sudo su - postgres -c "cat postgresql_append.conf >> /etc/postgresql/13/main/postgresql.conf" sudo systemctl restart postgresql@13-main

In pg_hba.conf questi comandi hanno aggiunto una regola per consentire l'accesso a tutti gli host:

#GSP918 - allow access to all hosts host all all 0.0.0.0/0 md5

In postgresql.conf, questi comandi hanno impostato la configurazione minima per pglogical in modo da consentire l'ascolto su tutti gli indirizzi:

#GSP918 - added configuration for pglogical database extension wal_level = logical # minimal, replica, or logical max_worker_processes = 10 # one per database needed on provider node # one per node needed on subscriber node max_replication_slots = 10 # one per node needed on provider node max_wal_senders = 10 # one per node needed on provider node shared_preload_libraries = 'pglogical' max_wal_size = 1GB min_wal_size = 80MB listen_addresses = '*' # what IP address(es) to listen on, '*' is all

I frammenti di codice riportati sopra sono stati aggiunti ai file pertinenti e il servizio PostgreSQL è stato riavviato.

  1. Avvia lo strumento psql:
sudo su - postgres psql
  1. Aggiungi l'estensione del database pglogical ai database postgres, orders e gmemegen_db.
\c postgres; CREATE EXTENSION pglogical; \c orders; CREATE EXTENSION pglogical; \c gmemegen_db; CREATE EXTENSION pglogical;
  1. Elenca i database PostgreSQL sul server:
\l

Qui puoi vedere, oltre ai database postgresql predefiniti, i database orders e gmemegen_db forniti per questo lab. Non utilizzerai il database gmemegen_db in questo lab, ma lo includerai nella migrazione per utilizzarlo in un lab successivo.

List of databases Name | Owner | Encoding | Collate | Ctype | Access privileges -------------+----------+----------+---------+---------+----------------------- gmemegen_db | postgres | UTF8 | C.UTF-8 | C.UTF-8 | orders | postgres | UTF8 | C.UTF-8 | C.UTF-8 | postgres | postgres | UTF8 | C.UTF-8 | C.UTF-8 | template0 | postgres | UTF8 | C.UTF-8 | C.UTF-8 | =c/postgres + | | | | | postgres=CTc/postgres template1 | postgres | UTF8 | C.UTF-8 | C.UTF-8 | =c/postgres + | | | | | postgres=CTc/postgres (5 rows)

Crea l'utente per la migrazione del database

In questo passaggio creerai un utente dedicato per la gestione della migrazione del database.

  1. In psql, inserisci i comandi seguenti per creare un nuovo utente con il ruolo di replica:
CREATE USER migration_admin PASSWORD 'DMS_1s_cool!'; ALTER DATABASE orders OWNER TO migration_admin; ALTER ROLE migration_admin WITH REPLICATION;

Assegna le autorizzazioni all'utente della migrazione

In questo passaggio assegnerai le autorizzazioni necessarie all'utente migration_admin per abilitare Database Migration Service per migrare il tuo database.

  1. In psql, concedi le autorizzazioni allo schema pglogical e alle tabelle per il database postgres.
\c postgres; GRANT USAGE ON SCHEMA pglogical TO migration_admin; GRANT ALL ON SCHEMA pglogical TO migration_admin; GRANT SELECT ON pglogical.tables TO migration_admin; GRANT SELECT ON pglogical.depend TO migration_admin; GRANT SELECT ON pglogical.local_node TO migration_admin; GRANT SELECT ON pglogical.local_sync_status TO migration_admin; GRANT SELECT ON pglogical.node TO migration_admin; GRANT SELECT ON pglogical.node_interface TO migration_admin; GRANT SELECT ON pglogical.queue TO migration_admin; GRANT SELECT ON pglogical.replication_set TO migration_admin; GRANT SELECT ON pglogical.replication_set_seq TO migration_admin; GRANT SELECT ON pglogical.replication_set_table TO migration_admin; GRANT SELECT ON pglogical.sequence_state TO migration_admin; GRANT SELECT ON pglogical.subscription TO migration_admin;
  1. In psql, concedi le autorizzazioni allo schema pglogical e alle tabelle per il database orders.
\c orders; GRANT USAGE ON SCHEMA pglogical TO migration_admin; GRANT ALL ON SCHEMA pglogical TO migration_admin; GRANT SELECT ON pglogical.tables TO migration_admin; GRANT SELECT ON pglogical.depend TO migration_admin; GRANT SELECT ON pglogical.local_node TO migration_admin; GRANT SELECT ON pglogical.local_sync_status TO migration_admin; GRANT SELECT ON pglogical.node TO migration_admin; GRANT SELECT ON pglogical.node_interface TO migration_admin; GRANT SELECT ON pglogical.queue TO migration_admin; GRANT SELECT ON pglogical.replication_set TO migration_admin; GRANT SELECT ON pglogical.replication_set_seq TO migration_admin; GRANT SELECT ON pglogical.replication_set_table TO migration_admin; GRANT SELECT ON pglogical.sequence_state TO migration_admin; GRANT SELECT ON pglogical.subscription TO migration_admin;
  1. In psql, concedi le autorizzazioni allo schema public e alle tabelle per il database orders.
GRANT USAGE ON SCHEMA public TO migration_admin; GRANT ALL ON SCHEMA public TO migration_admin; GRANT SELECT ON public.distribution_centers TO migration_admin; GRANT SELECT ON public.inventory_items TO migration_admin; GRANT SELECT ON public.order_items TO migration_admin; GRANT SELECT ON public.products TO migration_admin; GRANT SELECT ON public.users TO migration_admin;
  1. In psql, concedi le autorizzazioni allo schema e alle tabelle pglogical per il database gmemegen_db.
\c gmemegen_db; GRANT USAGE ON SCHEMA pglogical TO migration_admin; GRANT ALL ON SCHEMA pglogical TO migration_admin; GRANT SELECT ON pglogical.tables TO migration_admin; GRANT SELECT ON pglogical.depend TO migration_admin; GRANT SELECT ON pglogical.local_node TO migration_admin; GRANT SELECT ON pglogical.local_sync_status TO migration_admin; GRANT SELECT ON pglogical.node TO migration_admin; GRANT SELECT ON pglogical.node_interface TO migration_admin; GRANT SELECT ON pglogical.queue TO migration_admin; GRANT SELECT ON pglogical.replication_set TO migration_admin; GRANT SELECT ON pglogical.replication_set_seq TO migration_admin; GRANT SELECT ON pglogical.replication_set_table TO migration_admin; GRANT SELECT ON pglogical.sequence_state TO migration_admin; GRANT SELECT ON pglogical.subscription TO migration_admin;
  1. In psql, concedi le autorizzazioni allo schema pubblico e alle tabelle per il database gmemegen_db.
GRANT USAGE ON SCHEMA public TO migration_admin; GRANT ALL ON SCHEMA public TO migration_admin; GRANT SELECT ON public.meme TO migration_admin;

I database di origine sono ora preparati per la migrazione. Le autorizzazioni concesse all'utente migration_admin sono tutto ciò che serve a Database Migration Service per la migrazione dei database postgres, orders e gmemegen_db.

Rendi l'utente migration_admin proprietario delle tabelle nel database orders, in modo da poter modificare i dati di origine in un secondo momento, quando testerai la migrazione.

  1. In psql, segui questi comandi:
\c orders; \dt ALTER TABLE public.distribution_centers OWNER TO migration_admin; ALTER TABLE public.inventory_items OWNER TO migration_admin; ALTER TABLE public.order_items OWNER TO migration_admin; ALTER TABLE public.products OWNER TO migration_admin; ALTER TABLE public.users OWNER TO migration_admin; \dt List of relations Schema | Name | Type | Owner --------+----------------------+-------+------- public | distribution_centers | table | migration_admin public | inventory_items | table | migration_admin public | order_items | table | migration_admin public | products | table | migration_admin public | users | table | migration_admin (5 rows)
  1. Esci da psql e dalla sessione utente postgres
\q exit

Fai clic su Controlla i miei progressi per verificare l'obiettivo. Prepara l'istanza PostgreSQL di origine per la migrazione.

Attività 2: crea un profilo di connessione Database Migration Service per un database PostgreSQL autonomo

In questa attività creerai un profilo di connessione per l'istanza PostgreSQL di origine.

Ottieni le informazioni relative alla connettività per l'istanza PostgreSQL di origine

In questo passaggio, identificherai l'indirizzo IP interno dell'istanza del database di origine di cui eseguirai la migrazione a Cloud SQL.

  1. Nella console Google Cloud, nel menu di navigazione (Icona menu di navigazione), fai clic su Compute Engine > Istanze VM.

  2. Trova la riga con l'istanza denominata postgresql-vm.

  3. Copia il valore per IP interno (ad esempio 10.128.0.2).

Crea un nuovo profilo di connessione per l'istanza di origine PostgreSQL

Un profilo di connessione archivia informazioni sull'istanza del database di origine (ad esempio, PosgreSQL standalone) e viene utilizzato da Database Migration Service per la migrazione dei dati dall'origine all'istanza del database Cloud SQL di destinazione. Dopo aver creato un profilo di connessione, è possibile riutilizzarlo in diversi job di migrazione.

In questo passaggio creerai un nuovo profilo di connessione per l'istanza di origine PostgreSQL.

  1. Nella console Google Cloud, nel menu di navigazione (Icona menu di navigazione), fai clic su Migrazione del database > Profili di connessione.

  2. Fai clic su + Crea profilo.

  3. Per Motore del database, seleziona PostgreSQL.

  4. Per Nome profilo di connessione, inserisci postgres-vm.

  5. Per Nome host o Indirizzo IP,, inserisci l'IP interno per l'istanza PostgreSQL di origine che hai copiato nell'attività precedente (ad esempio, 10.128.0.2)

  6. Per Porta, inserisci 5432.

  7. Per Nome utente, inserisci migration_admin.

  8. Per Password, inserisci DMS_1s_cool! .

  9. Per Regione, seleziona .

  10. Lascia invariati tutti gli altri valori predefiniti.

  11. Fai clic su Crea.

Un nuovo profilo di connessione denominato postgres-vm verrà visualizzato nell'elenco dei profili di connessione.

Fai clic su Controlla i miei progressi per verificare l'obiettivo. Crea un profilo di connessione per l'istanza di origine PostgreSQL.

Attività 3: crea e avvia un job di migrazione continuo

Quando crei un nuovo job di migrazione, definisci innanzitutto l'istanza del database di origine utilizzando un profilo di connessione creato in precedenza. Quindi crei una nuova istanza del database di destinazione e configuri la connettività tra le istanze di origine e di destinazione.

In questa attività, utilizzerai l'interfaccia del job di migrazione per creare una nuova istanza del database Cloud SQL per PostgreSQL e impostarla come destinazione per il job di migrazione continuo dall'istanza di origine PostgreSQL.

Crea un nuovo job di migrazione continuo

In questo passaggio creerai un nuovo job di migrazione continuo.

  1. Nella console Google Cloud, nel menu di navigazione (Icona menu di navigazione), fai clic su Migrazione del database > Job di migrazione.

  2. Fai clic su + Crea un job di migrazione.

  3. Per Nome job di migrazione, inserisci vm-to-cloudsql.

  4. Per Motore del database di origine, seleziona PostgreSQL.

  5. Per Regione di destinazione, seleziona .

  6. Per Motore del database di destinazione, seleziona Cloud SQL per PostgreSQL.

  7. Per Tipo del job di migrazione, seleziona Continuo.

Lascia invariati i valori predefiniti per le altre impostazioni.

  1. Fai clic su Salva e continua.

Definisci l'istanza di origine

In questo passaggio definirai l'istanza di origine per la migrazione.

  1. Per Profilo di connessione di origine, seleziona postgres-vm.

Lascia invariati i valori predefiniti per le altre impostazioni.

  1. Fai clic su Salva e continua.

Dopo aver selezionato il profilo di connessione di origine, puoi visualizzarne i dettagli di configurazione, inclusi nome host o indirizzo IP di origine, porta, nome utente e tipo di crittografia.

Crea l'istanza di destinazione

In questo passaggio creerai l'istanza di destinazione per la migrazione.

  1. Per ID istanza di destinazione, inserisci postgresql-cloudsql.

  2. Per Password, inserisci supersecret!.

  3. Per Scegli una versione di Cloud SQL, seleziona Enterprise.

  4. Per Versione database, seleziona Cloud SQL per PostgreSQL 13.

  5. Nella sezione Scegli regione e zona, seleziona Zona singola e seleziona come Zona principale.

  6. Per Connettività dell'istanza, seleziona IP privato e IP pubblico.

  7. Seleziona Utilizza un intervallo IP allocato automaticamente.

Lascia invariati i valori predefiniti per le altre impostazioni.

  1. Fai clic su Assegna e connetti.

Lascia selezionata l&#39;opzione predefinita per utilizzare un intervallo IP allocato automaticamente.

Nota: questo passaggio potrebbe richiedere alcuni minuti. Se viene richiesto di riprovare la richiesta, fai clic sul pulsante Riprova per aggiornare l'API Service Networking.

Una volta completato questo passaggio, un messaggio aggiornato ti informa che l'istanza utilizzerà la connessione al servizio gestito esistente.

Dovrai modificare il file pg_hba.conf sull'istanza VM per consentire l'accesso all'intervallo IP che viene generato automaticamente al punto 5 del passaggio precedente. Lo farai in un passaggio successivo prima di testare la configurazione della migrazione alla fine di questa attività.

Il messaggio aggiornato indica che l&#39;istanza utilizzerà la connessione al servizio gestito esistente.

Inserisci le informazioni aggiuntive necessarie per creare l'istanza di destinazione su Cloud SQL.

  1. Per Forme di macchine controlla 1 vCPU, 3.75 GB

  2. Per Tipo di archiviazione, seleziona SSD

  3. Per Capacità di archiviazione, seleziona 10 GB

  4. Fai clic su Crea e continua.

Se ti viene richiesta una conferma, fai clic su Crea destinazione e continua. Un messaggio indicherà che è in corso la creazione dell'istanza del database di destinazione. Continua con il passaggio successivo mentre aspetti.

Definisci il metodo di connettività

In questo passaggio definirai il metodo di connettività per la migrazione.

Il messaggio indica che il pulsante Configura e continua è abilitato dopo la creazione dell&#39;istanza Cloud SQL di destinazione.

  1. Per Metodo di connettività, seleziona Peering VPC.

  2. Per VPC, seleziona predefinito.

Il peering VPC viene configurato da Database Migration Service utilizzando le informazioni fornite per la rete VPC (la rete predefinita in questo esempio).

Quando vedi un messaggio aggiornato che informa che l'istanza di destinazione è stata creata, procedi al passaggio successivo.

Il messaggio aggiornato ti informa che l&#39;istanza Cloud SQL di destinazione è stata creata.

  1. Fai clic su Configura e continua.

Consenti l'accesso all'istanza posgresql-vm dall'intervallo IP allocato automaticamente

In questo passaggio modificherai il file di configurazione PostgreSQL pg_hba.conf per consentire a Database Migration Service di accedere al database PostgreSQL autonomo.

  1. Ottieni l'intervallo di indirizzi IP allocati. Nella console Google Cloud, nel menu di navigazione (Icona menu di navigazione), fai clic con il pulsante destro del mouse su Rete VPC > Peering di rete VPC e aprilo in una nuova scheda.

  2. Fai clic sulla voce servicenetworking-googleapis-com.

  3. Nella scheda Route importate, seleziona e copia l'Intervallo IP di destinazione (ad esempio, 10.107.176.0/24).

  4. Nella sessione del terminale sull'istanza VM, modifica il file pg_hba.conf come segue:

sudo nano /etc/postgresql/13/main/pg_hba.conf
  1. Nell'ultima riga del file:
#GSP918 - allow access to all hosts host all all 0.0.0.0/0 md5

sostituisci l'intervallo "tutti gli indirizzi IP" (0.0.0.0/0) con l'intervallo copiato al punto 3 sopra.

#GSP918 - allow access to all hosts host all all 10.107.176.0/24 md5 Nota: il passaggio precedente non è necessario per far funzionare la migrazione, ma è buona norma rendere il database di origine più sicuro durante il job di migrazione e anche limitarne l'accesso dopo la migrazione, quando il database migrato diventa la fonte attendibile.
  1. Salva ed esci dall'editor nano con Ctrl-O, Invio, Ctrl-X

  2. Riavvia il servizio PostgreSQL per applicare le modifiche. Nella sessione del terminale dell'istanza VM:

sudo systemctl start postgresql@13-main

Testa e avvia il job di migrazione continuo

In questo passaggio, testerai e avvierai il job di migrazione.

  1. Nella scheda Database Migration Service aperta in precedenza, esamina i dettagli del job di migrazione.

  2. Fai clic su Testa il job.

  3. Dopo aver completato con successo il test, fai clic su Crea e avvia job.

Assicurati di fare clic sul pulsante Crea e avvia job per assicurarti che il job venga avviato correttamente.

Se ti viene richiesto di confermare, fai clic su Crea e avvia.

Controlla lo stato del job di migrazione continuo

In questo passaggio confermerai che il job di migrazione continuo è in esecuzione.

  1. Nella console Google Cloud, nel menu di navigazione (Icona menu di navigazione), fai clic su Migrazione del database > Job di migrazione.

  2. Fai clic sul job di migrazione vm-to-cloudsql per visualizzare la pagina dei dettagli.

  3. Esamina lo stato del job di migrazione.

    • Se non hai avviato il job, lo stato verrà visualizzato come Non avviato. Puoi scegliere di avviare o eliminare il job.
    • Dopo l'avvio del job, lo stato verrà visualizzato come In fase di avvio e poi passerà a In esecuzione | Dump completo in corso per indicare che è in corso il dump iniziale del database.
    • Una volta completato il dump iniziale del database, lo stato passerà a In esecuzione | CDC in corso per indicare che la migrazione continua è attiva.

Quando lo stato del job cambia in In esecuzione | CDC in corso, procedi all'attività successiva.

Il job di migrazione denominato vm-to-cloudsql ha lo stato In esecuzione | CDC in corso.

Fai clic su Controlla i miei progressi per verificare l'obiettivo. Crea, avvia e rivedi un job di migrazione continuo.

Attività 4: conferma i dati in Cloud SQL per PostgreSQL

Controlla i database PostgreSQL in Cloud SQL

  1. Nella console Google Cloud, nel menu di navigazione (Icona menu di navigazione), fai clic su Database > SQL.

  2. Espandi l'ID dell'istanza denominato postgresql-cloudsql-master.

  3. Fai clic sull'istanza postgresql-cloudsql (replica di lettura PostgreSQL).

  4. Nel menu Istanza di replica, fai clic su Database.

Tieni presente che i database chiamati postgres, orders e gmemegen_db sono stati migrati su Cloud SQL.

I database migrati su Cloud SQL.

Connettiti all'istanza PostgreSQL

  1. Nel menu Istanza di replica, fai clic su Panoramica.

  2. Scorri verso il basso fino alla sezione Connetti a questa istanza e fai clic su Apri Cloud Shell.

Il comando per connettersi a PostgreSQL verrà precompilato in Cloud Shell:

gcloud sql connect postgresql-cloudsql --user=postgres --quiet
  1. Esegui il comando precompilato.

Se richiesto, fai clic su Autorizza per l'API.

  1. Quando ti viene richiesta la password che hai impostato in precedenza, inserisci:
supersecret!

Ora hai attivato la console interattiva PostgreSQL per l'istanza di destinazione.

Esamina i dati nell'istanza Cloud SQL per PostgreSQL

  1. Per selezionare il database nella console interattiva PostgreSQL, esegui il comando seguente:
\c orders;
  1. Quando viene richiesta la password, inserisci:
supersecret!
  1. Esegui la query nella tabella distribution_centers:
select * from distribution_centers;

(Output)

longitude | latitude | name | id -----------+----------+---------------------------------------------+---- -89.9711 | 35.1174 | Memphis TN | 1 -87.6847 | 41.8369 | Chicago IL | 2 -95.3698 | 29.7604 | Houston TX | 3 -118.25 | 34.05 | Los Angeles CA | 4 -90.0667 | 29.95 | New Orleans LA | 5 -73.7834 | 40.634 | Port Authority of New York/New Jersey NY/NJ | 6 -75.1667 | 39.95 | Philadelphia PA | 7 -88.0431 | 30.6944 | Mobile AL | 8 -79.9333 | 32.7833 | Charleston SC | 9 -81.1167 | 32.0167 | Savannah GA | 10
  1. Esci dalla console interattiva PostgreSQL digitando:
\q

Aggiorna i dati dell'origine autonoma per testare la migrazione continua

  1. In Cloud Shell, digita i seguenti comandi per connetterti all'istanza PostgreSQL di origine:
export VM_NAME=postgresql-vm export PROJECT_ID=$(gcloud config list --format 'value(core.project)') export POSTGRESQL_IP=$(gcloud compute instances describe ${VM_NAME} \ --zone={{{ project_0.default_zone|(zone) }}} --format="value(networkInterfaces[0].accessConfigs[0].natIP)") echo $POSTGRESQL_IP psql -h $POSTGRESQL_IP -p 5432 -d orders -U migration_admin Nota: questo è un approccio alternativo all'accesso al database standalone sull'istanza VM.
  1. Quando viene richiesta la password, inserisci:
DMS_1s_cool!
  1. In psql, inserisci questi comandi:
\c orders; insert into distribution_centers values(-80.1918,25.7617,'Miami FL',11);
  1. Chiudi la sessione psql interattiva:
\q

Connettiti al database Cloud SQL PostgreSQL per verificare che sia stata eseguita la migrazione dei dati aggiornati

  1. In Cloud Shell, digita i seguenti comandi per connetterti all'istanza Cloud SQL PostgreSQL di destinazione:
gcloud sql connect postgresql-cloudsql --user=postgres --quiet
  1. Quando ti viene richiesta la password che hai impostato in precedenza, inserisci la password per l'istanza Cloud SQL:
supersecret!

Ora hai attivato la console interattiva PostgreSQL per l'istanza di destinazione.

Esamina i dati nel database Cloud SQL per PostgreSQL

  1. In Cloud Shell, seleziona il database attivo nella console interattiva PostgreSQL:
\c orders;
  1. Quando ti viene richiesta la password che hai impostato in precedenza, inserisci:
supersecret!
  1. Esegui la query nella tabella distribution_centers:
select * from distribution_centers;

(Output)

longitude | latitude | name | id -----------+----------+---------------------------------------------+---- -89.9711 | 35.1174 | Memphis TN | 1 -87.6847 | 41.8369 | Chicago IL | 2 -95.3698 | 29.7604 | Houston TX | 3 -118.25 | 34.05 | Los Angeles CA | 4 -90.0667 | 29.95 | New Orleans LA | 5 -73.7834 | 40.634 | Port Authority of New York/New Jersey NY/NJ | 6 -75.1667 | 39.95 | Philadelphia PA | 7 -88.0431 | 30.6944 | Mobile AL | 8 -79.9333 | 32.7833 | Charleston SC | 9 -81.1167 | 32.0167 | Savannah GA | 10 -80.1918 | 25.7617 | Miami FL | 11

Nota che la nuova riga aggiunta al database autonomo orders è ora presente nel database migrato.

  1. Esci dalla console interattiva PostgreSQL:
\q

Fai clic su Controlla i miei progressi per verificare l'obiettivo. Testa la migrazione continua dei dati dall'origine alla destinazione.

Attività 5: promuovi l'istanza Cloud SQL in modo che sia autonoma per la lettura e la scrittura dei dati

  1. Nella console Google Cloud, nel menu di navigazione (Icona menu di navigazione), fai clic su Migrazione del database > Job di migrazione.

  2. Fai clic sul job di migrazione vm-to-cloudsql per visualizzare la pagina dei dettagli.

  3. Fai clic su Promuovi.

Se ti viene chiesta conferma, fai clic su Promuovi.

Una volta completata la promozione, lo stato del job verrà aggiornato in Completato.

Il job di migrazione denominato vm-to-cloudsql ha lo stato Completato.

  1. Nella console Google Cloud, nel menu di navigazione (Icona menu di navigazione), fai clic su Database > SQL.

Nota che postgresql-cloudsql è ora un'istanza standalone per la lettura e la scrittura dei dati.

L&#39;istanza denominata postgresql-cloudsql è etichettata come istanza principale.

Fai clic su Controlla i miei progressi per verificare l'obiettivo. Promuovi il database Cloud SQL per PostgreSQL a istanza standalone per la lettura e la scrittura dei dati.

Complimenti!

Hai imparato come configurare un job continuo di Database Migration Service per eseguire la migrazione di database da un'istanza PostgreSQL a Cloud SQL per PostgreSQL.

Formazione e certificazione Google Cloud

… per utilizzare al meglio le tecnologie Google Cloud. I nostri corsi ti consentono di sviluppare competenze tecniche e best practice per aiutarti a metterti subito al passo e avanzare nel tuo percorso di apprendimento. Offriamo vari livelli di formazione, dal livello base a quello avanzato, con opzioni di corsi on demand, dal vivo e virtuali, in modo da poter scegliere il più adatto in base ai tuoi impegni. Le certificazioni ti permettono di confermare e dimostrare le tue abilità e competenze relative alle tecnologie Google Cloud.

Ultimo aggiornamento del manuale: 09 febbraio 2024

Ultimo test del lab: 06 febbraio 2024

Copyright 2024 Google LLC Tutti i diritti riservati. Google e il logo Google sono marchi di Google LLC. Tutti gli altri nomi di società e prodotti sono marchi delle rispettive società a cui sono associati.