Checkpoint
Prepare the source database for migration.
/ 20
Create a Database Migration Service connection profile.
/ 20
Create and start a continuous migration job.
/ 20
Confirm the data in Cloud SQL for PostgreSQL.
/ 20
Promote Cloud SQL to be a stand-alone instance for reading and writing data.
/ 20
Eseguire la migrazione a Cloud SQL per PostgreSQL utilizzando Database Migration Service
- GSP918
- Panoramica
- In questo lab proverai a:
- Configurazione e requisiti
- Attività 1: prepara il database di origine per la migrazione
- Attività 2: crea un profilo di connessione Database Migration Service per un database PostgreSQL autonomo
- Attività 3: crea e avvia un job di migrazione continuo
- Attività 4: conferma i dati in Cloud SQL per PostgreSQL
- Attività 5: promuovi l'istanza Cloud SQL in modo che sia autonoma per la lettura e la scrittura dei dati
- Complimenti!
GSP918
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.
In questo lab proverai 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 standalone 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 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).
- È ora di completare il lab: ricorda che, una volta iniziato, non puoi metterlo in pausa.
Come avviare il lab e accedere alla console Google Cloud
-
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:
- Il pulsante Apri console Google Cloud
- Tempo rimanente
- Credenziali temporanee da utilizzare per il lab
- Altre informazioni per seguire questo lab, se necessario
-
Fai clic su Apri console Google Cloud (o fai clic con il tasto destro del mouse e seleziona Apri link in finestra di navigazione in 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. -
Se necessario, copia il Nome utente di seguito e incollalo nella finestra di dialogo di accesso.
{{{user_0.username | "Username"}}} Puoi trovare il Nome utente anche nel riquadro Dettagli lab.
-
Fai clic su Avanti.
-
Copia la Password di seguito e incollala nella finestra di dialogo di benvenuto.
{{{user_0.password | "Password"}}} Puoi trovare la Password anche nel riquadro Dettagli lab.
-
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. -
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.
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.
- Fai clic su 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:
gcloud
è lo strumento a riga di comando di Google Cloud. È preinstallato su Cloud Shell e supporta il completamento tramite tasto Tab.
- (Facoltativo) Puoi visualizzare il nome dell'account attivo con questo comando:
-
Fai clic su Autorizza.
-
L'output dovrebbe avere ora il seguente aspetto:
Output:
- (Facoltativo) Puoi elencare l'ID progetto con questo comando:
Output:
Output di esempio:
gcloud
, in Google Cloud, fai riferimento alla Panoramica dell'interfaccia a riga di comando gcloud.
Verifica che l'API Database Migration sia abilitata
- 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.
- 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.
- 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.
- 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 databasepostgres
,orders
egmemegen_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
.
-
Nella console Google Cloud, nel menu di navigazione (
), fai clic su Compute Engine > Istanze VM.
-
Nella voce
postgresql-vm
, sottoConnect
fai clic su SSH. -
Se richiesto, fai clic su Autorizza.
-
Nel terminale nella nuova finestra del browser, installa l'estensione del database
pglogical
:
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
- Scarica e applica alcune aggiunte ai file di configurazione PostgreSQL (per abilitare l'estensione pglogical) e riavvia il servizio postgresql:
In pg_hba.conf
questi comandi hanno aggiunto una regola per consentire l'accesso a tutti gli host:
In postgresql.conf
, questi comandi hanno impostato la configurazione minima per pglogical in modo da consentire l'ascolto su tutti gli indirizzi:
I frammenti di codice riportati sopra sono stati aggiunti ai file pertinenti e il servizio PostgreSQL è stato riavviato.
- Avvia lo strumento psql:
- Aggiungi l'estensione del database
pglogical
ai databasepostgres
,orders
egmemegen_db
.
- Elenca i database PostgreSQL sul server:
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.
Crea l'utente per la migrazione del database
In questo passaggio creerai un utente dedicato per la gestione della migrazione del database.
- In psql, inserisci i comandi seguenti per creare un nuovo utente con il ruolo di replica:
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.
- In psql, concedi le autorizzazioni allo schema
pglogical
e alle tabelle per il databasepostgres
.
- In psql, concedi le autorizzazioni allo schema
pglogical
e alle tabelle per il databaseorders
.
- In psql, concedi le autorizzazioni allo schema
public
e alle tabelle per il databaseorders
.
- In psql, concedi le autorizzazioni allo schema e alle tabelle
pglogical
per il databasegmemegen_db
.
- In psql, concedi le autorizzazioni allo schema
pubblico
e alle tabelle per il databasegmemegen_db
.
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.
- In psql, segui questi comandi:
- Esci da psql e dalla sessione utente postgres
Fai clic su Controlla i miei progressi per verificare l'obiettivo.
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.
-
Nella console Google Cloud, nel menu di navigazione (
), fai clic su Compute Engine > Istanze VM.
-
Trova la riga con l'istanza denominata postgresql-vm.
-
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, PostgreSQL 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.
-
Nella console Google Cloud, nel menu di navigazione (
), fai clic su Migrazione del database > Profili di connessione.
-
Fai clic su + Crea profilo.
-
Per Motore del database, seleziona PostgreSQL.
-
Per Nome profilo di connessione, inserisci postgres-vm.
-
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)
-
Per Porta, inserisci 5432.
-
Per Nome utente, inserisci migration_admin.
-
Per Password, inserisci DMS_1s_cool! .
-
Per Regione, seleziona
. -
Lascia invariati tutti gli altri valori predefiniti.
-
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.
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.
-
Nella console Google Cloud, nel menu di navigazione (
), fai clic su Migrazione del database > Job di migrazione.
-
Fai clic su + Crea un job di migrazione.
-
Per Nome job di migrazione, inserisci vm-to-cloudsql.
-
Per Motore del database di origine, seleziona PostgreSQL.
-
Per Regione di destinazione, seleziona
. -
Per Motore del database di destinazione, seleziona Cloud SQL per PostgreSQL.
-
Per Tipo del job di migrazione, seleziona Continuo.
Lascia invariati i valori predefiniti per le altre impostazioni.
- Fai clic su Salva e continua.
Definisci l'istanza di origine
In questo passaggio definirai l'istanza di origine per la migrazione.
- Per Profilo di connessione di origine, seleziona postgres-vm.
Lascia invariati i valori predefiniti per le altre impostazioni.
- Fai clic su Salva e continua.
Crea l'istanza di destinazione
In questo passaggio creerai l'istanza di destinazione per la migrazione.
-
Per ID istanza di destinazione, inserisci postgresql-cloudsql.
-
Per Password, inserisci supersecret!.
-
Per Scegli una versione di Cloud SQL, seleziona Enterprise.
-
Per Versione database, seleziona Cloud SQL per PostgreSQL 13.
-
Nella sezione Scegli regione e zona, seleziona Zona singola e seleziona
come Zona principale. -
Per Connettività dell'istanza, seleziona IP privato e IP pubblico.
-
Seleziona Utilizza un intervallo IP allocato automaticamente.
Lascia invariati i valori predefiniti per le altre impostazioni.
- Fai clic su Assegna e connetti.
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à.
Inserisci le informazioni aggiuntive necessarie per creare l'istanza di destinazione su Cloud SQL.
-
Per Forme di macchine controlla 1 vCPU, 3.75 GB
-
Per Tipo di archiviazione, seleziona SSD
-
Per Capacità di archiviazione, seleziona 10 GB
-
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.
-
Per Metodo di connettività, seleziona Peering VPC.
-
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.
- Fai clic su Configura 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.
-
Ottieni l'intervallo di indirizzi IP allocati. Nella console Google Cloud, nel menu di navigazione (
), fai clic con il pulsante destro del mouse su Rete VPC > Peering di rete VPC e aprilo in una nuova scheda.
-
Fai clic sulla voce
servicenetworking-googleapis-com
. -
Nella scheda Route importate, seleziona e copia l'
Intervallo IP di destinazione
(ad esempio, 10.107.176.0/24). -
Nella sessione del terminale sull'istanza VM, modifica il file
pg_hba.conf
come segue:
- Nell'ultima riga del file:
sostituisci l'intervallo "tutti gli indirizzi IP" (0.0.0.0/0) con l'intervallo copiato al punto 3 sopra.
-
Salva ed esci dall'editor nano con Ctrl-O, Invio, Ctrl-X
-
Riavvia il servizio PostgreSQL per applicare le modifiche. Nella sessione del terminale dell'istanza VM:
Testa e avvia il job di migrazione continuo
In questo passaggio, testerai e avvierai il job di migrazione.
-
Nella scheda Database Migration Service aperta in precedenza, esamina i dettagli del job di migrazione.
-
Fai clic su Testa il job.
-
Dopo aver completato con successo il test, fai clic su Crea e avvia job.
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.
-
Nella console Google Cloud, nel menu di navigazione (
), fai clic su Migrazione del database > Job di migrazione.
-
Fai clic sul job di migrazione vm-to-cloudsql per visualizzare la pagina dei dettagli.
-
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.
Fai clic su Controlla i miei progressi per verificare l'obiettivo.
Attività 4: conferma i dati in Cloud SQL per PostgreSQL
Controlla i database PostgreSQL in Cloud SQL
-
Nella console Google Cloud, nel menu di navigazione (
), fai clic su Database > SQL.
-
Espandi l'ID dell'istanza denominato postgresql-cloudsql-master.
-
Fai clic sull'istanza postgresql-cloudsql (replica di lettura PostgreSQL).
-
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
-
Nel menu Istanza di replica, fai clic su Panoramica.
-
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:
- Esegui il comando precompilato.
Se richiesto, fai clic su Autorizza per l'API.
- Quando ti viene richiesta la password che hai impostato in precedenza, inserisci:
Ora hai attivato la console interattiva PostgreSQL per l'istanza di destinazione.
Esamina i dati nell'istanza Cloud SQL per PostgreSQL
- Per selezionare il database nella console interattiva PostgreSQL, esegui il comando seguente:
- Quando viene richiesta la password, inserisci:
- Esegui la query nella tabella
distribution_centers
:
(Output)
- Esci dalla console interattiva PostgreSQL digitando:
Aggiorna i dati dell'origine autonoma per testare la migrazione continua
- In Cloud Shell, digita i seguenti comandi per connetterti all'istanza PostgreSQL di origine:
- Quando viene richiesta la password, inserisci:
- In psql, inserisci questi comandi:
- Chiudi la sessione psql interattiva:
Connettiti al database Cloud SQL PostgreSQL per verificare che sia stata eseguita la migrazione dei dati aggiornati
- In Cloud Shell, digita i seguenti comandi per connetterti all'istanza Cloud SQL PostgreSQL di destinazione:
- Quando ti viene richiesta la password che hai impostato in precedenza, inserisci la password per l'istanza Cloud SQL:
Ora hai attivato la console interattiva PostgreSQL per l'istanza di destinazione.
Esamina i dati nel database Cloud SQL per PostgreSQL
- In Cloud Shell, seleziona il database attivo nella console interattiva PostgreSQL:
- Quando ti viene richiesta la password che hai impostato in precedenza, inserisci:
- Esegui la query nella tabella
distribution_centers
:
(Output)
Nota che la nuova riga aggiunta al database autonomo orders
è ora presente nel database migrato.
- Esci dalla console interattiva PostgreSQL:
Fai clic su Controlla i miei progressi per verificare l'obiettivo.
Attività 5: promuovi l'istanza Cloud SQL in modo che sia autonoma per la lettura e la scrittura dei dati
-
Nella console Google Cloud, nel menu di navigazione (
), fai clic su Migrazione del database > Job di migrazione.
-
Fai clic sul job di migrazione vm-to-cloudsql per visualizzare la pagina dei dettagli.
-
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.
- Nella console Google Cloud, nel menu di navigazione (
), fai clic su Database > SQL.
Nota che postgresql-cloudsql è ora un'istanza standalone per la lettura e la scrittura dei dati.
Fai clic su Controlla i miei progressi per verificare l'obiettivo.
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: 14 maggio 2024
Ultimo test del lab: 14 maggio 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.