Prepare the source database for migration.

Controlla i miei progressi

/ 20

Create a Database Migration Service connection profile.

Controlla i miei progressi

/ 20

Create and start a continuous migration job.

Controlla i miei progressi

/ 20

Confirm the data in Cloud SQL for PostgreSQL.

Controlla i miei progressi

/ 20

Promote Cloud SQL to be a stand-alone instance for reading and writing data.

Controlla i miei progressi

/ 20

Questo lab potrebbe incorporare strumenti di AI a supporto del tuo apprendimento.

GSP918

Self-paced lab Google Cloud

Panoramica

Database Migration Service fornisce opzioni per job continui e una tantum per eseguire la migrazione dei dati a Cloud SQL. Offre vari metodi di connettività, tra cui liste consentite di IP, tunnel SSH inversi, peering VPC e interfacce Private Service Connect. Scopri di più sulle opzioni di connettività nella guida alla configurazione della connettività.

Questo lab è incentrato sulla migrazione di un database PostgreSQL autonomo, ospitato su una macchina virtuale, a Cloud SQL per PostgreSQL. La migrazione utilizza un job continuo da Database Migration Service e il peering VPC per stabilire la connettività.

L'utilizzo di Database Migration Service per la migrazione del database richiede diversi passaggi preparatori sul database di origine:

  • Crea un utente dedicato: questo utente deve disporre dei diritti di replica.
  • Aggiungi l'estensione pglogical: questa estensione deve essere installata sul database di origine.
  • Concedi i diritti necessari: all'utente dedicato devono essere concessi i diritti per gli schemi e le tabelle all'interno del database designato per la migrazione, nonché per il database postgres.

Una volta completata la configurazione, crea ed esegui il job di migrazione. Il processo di migrazione prevede:

  • Copia iniziale: conferma del trasferimento riuscito della copia iniziale del database nell'istanza Cloud SQL.
  • Migrazione continua: esplorazione del modo in cui i job di migrazione in corso applicano gli aggiornamenti dei dati in tempo reale dall'origine all'istanza Cloud SQL.
  • Promozione: conclusione del job mediante la promozione dell'istanza Cloud SQL in modo che funzioni come database autonomo, pronto per le operazioni di lettura e scrittura.

Obiettivi didattici

In questo lab imparerai a:

  • 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 autonomo per la lettura e la scrittura dei dati.

Configurazione e requisiti

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 Inizia il 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 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: per eseguire questo lab, utilizza una finestra del browser in modalità di navigazione in incognito (consigliata) o privata. Ciò evita 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: utilizza solo l'account studente per questo lab. Se utilizzi un altro account Google Cloud, potrebbero essere addebitati costi su quell'account.

Come iniziare il lab e accedere alla console Google Cloud

  1. Fai clic sul pulsante Inizia il lab. Se devi effettuare il pagamento per il lab, si aprirà una finestra di dialogo per permetterti di selezionare il metodo di pagamento. A destra, trovi il riquadro Configurazione e accesso al lab con le seguenti informazioni:

    • Il pulsante Apri console Google Cloud
    • Le credenziali temporanee (nome utente e password) da utilizzare per il lab
    • Altre informazioni per seguire questo lab, se necessario

    Tieni presente che il timer del lab si trova nella parte superiore della pagina e mostra il tempo rimanente.

  2. Fai clic su Apri console Google Cloud (o fai clic con il tasto destro del mouse e seleziona Apri link in finestra Incognito se utilizzi il browser Chrome).

    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.

    Nota: se visualizzi la finestra di dialogo Scegli un account, fai clic su Usa un altro account.
  3. Se necessario, copia il Nome utente di seguito e incollalo nella finestra di dialogo Accedi.

    {{{user_0.username | "Username"}}}

    Puoi trovare il Nome utente anche nel riquadro Configurazione e accesso al lab.

  4. Fai clic su Avanti.

  5. Copia la Password di seguito e incollala nella finestra di dialogo Ti diamo il benvenuto.

    {{{user_0.password | "Password"}}}

    Puoi trovare la Password anche nel riquadro Configurazione e accesso al lab.

  6. Fai clic su Avanti.

    Importante: devi utilizzare le credenziali fornite dal lab. Non utilizzare le credenziali del tuo account Google Cloud. Nota: utilizzare il tuo account Google Cloud per questo lab potrebbe comportare addebiti aggiuntivi.
  7. 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 senza costi.

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

Nota: per accedere ai prodotti e ai servizi Google Cloud, fai clic sul menu di navigazione o digita il nome del servizio o del prodotto nel campo Cerca. Icona del menu di navigazione e campo Cerca

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.

  2. Fai clic nelle seguenti finestre:

    • Continua nella finestra delle informazioni di Cloud Shell.
    • Autorizza Cloud Shell a utilizzare le tue credenziali per effettuare chiamate API 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 {{{project_0.project_id | "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.

Output:

ACTIVE: * ACCOUNT: {{{user_0.username | "ACCOUNT"}}} 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_0.project_id | "PROJECT_ID"}}} Nota: per la documentazione completa di gcloud, in Google Cloud, fai riferimento alla guida Panoramica dell'interfaccia a riga di comando gcloud.

Verifica che l'API Database Migration sia abilitata

L'API Database Migration è obbligatoria per gestire lo spostamento dei dati del database tramite Database Migration Service.

  1. Nella barra del titolo della console Google Cloud, inserisci API Database Migration nel campo Cerca, quindi fai clic su API Database Migration nei risultati.

Il pulsante Gestisci è visibile quando l'API è abilitata.

  1. Se vedi il pulsante Abilita, fai clic per abilitare l'API.

Verifica che l'API Service Networking sia abilitata

L'API Service Networking è obbligatoria per configurare Cloud SQL in modo che supporti il peering VPC e le connessioni su un indirizzo IP privato.

  1. Nella barra del titolo della console Cloud, inserisci API Service Networking nel campo Cerca, quindi fai clic su API Service Networking nei risultati di ricerca.

Il pulsante Gestisci è visibile quando l'API è abilitata.

  1. Se vedi il pulsante Abilita, fai clic per abilitare l'API.

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

Per preparare il database di origine per la migrazione tramite Database Migration Service, fai l'upgrade del database con l'estensione pglogical e poi crea l'utente per la migrazione del database.

Per fare l'upgrade del database con l'estensione pglogical:

  • Installa e configura l'estensione del database pglogical.
  • Configura il database PostgreSQL autonomo per consentire l'accesso da Cloud Shell e Cloud SQL.
  • Aggiungi l'estensione del database pglogical ai database postgres, orders e gmemegen_db sul server autonomo.

Per creare l'utente per la migrazione del database, crea un utente migration_admin (con autorizzazioni di replica) per la migrazione del database e poi concedigli le autorizzazioni necessarie per schemi e relazioni.

Fai l'upgrade del database con l'estensione pglogical

In questa sezione 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. Nell'istanza VM postgresql-vm, fai clic su SSH.

  3. Se richiesto, fai clic su Autorizza.

  4. Nella nuova finestra del terminale, installa l'estensione del database pglogical utilizzando il seguente comando:

sudo apt install postgresql-14-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.
  1. Scarica e applica alcune aggiunte ai file di configurazione PostgreSQL (per abilitare l'estensione pglogical) e riavvia il servizio postgresql utilizzando i seguenti comandi:
sudo su - postgres -c "gsutil cp gs://spls/gsp918/pg_hba_append.conf ." sudo su - postgres -c "gsutil cp gs://spls/gsp918/postgresql_append.conf ." sudo su - postgres -c "cat pg_hba_append.conf >> /etc/postgresql/14/main/pg_hba.conf" sudo su - postgres -c "cat postgresql_append.conf >> /etc/postgresql/14/main/postgresql.conf" sudo systemctl restart postgresql@14-main

Questi file in pg_hba.conf aggiungono 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

Questi comandi in postgresql.conf impostano 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

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

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

Dovresti visualizzare il seguente output che elenca i database postgresql predefiniti, nonché i database orders e gmemegen_db forniti per questo lab. In questo lab non utilizzerai il database gmemegen_db.

Output:

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 questa sezione creerai un utente dedicato per gestire la migrazione del database.

  • In psql, inserisci i seguenti comandi 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 questa sezione assegnerai le autorizzazioni necessarie all'utente migration_admin per abilitare Database Migration Service per migrare il tuo database.

  1. In psql, esegui i comandi riportati di seguito per concedere 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. Concedi le autorizzazioni allo schema pglogical e alle tabelle per il database orders utilizzando i seguenti comandi:
\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. Concedi le autorizzazioni allo schema public e alle tabelle per il database orders utilizzando i seguenti comandi:
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. Concedi le autorizzazioni allo schema pglogical e alle tabelle per il database gmemegen_db utilizzando i seguenti comandi:
\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. Concedi le autorizzazioni allo schema public e alle tabelle per il database gmemegen_db utilizzando i seguenti comandi:
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.

Quindi, 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. Esegui 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

Output

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 utilizzando i seguenti comandi:
\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 e avvia un job di migrazione continuo

Per creare un nuovo job di migrazione, devi specificare l'istanza del database di origine utilizzando un profilo di connessione esistente. Quindi devi stabilire l'istanza del database di destinazione e configurare la connettività necessaria tra le istanze di origine e di destinazione.

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. Nell'elenco delle istanze, individua postgresql-vm.

  3. Copia l'IP interno (ad es. 10.128.0.2) da utilizzare per configurare un profilo di connessione nella sezione successiva.

Crea un nuovo job di migrazione continuo

  1. Nella barra del titolo della console Google Cloud, digita Migrazione del database in Cerca, premi INVIO e fai clic su Migrazione del database nei risultati di ricerca.

  2. Nel riquadro a sinistra, fai clic su Job di migrazione e poi su Crea un job di migrazione.

Nota: la procedura guidata per il job di migrazione viene caricata a sinistra, mostrando i passaggi di configurazione successivi.

Inizia

In questo passaggio creerai il nuovo job di migrazione continuo.

  1. Nella scheda Inizia, specifica i seguenti valori e non modificare le altre impostazioni predefinite:
Campo Valore
Nome job di migrazione vm-to-cloudsql
Motore del database di origine PostgreSQL
Motore del database di destinazione Cloud SQL per PostgreSQL
Regione di destinazione
Tipo del job di migrazione Continuo
  1. Fai clic su Salva e continua.

Definisci un'origine

In questo passaggio definirai l'istanza di origine per la migrazione e creerai 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, PostgreSQL autonomo) 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.

  1. Per Profilo di connessione di origine, seleziona Crea un profilo di connessione.

  2. Nella scheda Crea profilo di connessione, specifica i seguenti valori e lascia invariati gli altri:

Campo Valore
Motore di origine PostgreSQL
Motore di destinazione Cloud SQL per PostgreSQL
Tipo di profilo Origine
Nome profilo di connessione postgres-vm
Regione
Definisci le configurazioni di connessione Definisci
Nome host o indirizzo IP L'IP interno per l'istanza PostgreSQL di origine che hai copiato nell'attività precedente (ad es. 10.128.0.2)
Porta 5432
Nome utente migration_admin
Password DMS_1s_cool!
  1. Fai clic su Salva.
  2. Fai clic su Crea.

Un nuovo profilo di connessione denominato postgres-vm viene visualizzato nella pagina Definisci un'origine della procedura guidata per il job di migrazione.

  1. Fai clic su Salva e continua.

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

Definisci una destinazione

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

  1. In Tipo di istanza di destinazione, seleziona Istanza esistente.

  2. Per Seleziona istanza di destinazione, seleziona postgresql-cloudsql.

  3. Fai clic su Seleziona e continua.

  4. Se ti viene richiesto di confermare, inserisci il nome dell'istanza postgresql-cloudsql.

  5. Fai clic su Conferma e continua.

Nota: puoi ignorare la nota di avviso "Your destination instance will be demoted and converted into a replica for your source database".

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'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'istanza Cloud SQL di destinazione è stata creata.

  1. Fai clic su Configura e continua.

Configura i database di migrazione

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

  1. Per Database da migrare, seleziona Tutti i database.

  2. Fai clic su Salva e continua.

Consenti l'accesso all'istanza postgresql-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, nel menu di navigazione (Icona menu di navigazione), fai clic su Rete VPC, quindi fai clic con il tasto destro del mouse su Peering di rete VPC e seleziona Apri link in un'altra scheda.

  2. Fai clic sulla voce servicenetworking-googleapis-com e poi sulla vista Route operative in basso.

  3. Nel menu a discesa Rete, seleziona predefinita e in Regione seleziona . Fai clic su Visualizza.

  4. Nella colonna Intervallo IP di destinazione, registra l'IP range (ad es. 10.107.176.0/24) accanto alla route peering-route-xxxxx... da utilizzare in un passaggio successivo.

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

sudo nano /etc/postgresql/14/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 registrato nel passaggio precedente.

#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. Inoltre consente di limitarne l'accesso dopo la migrazione, quando il database migrato diventa la fonte attendibile.
  1. Premi Ctrl+O, Invio e Ctrl+X per salvare il file e uscire dall'editor nano.

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

sudo systemctl start postgresql@14-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.

  4. 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 viene visualizzato come Non avviato. Puoi scegliere di avviare o eliminare il job.
    • Dopo l'avvio del job, lo stato viene visualizzato come In fase di avvio e poi passa a In esecuzione per indicare che è in corso il dump iniziale del database.
    • Una volta completato il dump iniziale del database, lo stato della fase sarà CDC per indicare che la migrazione continua è attiva.

Quando la fase del job cambia in CDC, procedi all'attività successiva.

Nota: i job di migrazione continui rimangono in stato di esecuzione per garantire che il database di destinazione continui a ricevere gli aggiornamenti dei dati dall'origine. Lo stato Completato viene raggiunto dopo che hai promosso il database di destinazione a database autonomo per la lettura e la scrittura dei dati. Lo farai nell'attività 4.

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

Attività 3: 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 Cloud 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.

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 viene precompilato in Cloud Shell nel seguente modo:

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

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

  3. Quando 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 utilizzando quanto riportato di seguito:
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 utilizzando il comando seguente:
\q

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

  1. In Cloud Shell, esegui i comandi riportati di seguito 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 autonomo sull'istanza VM.
  1. Quando viene richiesta la password, inserisci:
DMS_1s_cool!
  1. In psql, inserisci i seguenti comandi:
\c orders; insert into distribution_centers values(-80.1918,25.7617,'Miami FL',11);
  1. Chiudi la sessione psql interattiva utilizzando il seguente comando:
\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 viene richiesta la password che hai impostato in precedenza, inserisci la password per l'istanza Cloud SQL nel seguente modo:
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 utilizzando il seguente comando:
\c orders;
  1. Quando viene richiesta la password che hai impostato in precedenza, inserisci:
supersecret!
  1. Esegui la query nella tabella distribution_centers utilizzando quanto riportato di seguito:
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 utilizzando il comando seguente:
\q

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

Attività 4: 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 Visualizza tutti i prodotti. Nella sezione Database, 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.

  4. Se viene richiesta la conferma, fai clic su Promuovi.

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

  1. Nella console Google Cloud, nel menu di navigazione (Icona menu di navigazione), fai clic su Visualizza tutti i prodotti. Nella sezione Database, fai clic su Cloud SQL.

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

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

Complimenti!

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

Prossimi passi/Scopri di più

Scopri di più sulla migrazione dei dati, sui database Cloud SQL e su Database Migration Service nelle seguenti risorse:

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: 20 maggio 2026

Ultimo test del lab: 28 maggio 2026

Copyright 2026 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.

Prima di iniziare

  1. I lab creano un progetto e risorse Google Cloud per un periodo di tempo prestabilito
  2. I lab hanno un limite di tempo e non possono essere messi in pausa. Se termini il lab, dovrai ricominciare dall'inizio.
  3. In alto a sinistra dello schermo, fai clic su Inizia il lab per iniziare

Utilizza la navigazione privata

  1. Copia il nome utente e la password forniti per il lab
  2. Fai clic su Apri console in modalità privata

Accedi alla console

  1. Accedi utilizzando le tue credenziali del lab. L'utilizzo di altre credenziali potrebbe causare errori oppure l'addebito di costi.
  2. Accetta i termini e salta la pagina di ripristino delle risorse
  3. Non fare clic su Termina lab a meno che tu non abbia terminato il lab o non voglia riavviarlo, perché il tuo lavoro verrà eliminato e il progetto verrà rimosso

Questi contenuti non sono al momento disponibili

Ti invieremo una notifica via email quando sarà disponibile

Bene.

Ti contatteremo via email non appena sarà disponibile

Un lab alla volta

Conferma per terminare tutti i lab esistenti e iniziare questo

Utilizza la navigazione privata per eseguire il lab

Il modo migliore per eseguire questo lab è utilizzare una finestra del browser in incognito o privata. Ciò evita eventuali conflitti tra il tuo account personale e l'account studente, che potrebbero causare addebiti aggiuntivi sul tuo account personale.