Esegui la migrazione dei database utilizzando un file fisico Percona XtraBackup

Puoi eseguire la migrazione dei database MySQL in Cloud SQL utilizzando i file di backup fisici del database creati con l'utilità Percona XtraBackup for MySQL. La migrazione con file di backup fisici offre una maggiore velocità di ripristino dei dati rispetto alle migrazioni che utilizzano file di backup logici. È per questo che sono un'ottima scelta per spostare database di grandi dimensioni che contengono molti terabyte di dati.

Questo flusso di migrazione prevede le seguenti attività:

  1. Esegui il backup dell'istanza MySQL di origine e prepara i file di backup fisici utilizzando l'utilità Percona XtraBackup for MySQL.

  2. Carica i file di backup in un bucket Cloud Storage.

  3. Crea ed esegui il job di migrazione in Database Migration Service.

    A seconda dello scenario, puoi creare l'istanza di destinazione autonomamente o lasciare che sia Database Migration Service a farlo per te nell'ambito del flusso di creazione del job di migrazione. Per ulteriori informazioni, consulta il passaggio Configurare ed eseguire il job di migrazione.

  4. Promuovi il job di migrazione dopo che i dati sono stati trasferiti del tutto.

Migrazioni offline

Questa guida descrive gli scenari di migrazione per gli ambienti in cui puoi garantire la connettività di rete tra le istanze del database di origine e di destinazione.

È possibile eseguire una migrazione di prova in cui Database Migration Service non si connette all'istanza di origine. Database Migration Service legge solo i file di backup che carichi nel bucket Cloud Storage e ne replica i contenuti nella destinazione Cloud SQL per MySQL. Un flusso di migrazione che non utilizza la connettività di rete non è consigliato per le migrazioni di produzione, in quanto Database Migration Service non può eseguire completamente la convalida dei dati.

Se vuoi provare a eseguire un job di migrazione offline, modifica le procedure nel seguente modo:

Limitazioni

Questa sezione elenca le limitazioni per le migrazioni che utilizzano i file fisici di Percona XtraBackup:

  • La migrazione a MySQL 5.6 o 8.4 con un file di backup fisico non è supportata. Consulta la sezione Limitazioni note.

  • Considerazioni sulle versioni:

    • Puoi eseguire la migrazione solo all'interno della stessa versione principale del database, ad esempio da MySQL 8.0.30 a MySQL 8.0.35 o da MySQL 5.7.0 a MySQL 5.7.1.
    • Non puoi eseguire la migrazione da MySQL 5.7 a MySQL 8.0.

    • La migrazione non è supportata per le versioni principali o secondarie precedenti del database. Ad esempio, non puoi eseguire la migrazione da MySQL 8.0 a 5.7 o da MySQL 8.0.36 a 8.0.16.

  • Devi utilizzare Percona XtraBackup per eseguire il backup dei dati nel bucket Cloud Storage. Altre utilità di backup non sono supportate.

  • La migrazione del database da un file fisico Percona XtraBackup è supportata solo per i database MySQL on-premise o autogestiti in VM. La migrazione da Amazon Aurora o MySQL su database Amazon RDS non è supportata.

  • Puoi eseguire la migrazione solo da un backup completo. Altri tipi di backup, come i backup incrementali o parziali, non sono supportati.

  • La migrazione del database non include gli utenti o i privilegi del database.

  • Devi impostare il formato del log binario su ROW. Se configuri il log binario in un altro formato, ad esempio STATEMENT o MIXED, la replica potrebbe non riuscire.

  • Qualsiasi database con una tabella di dimensioni superiori a 5 TB non è supportato.

  • Cloud Storage limita le dimensioni di un file che puoi caricare in un bucket a 5 TB. Se il file fisico Percona XtraBackup supera i 5 TB, devi suddividere il file di backup in file più piccoli.

  • Assicurati di caricare i file di backup in una cartella Cloud Storage dedicata che non contenga altri file.

  • Devi configurare il parametro innodb_data_file_path con un solo file di dati che utilizzi il nome file dei dati predefinito ibdata1. Se il database è configurato con due file di dati o ha un file di dati con un nome diverso, non puoi eseguire la migrazione del database utilizzando un file fisico Percona XtraBackup. Ad esempio, un database configurato con innodb_data_file_path=ibdata01:50M:autoextend non è supportato per la migrazione.

  • Il parametro innodb_page_size nell'istanza di origine deve essere configurato con il valore predefinito 16384.

  • Non puoi eseguire la migrazione di plug-in dal database esterno.

Costi

Per le migrazioni omogenee a Cloud SQL, Database Migration Service viene offerto senza costi aggiuntivi. Tuttavia, i prezzi di Cloud SQL e Cloud Storage si applicano ai costi di rete, nonché alle entità Cloud SQL e Cloud Storage create a scopo di migrazione.

In questo documento utilizzi i seguenti componenti fatturabili di Google Cloud:

  • Cloud Storage
  • Cloud SQL

Per generare una stima dei costi in base all'utilizzo previsto, utilizza il Calcolatore prezzi. I nuovi Google Cloud utenti potrebbero avere diritto a una prova gratuita.

Prima di iniziare

  1. Valuta in quale regione vuoi creare il database di destinazione. Database Migration Service è un prodotto completamente regionale, il che significa che tutte le entità correlate alla migrazione (profili di connessione di origine e di destinazione, job di migrazione, database di destinazione, bucket di archiviazione) devono essere salvate in un'unica regione.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Enable the Database Migration Service, Compute Engine, and Cloud SQL Admin APIs.

    Enable the APIs

Ruoli obbligatori

Per ottenere le autorizzazioni necessarie per eseguire migrazioni MySQL omogenee utilizzando i file di backup fisici, chiedi all'amministratore di concederti i seguenti ruoli IAM nel progetto:

Per saperne di più sulla concessione dei ruoli, consulta Gestire l'accesso a progetti, cartelle e organizzazioni.

Questi ruoli predefiniti contengono le autorizzazioni necessarie per eseguire migrazioni MySQL omogenee utilizzando file di backup fisici. Per visualizzare le autorizzazioni esatte richieste, espandi la sezione Autorizzazioni richieste:

Autorizzazioni obbligatorie

Per eseguire migrazioni MySQL omogenee utilizzando i file di backup fisici, sono necessarie le seguenti autorizzazioni:

  • Account utente che esegue la migrazione:
    • datamigration.*
    • resourcemanager.projects.get
    • resourcemanager.projects.list
    • cloudsql.instances.create
    • cloudsql.instances.get
    • cloudsql.instances.list
    • compute.machineTypes.list
    • compute.machineTypes.get
    • compute.projects.get
    • storage.buckets.create
    • storage.buckets.list

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

Passaggio 1: Tieni conto dei requisiti di connettività di rete

Esistono diversi metodi di networking che puoi utilizzare per configurare la connettività tra l'origine e le istanze Cloud SQL di destinazione. A seconda del metodo utilizzato, potrebbero essere necessari passaggi aggiuntivi durante il processo di migrazione.

Valuta quale metodo di connettività è adatto al tuo scenario prima di procedere con i passaggi successivi, poiché la tua scelta potrebbe influire sulle impostazioni da utilizzare. Per ulteriori informazioni, consulta Configurare la connettività.

Passaggio 2: Prepara i dati di origine

Segui questi passaggi per preparare i dati per la migrazione:

  1. Installa la versione corretta dell'utilità Percona XtraBackup sull'istanza di origine. Devi utilizzare una versione di Percona XtraBackup uguale o successiva alla versione dell'istanza di origine. Per ulteriori informazioni, consulta Confronto tra la versione del server e la versione del backup nella documentazione di Percona XtraBackup.
  2. Esporta e prepara il file di backup fisico dell'istanza di origine utilizzando Percona XtraBackup. Per informazioni complete sull'utilizzo di Percona XtraBackup, consulta la documentazione dello strumento. Puoi anche espandere la sezione seguente per un esempio di passaggi consigliati.

    Passaggi consigliati di esempio per creare e preparare i file di backup fisici utilizzando Percona XtraBackup

    Prima di utilizzare i dati dei comandi riportati di seguito, effettua le seguenti sostituzioni:

    • TARGET_DIR con il percorso in cui vuoi salvare il file di backup di output.
    • USERNAME con un utente che dispone del privilegio BACKUP_ADMIN sull'istanza di origine.
    • PASSWORD con la password dell'account USERNAME.
    1. Esegui un backup fisico completo dell'istanza di origine. Esegui il seguente comando:
        xtrabackup --backup \
          --target-dir=TARGET_DIR \
          --user=USERNAME \
          --password=PASSWORD
            
    2. Quando il file di backup è pronto, utilizza il comando --prepare per garantire la coerenza del file. Esegui questo comando:
        xtrabackup --prepare --target-dir=TARGET_DIR
            
  3. Crea un bucket in cui archiviare i file di backup. Assicurati di utilizzare la stessa regione di quella in cui intendi creare l'istanza Cloud SQL per MySQL di destinazione.

    Database Migration Service è un prodotto completamente regionale, il che significa che tutte le entità correlate alla migrazione (profili di connessione di origine e di destinazione, job di migrazione, database di destinazione, bucket di archiviazione per i file di backup) devono essere salvate in un'unica regione.

  4. Carica i file di backup nel bucket Cloud Storage. Assicurati di caricare i file di backup in una cartella Cloud Storage dedicata che non contenga altri file. Consulta Caricare oggetti da un file system nella documentazione di Cloud Storage.
  5. Crea il profilo di connessione di origine per l'istanza del database di origine.

    Console

    Per creare un profilo di connessione di origine:

    1. Vai alla pagina Profili di connessione nella Google Cloud console.
    2. Fai clic su Crea profilo.
    3. Nella pagina Crea un profilo di connessione, seleziona MySQL dal menu a discesa Motore del database.
    4. Nel campo Nome profilo di connessione, inserisci un nome leggibile per il tuo profilo di connessione. Questo valore viene visualizzato nell'elenco dei profili di connessione.
    5. Mantieni l'ID profilo di connessione generato automaticamente.
    6. Inserisci un nome host o un indirizzo IP.
      • Se il database di origine è ospitato in Google Cloudo se viene utilizzato un tunnel SSH inverso per collegare il database di destinazione a quello di origine, specifica l'indirizzo IP privato (interno) per il database di origine. Questo indirizzo sarà accessibile dalla destinazione Cloud SQL. Per ulteriori informazioni, consulta Configurare la connettività utilizzando il peering VPC.

        Per altri metodi di connettività, come la lista consentita IP, fornisci l'indirizzo IP pubblico.

    7. Inserisci la porta utilizzata per accedere all'host. La porta predefinita di MySQL è 3306.
    8. Inserisci un nome utente e una password per il database di destinazione. L'account utente deve disporre dei privilegi richiesti per accedere ai tuoi dati. Per ulteriori informazioni, consulta Configurare il database di origine.
    9. Nella sezione Regione del profilo di connessione della pagina, seleziona la regione in cui vuoi salvare il profilo di connessione.
    10. (Facoltativo) Se la connessione viene effettuata su una rete pubblica (utilizzando liste consentite IP), ti consigliamo di utilizzare la crittografia SSL/TLS per la connessione tra i database di origine e di destinazione.

      Nella sezione Proteggi la connessione della pagina puoi selezionare tre opzioni per la configurazione SSL/TLS:

      1. Nessuno: l'istanza di destinazione Cloud SQL si connette al database di origine senza crittografia.
      2. Autenticazione solo server: quando l'istanza di destinazione Cloud SQL si connette al database di origine, autentica l'origine, assicurandosi che la connessione all'host corretto sia sicura. In questo modo si evitano attacchi man-in-the-middle. Per l'autenticazione solo del server, l'origine non autentica l'istanza.

        Per utilizzare l'autenticazione solo del server, devi fornire il certificato x509 con codifica PEM dell'autorità di certificazione (CA) che ha firmato il certificato del server esterno.

      3. Autenticazione server-client: quando l'istanza di destinazione si connette all'origine, l'istanza autentica l'origine e l'origine autentica l'istanza.

        L'autenticazione server-client offre la massima sicurezza. Tuttavia, se non vuoi fornire il certificato client e la chiave privata quando crei l'istanza di destinazione Cloud SQL, puoi comunque utilizzare l'autenticazione solo lato server.

        Per utilizzare l'autenticazione server-client, devi fornire i seguenti elementi quando crei il profilo di connessione di destinazione:

        • Il certificato dell'autorità di certificazione che ha firmato il certificato del server di database di origine (il certificato CA).
        • Il certificato utilizzato dall'istanza per eseguire l'autenticazione nel server di database di origine (il certificato client).
        • La chiave privata associata al certificato client (la chiave client).
    11. Fai clic su Crea. Il profilo di connessione è stato creato.

    gcloud

    Questo esempio utilizza il flag facoltativo --no-async in modo che tutte le operazioni vengano eseguite in modo sincrono. Ciò significa che il completamento di alcuni comandi potrebbe richiedere un po' di tempo. Puoi saltare il flag --no-async per eseguire i comandi in modo asincrono. In questo caso, devi utilizzare il comando gcloud database-migration operations describe per verificare se l'operazione è riuscita.

    Prima di utilizzare i dati dei comandi riportati di seguito, effettua le seguenti sostituzioni:

    • CONNECTION_PROFILE_ID con un identificatore leggibile dalla macchina per il tuo profilo di connessione.
    • REGION con l'identificatore della regione in cui vuoi salvare il profilo di connessione.
    • HOST_IP_ADDRESS con l'indirizzo IP su cui Database Migration Service può raggiungere l'istanza del database di origine. Questo valore può variare in base al metodo di connettività utilizzato per la migrazione.
    • PORT_NUMBER con il numero di porta in cui il database di origine accetta le connessioni in entrata. La porta MySQL predefinita è 3306.
    • USERNAME con il nome dell'account utente del database con cui vuoi che Database Migration Service si connetta all'istanza del database di origine.
    • PASSWORD con la password dell'account utente del database.
    • (Facoltativo) CONNECTION_PROFILE_NAME con un nome leggibile per il profilo di connessione. Questo valore viene visualizzato nella console Google Cloud.

    Esegui il seguente comando:

    Linux, macOS o Cloud Shell

    gcloud database-migration connection-profiles \
    create mysql CONNECTION_PROFILE_ID \
      --no-async \
      --region=REGION \
      --host=HOST_IP_ADDRESS \
      --port=PORT_NUMBER \
      --username=USERNAME \
      --password=PASSWORD \
      --display-name=CONNECTION_PROFILE_NAME

    Windows (PowerShell)

    gcloud database-migration connection-profiles `
    create mysql CONNECTION_PROFILE_ID `
      --no-async `
      --region=REGION `
      --host=HOST_IP_ADDRESS `
      --port=PORT_NUMBER `
      --username=USERNAME `
      --password=PASSWORD `
      --display-name=CONNECTION_PROFILE_NAME

    Windows (cmd.exe)

    gcloud database-migration connection-profiles ^
    create mysql CONNECTION_PROFILE_ID ^
      --no-async ^
      --region=REGION ^
      --host=HOST_IP_ADDRESS ^
      --port=PORT_NUMBER ^
      --username=USERNAME ^
      --password=PASSWORD ^
      --display-name=CONNECTION_PROFILE_NAME

    Dovresti ricevere una risposta simile alla seguente:

    Waiting for connection profile [CONNECTION_PROFILE_ID]
    to be created with [OPERATION_ID]
    
    Waiting for operation [OPERATION_ID] to complete...done.
    
    Created connection profile CONNECTION_PROFILE_ID [OPERATION_ID]
    

Passaggio 3: Configura ed esegui il job di migrazione

Quando esegui la migrazione con Percona XtraBackup, ti consigliamo di creare autonomamente l'istanza di destinazione Cloud SQL o di chiedere a Database Migration Service di farlo per te. Per ulteriori informazioni, consulta Panoramica della creazione dei job di migrazione.

Ognuno di questi approcci richiede di seguire un insieme di procedure leggermente diverso. Utilizza il menu a discesa per visualizzare le procedure pertinenti per il tuo scenario:

  • Se vuoi che sia Database Migration Service a creare il database di destinazione, seleziona Esegui la migrazione a una nuova istanza di destinazione.
  • Se vuoi eseguire la migrazione a un database di destinazione creato al di fuori di Database Migration Service, seleziona Esegui la migrazione a un'istanza di destinazione esistente.

  • Quando esegui la migrazione a una nuova istanza di destinazione, Database Migration Service crea l'istanza Cloud SQL per MySQL di destinazione durante il flusso di creazione del job di migrazione.

    Passaggio 3a. Crea il job di migrazione in una nuova istanza di destinazione

    Per creare un job di migrazione in una nuova istanza di destinazione:

    Console

    Definisci le impostazioni per il job di migrazione

    1. Nella console Google Cloud, vai alla pagina Job di migrazione.

      Vai a Job di migrazione

    2. Fai clic su Crea job di migrazione.

      Si apre la pagina della procedura guidata di configurazione del job di migrazione. Questa procedura guidata contiene più riquadri che ti guidano in ogni passaggio di configurazione.

      Puoi mettere in pausa la creazione di un job di migrazione in qualsiasi momento facendo clic su SALVA E ESCI. Tutti i dati inseriti fino a quel punto vengono salvati in una bozza del job di migrazione. Puoi completare il job di migrazione della bozza in un secondo momento.

    3. Nella pagina Inizia, inserisci le seguenti informazioni:
      1. Nome job di migrazione

        Si tratta di un nome leggibile per il job di migrazione. Questo valore viene visualizzato nella console Google Cloud.

      2. ID job di migrazione

        Si tratta di un identificatore leggibile dalla macchina per il job di migrazione. Utilizza questo valore per lavorare con i job di migrazione utilizzando i comandi o l'API Google Cloud CLI di Database Migration Service.

      3. Nell'elenco Motore del database di origine, seleziona MySQL.

        Il campo Motore del database di destinazione viene compilato automaticamente e non può essere modificato.

      4. Seleziona la regione in cui salvare il job di migrazione.

        Database Migration Service è un prodotto completamente regionale, il che significa che tutte le entità correlate alla migrazione (profili di connessione di origine e di destinazione, job di migrazione, database di destinazione) devono essere salvate in un'unica regione. Seleziona la regione in base alla posizione dei servizi che richiedono i tuoi dati, ad esempio istanze di Compute Engine o app di App Engine e altri servizi. Una volta scelta la regione di destinazione, questa selezione non può essere modificata.

    4. Fai clic su Salva e continua.

    Specifica le informazioni sul profilo di connessione di origine

    1. Nella pagina Definisci un'origine, segui questi passaggi:
      1. Nel menu a discesa Profilo di connessione di origine, seleziona il profilo di connessione per il database di origine.
      2. Nella sezione Personalizza la configurazione del dump completo, fai clic su Modifica configurazione.
      3. Nel riquadro Modifica la configurazione del dump completo, seleziona In base a dati fisici dal menu a discesa Metodo di dump completo.
      4. In Fornisci la cartella, fai clic su Sfoglia, poi seleziona la cartella in cui hai caricato il tuo file dump completo (passaggio 3 della sezione Prepara i dati di origine).
      5. Fai clic su Salva.
    2. Fai clic su Salva e continua.

    Configura e crea l'istanza Cloud SQL di destinazione

    1. Nella pagina Definire una destinazione, seleziona Nuova istanza dal menu a discesa Tipo di istanza destinazione. Definisci tutte le impostazioni pertinenti:
      1. Nel campo ID istanza di destinazione, fornisci un identificatore per l'istanza Cloud SQL o utilizza l'identificatore generato automaticamente.

        Non includere informazioni sensibili o che consentono l'identificazione personale nell'identificatore. Non è necessario includere l'ID progetto nel nome dell'istanza. Questa operazione viene eseguita automaticamente, se opportuno, (ad esempio nei file di log).

      2. Nel campo Password, fornisci una password alfanumerica per l'istanza Cloud SQL di destinazione. Questa è la password dell'account amministratore root nell'istanza.

        Puoi inserire la password manualmente o fare clic su Genera per consentire a Database Migration Service di crearne una automaticamente.

      3. Nel menu a discesa Versione database, scegli la versione del database per l'istanza di destinazione.

        Fai clic su Mostra versioni secondarie per visualizzare tutte le versioni secondarie. Scopri di più sul supporto della migrazione tra versioni.

      4. Seleziona la versione Cloud SQL per MySQL per l'istanza di destinazione. Sono disponibili due opzioni: Cloud SQL per MySQL Enterprise e Cloud SQL per MySQL Enterprise Plus.

        Le versioni di Cloud SQL per MySQL sono dotate di diversi set di funzionalità, tipi di macchine disponibili e prezzi. Assicurati di consultare la documentazione di Cloud SQL per scegliere la versione più adatta alle tue esigenze. Per ulteriori informazioni, consulta Introduzione alle versioni di Cloud SQL per MySQL.

      5. Il menu Regione mostra la stessa regione selezionata nella pagina Inizia.

        Se configuri l'istanza per la disponibilità elevata, seleziona Più zone (disponibilità elevata). Puoi selezionare sia la zona principale che quella secondaria. Quando viene utilizzata la zona secondaria durante la creazione dell'istanza, si applicano le seguenti condizioni:

        • Per impostazione predefinita, le zone sono Qualsiasi per la zona principale e Qualsiasi (diversa dalla principale) per la zona secondaria.
        • Se sono specificate entrambe le zone, primaria e secondaria, devono essere zone diverse.
      6. Nella sezione Connessioni, scegli se aggiungere un indirizzo IP pubblico o privato per l'istanza di destinazione. Puoi configurare l'istanza in modo che abbia entrambi i tipi di indirizzi IP, ma per la migrazione è necessario almeno un tipo. Seleziona una delle seguenti opzioni:
        • Se vuoi eseguire la migrazione utilizzando il peering VPC o un tunnel SSH inverso, seleziona IP privato.
          • Per attivare la connettività con IP privato, assicurati di soddisfare tutti i requisiti di rete aggiuntivi.

            Espandi questa sezione per visualizzare i requisiti completi per gli IP privati.

          • Seleziona la rete VPC associata al peering. Se prevedi di connetterti all'origine di migrazione utilizzando il peering VPC, scegli il VPC in cui risiede l'istanza.
          • Se per il VPC selezionato non è mai stata configurata una rete di servizi gestita, puoi scegliere di selezionare un intervallo IP e fare clic su Connetti oppure utilizzare un intervallo IP selezionato automaticamente e fare clic su Alloca e connetti.
        • Se vuoi eseguire la migrazione tramite internet utilizzando una lista consentita IP, seleziona IP pubblico.

          Se vuoi, in IP pubblico fai clic sul campo Reti autorizzate e autorizza una rete o un proxy a connettersi all'istanza Cloud SQL. Le reti sono autorizzate solo con gli indirizzi forniti. Consulta Configurare l'IP pubblico nella documentazione di Cloud SQL.

        Configura la connettività del job di migrazione in un passaggio successivo. Per scoprire di più sui metodi di networking disponibili, consulta Configurare la connettività.

    2. Seleziona il tipo di macchina per l'istanza Cloud SQL. La dimensione del disco deve essere uguale o superiore a quella del database di origine. Scopri di più sui tipi di macchine MySQL.
    3. Per la versione Cloud SQL per MySQL Enterprise Plus: seleziona la casella di controllo Abilita cache dei dati se vuoi utilizzare la funzionalità di cache dei dati nel database di destinazione.

      La cache dei dati è una funzionalità facoltativa disponibile per le istanze di Cloud SQL per MySQL Enterprise Plus che aggiunge un'unità a stato solido locale ad alta velocità al database di destinazione. Questa funzionalità può comportare costi aggiuntivi per Cloud SQL. Per ulteriori informazioni sulla cache dei dati, consulta Panoramica della cache dei dati nella documentazione di Cloud SQL.

    4. Specifica il tipo di archiviazione per l'istanza Cloud SQL. Puoi scegliere tra un' unità a stato solido (SSD) o un'unità disco rigido (HDD).
    5. Specifica la capacità di archiviazione (in GB) per l'istanza Cloud SQL.

      Assicurati che l'istanza abbia una capacità di archiviazione sufficiente per gestire i dati del database di origine. Puoi aumentare questa capacità in qualsiasi momento, ma non puoi diminuirla.

    6. (Facoltativo) Configura le opzioni di crittografia dei dati o le etichette delle risorse per l'istanza di destinazione.

      Espandi questa sezione per visualizzare i passaggi facoltativi.

      Fai clic su Mostra configurazioni facoltative e poi:

      1. Specifica se vuoi gestire la crittografia dei dati sottoposti a migrazione dall'origine alla destinazione. Per impostazione predefinita, i tuoi dati sono criptati con una chiave gestita da Google Cloud. Se vuoi gestire la crittografia, puoi utilizzare una chiave di crittografia gestita dal cliente (CMEK). Ecco come fare:

        1. Seleziona la casella di controllo Utilizza una chiave di crittografia gestita dal cliente (CMEK).
        2. Dal menu Seleziona una chiave gestita dal cliente, seleziona la tua CMEK.

        Se non vedi la chiave, fai clic su Inserisci il nome risorsa della chiave per fornire il nome della risorsa della chiave che vuoi utilizzare. Esempio di nome della risorsa chiave: projects/my-project-name/locations/my-location/keyRings/my-keyring/cryptoKeys/my-key.

      2. Aggiungi eventuali flag necessari da applicare al server di database. Se possibile, assicurati che i flag di database sull'istanza Cloud SQL di destinazione creata siano gli stessi del database di origine. Scopri di più sui flag di database supportati per MySQL.
      3. Aggiungi eventuali etichette specifiche per l'istanza Cloud SQL.

        Le etichette consentono di organizzare le istanze. Ad esempio, puoi organizzare le etichette per centro di costo o ambiente. Le etichette sono incluse anche nella fattura, pertanto puoi vedere come sono distribuiti i costi nelle varie etichette.

    7. Fai clic su Crea destinazione e continua. Database Migration Service sta creando l'istanza Cloud SQL di destinazione. Questa procedura può richiedere diversi minuti.

    Configurare la connettività tra le istanze del database di origine e di destinazione

    Dal menu a discesa Metodo di connettività, seleziona un metodo di connettività di rete. Questo metodo definisce la modalità di collegamento dell'istanza Cloud SQL appena creata al database di origine. I metodi di connettività di rete attuali includono lista consentita di IP, tunnel SSH inverso e peering VPC.

    Se vuoi utilizzare…Poi…
    Il metodo di connettività di rete della lista consentita IP, Devi specificare l'indirizzo IP in uscita dell'istanza di destinazione. Se l'istanza Cloud SQL che hai creato è un'istanza di alta disponibilità, includi gli indirizzi IP in uscita sia per l'istanza principale sia per quella secondaria.
    Il metodo di connettività di rete del tunnel SSH inverso, Devi selezionare l'istanza VM di Compute Engine che ospiterà il tunnel.

    Dopo aver specificato l'istanza, Google fornirà uno script che esegue i passaggi per configurare il tunnel tra i database di origine e di destinazione. Dovrai eseguire lo script in Google Cloud CLI.

    Esegui i comandi da una macchina con connettività sia al database di origine sia a Google Cloud.

    Il metodo di connettività di rete del peering VPC, Devi selezionare la rete VPC in cui si trova il database di origine. L'istanza Cloud SQL verrà aggiornata in modo da connettersi a questa rete.

    Dopo aver selezionato e configurato la connettività di rete, fai clic su Configura e continua.

    Crea il job di migrazione

    In Testa e crea il job di migrazione, verifica le impostazioni del job di migrazione. A questo punto, il test del job di migrazione non andrà a buon fine, perché l'account di servizio associato all'istanza Cloud SQL di destinazione non dispone delle autorizzazioni necessarie.

    Esegui una delle seguenti azioni prima di testare il job per convalidarne la configurazione:

    • Se vuoi testare il job di migrazione utilizzando la console Google Cloud dopo aver assegnato le autorizzazioni all'account di servizio dell'istanza di destinazione, fai clic su Salva ed esci. Questa azione salva il job di migrazione come bozza. Puoi tornare a questa schermata in un secondo momento, testare il job di migrazione ed eseguirlo.
    • Se vuoi testare il job di migrazione utilizzando Google Cloud CLI dopo aver assegnato le autorizzazioni all'account di servizio dell'istanza di destinazione,fai clic su Crea. Con Google Cloud CLI, puoi testare un job di migrazione creato, ma non ancora avviato.

    gcloud

    1. Crea il profilo di connessione di destinazione.
      Quando esegui la migrazione a una nuova istanza di destinazione con Google Cloud CLI, crei l'istanza di destinazione e il profilo di connessione in un'unica azione.
      Esegui il seguente comando (fai clic sul link per espandere):

      gcloud database-migration connection-profiles create cloudsql

      Questo esempio utilizza il flag facoltativo --no-async in modo che tutte le operazioni vengano eseguite in modo sincrono. Ciò significa che il completamento di alcuni comandi potrebbe richiedere un po' di tempo. Puoi saltare il flag --no-async per eseguire i comandi in modo asincrono. In questo caso, devi utilizzare il comando gcloud database-migration operations describe per verificare se l'operazione è riuscita.

      Prima di utilizzare i dati dei comandi riportati di seguito, effettua le seguenti sostituzioni:

      • CONNECTION_PROFILE_ID con un identificatore leggibile dalla macchina per il tuo profilo di connessione.
      • DATABASE_VERSION con la versione MySQL che vuoi utilizzare nell'istanza di destinazione. Le versioni del database vengono specificate come stringhe che includono sia la versione principale che quella secondaria. Ad esempio: MYSQL_8_0, MYSQL_8_0_32, MYSQL_8_0_36.

        Per tutte le possibili versioni di MySQL, consulta il riferimento al flag --database-version.

      • (Facoltativo) EDITION Per impostazione predefinita, le nuove istanze create con Google Cloud CLI utilizzano Cloud SQL per la versione Enterprise Plus di MySQL. Se prevedi di utilizzare la versione Cloud SQL per MySQL Enterprise Plus, assicurati che la tua regione sia supportata per questa versione. Consulta Supporto delle regioni per Cloud SQL per MySQL Enterprise Plus.

        Puoi modificare la versione utilizzando il flag --edition con uno dei seguenti valori:

        • enterprise-plus per la versione Cloud SQL per MySQL Enterprise Plus
        • enterprise per la versione Enterprise di Cloud SQL per MySQL
      • TIER con il nome del tipo di macchina Cloud SQL che vuoi utilizzare. I tipi di macchine vengono specificati come stringhe che seguono la convenzione Cloud SQL, ad esempio db-n1-standard-1, db-perf-optimized-N-2. Per un elenco completo dei tipi di macchine disponibili e dei relativi identificatori da utilizzare con la CLI Google Cloud, consulta Tipo di macchine nella documentazione di Cloud SQL per MySQL.

        Per impostazione predefinita, le istanze create con Google Cloud CLI utilizzano la versione Enterprise Plus di Cloud SQL per MySQL, che offre diversi tipi di macchine. Se vuoi utilizzare un tipo di macchina disponibile solo nella versione Enterprise di Cloud SQL per MySQL, utilizza il flag facoltativo --edition=enterprise per specificare la versione.

      • REGION con l'identificatore della regione in cui vuoi salvare il profilo di connessione.

        Per impostazione predefinita, le nuove istanze create con Google Cloud CLI utilizzano la versione Enterprise Plus di Cloud SQL per MySQL. Se prevedi di utilizzare la versione Cloud SQL per MySQL Enterprise Plus, assicurati che la tua regione sia supportata per questa versione. Consulta Supporto delle regioni per Cloud SQL per MySQL Enterprise Plus. Puoi modificare la versione utilizzando il flag facoltativo --edition.

      • (Facoltativo) CONNECTION_PROFILE_NAME con un nome leggibile per il profilo di connessione. Questo valore viene visualizzato nella console Google Cloud.
      • Configurazione della rete

        Per impostazione predefinita, alle nuove istanze create con Google Cloud CLI è assegnato un indirizzo IP pubblico e sono configurate per utilizzare la connettività IP pubblico. Puoi utilizzare altri metodi di connettività. Per ulteriori informazioni, consulta la pagina Configurare la connettività.

        Non è necessario utilizzare flag aggiuntivi se vuoi utilizzare la connettività IP pubblico. Se vuoi utilizzare la connettività IP privata con il peering di rete VPC o un tunnel SSH inverso, assicurati di soddisfare i seguenti requisiti di rete aggiuntivi per attivare la connettività IP privato e includi flag aggiuntivi nel comando.

        Espandi questa sezione per visualizzare i requisiti completi per gli IP privati.

        Includi i seguenti flag aggiuntivi se vuoi utilizzare la connettività IP privato (con il peering di rete VPC o con un tunnel SSH inverso su una VM Compute Engine):

        • --no-enable-ip-v4: (Facoltativo) Per non assegnare un indirizzo IP pubblico all'istanza di destinazione. Puoi assegnare sia un indirizzo IP pubblico che uno privato all'istanza di destinazione, ma potresti non volere un indirizzo IP pubblico se utilizzi la connettività IP privata.
        • --private-network: per assegnare un indirizzo IP privato all'istanza di destinazione, specifica il nome del Virtual Private Cloud a cui vuoi assegnare un indirizzo IP privato.

      Esegui il seguente comando:

      Linux, macOS o Cloud Shell

      gcloud database-migration connection-profiles \
      create mysql CONNECTION_PROFILE_ID \
        --no-async \
        --region=REGION \
        --database-version=DATABASE_VERSION \
        --tier=TIER \
        --display-name=CONNECTION_PROFILE_NAME

      Windows (PowerShell)

      gcloud database-migration connection-profiles `
      create mysql CONNECTION_PROFILE_ID `
        --no-async `
        --region=REGION `
        --database-version=DATABASE_VERSION `
        --tier=TIER `
        --display-name=CONNECTION_PROFILE_NAME

      Windows (cmd.exe)

      gcloud database-migration connection-profiles ^
      create mysql CONNECTION_PROFILE_ID ^
        --no-async ^
        --region=REGION ^
        --database-version=DATABASE_VERSION ^
        --tier=TIER ^
        --display-name=CONNECTION_PROFILE_NAME

      Dovresti ricevere una risposta simile alla seguente:

      Waiting for connection profile [CONNECTION_PROFILE_ID]
      to be created with [OPERATION_ID]
      
      Waiting for operation [OPERATION_ID] to complete...done.
      
      Created connection profile CONNECTION_PROFILE_ID [OPERATION_ID]
      
    2. Completa la configurazione della rete.

      A seconda della connettività di rete che vuoi utilizzare, potresti dover seguire alcuni passaggi aggiuntivi prima di creare il job di migrazione.

    3. Crea il job di migrazione.
      Esegui il seguente comando (fai clic sul link per espandere):

      gcloud database-migration migration-jobs create

      Questo esempio utilizza il flag facoltativo --no-async in modo che tutte le operazioni vengano eseguite in modo sincrono. Ciò significa che il completamento di alcuni comandi potrebbe richiedere un po' di tempo. Puoi saltare il flag --no-async per eseguire i comandi in modo asincrono. In questo caso, devi utilizzare il comando gcloud database-migration operations describe per verificare se l'operazione è riuscita.

      Prima di utilizzare i dati dei comandi riportati di seguito, effettua le seguenti sostituzioni:

      • MIGRATION_JOB_ID con un identificatore leggibile dalla macchina per il tuo job di migrazione. Utilizza questo valore per lavorare con i job di migrazione utilizzando i comandi o l'API Google Cloud CLI di Database Migration Service.
      • REGION con l'identificatore della regione in cui vuoi salvare il job di migrazione.
      • MIGRATION_JOB_NAME con un nome leggibile per il job di migrazione. Questo valore viene visualizzato in Database Migration Service nella console Google Cloud.
      • SOURCE_CONNECTION_PROFILE_ID con un identificatore leggibile dalla macchina del profilo di connessione di origine.
      • DESTINATION_CONNECTION_PROFILE_ID con un identificatore leggibile dalla macchina del profilo di connessione di destinazione.
      • MIGRATION_JOB_TYPE con il tipo di job di migrazione. Sono consentiti due valori: ONE_TIME o CONTINUOUS. Per ulteriori informazioni, consulta Tipi di migrazione.
      • PATH_TO_THE_FOLDER_IN_STORAGE_BUCKET_WITH_PHYSICAL_BACKUP_FILES con il percorso dei file di backup fisici archiviati in una cartella di un bucket Cloud Storage. Utilizza il formato seguente: gs://<bucket_name>/<path_to_backup_file_folder>.
      • Configurazione della rete

        Se utilizzi la connettività IP privata con il peering di rete VPC o un tunnel SSH inverso, aggiungi al comando i seguenti flag:

        Connettività IP privata con il peering di rete VPC
        Utilizza il flag --peer-vpc per specificare il nome della rete con cui vuoi eseguire il peering.
        Tunnel SSH inverso su una VM Compute Engine
        Utilizza i seguenti flag per fornire i dettagli di rete per Compute Engine: --vm-ip, --vm-port, --vpc. Puoi anche utilizzare il flag facoltativo --vm per specificare il nome della VM.

        Per altri esempi di utilizzo, consulta Esempi di Google Cloud CLI.

      Esegui il seguente comando:

      Linux, macOS o Cloud Shell

      gcloud database-migration migration-jobs \
      create MIGRATION_JOB_ID \
        --no-async \
        --region=REGION \
        --display-name=MIGRATION_JOB_NAME \
        --source=SOURCE_CONNECTION_PROFILE_ID \
        --destination=DESTINATION_CONNECTION_PROFILE_ID \
        --type=MIGRATION_JOB_TYPE
        --dump-type=PHYSICAL
        --dump-path=PATH_TO_THE_FOLDER_IN_STORAGE_BUCKET_WITH_PHYSICAL_BACKUP_FILES

      Windows (PowerShell)

      gcloud database-migration migration-jobs `
      create MIGRATION_JOB_ID `
        --no-async `
        --region=REGION `
        --display-name=MIGRATION_JOB_NAME `
        --source=SOURCE_CONNECTION_PROFILE_ID `
        --destination=DESTINATION_CONNECTION_PROFILE_ID `
        --type=MIGRATION_JOB_TYPE
        --dump-type=PHYSICAL
        --dump-path=PATH_TO_THE_FOLDER_IN_STORAGE_BUCKET_WITH_PHYSICAL_BACKUP_FILES

      Windows (cmd.exe)

      gcloud database-migration migration-jobs ^
      create MIGRATION_JOB_ID ^
        --no-async ^
        --region=REGION ^
        --display-name=MIGRATION_JOB_NAME ^
        --source=SOURCE_CONNECTION_PROFILE_ID ^
        --destination=DESTINATION_CONNECTION_PROFILE_ID ^
        --type=MIGRATION_JOB_TYPE
        --dump-type=PHYSICAL
        --dump-path=PATH_TO_THE_FOLDER_IN_STORAGE_BUCKET_WITH_PHYSICAL_BACKUP_FILES

      Dovresti ricevere una risposta simile alla seguente:

      Waiting for migration job [MIGRATION_JOB_ID]
      to be created with [OPERATION_ID]
      
      Waiting for operation [OPERATION_ID] to complete...done.
      
      Created migration job MIGRATION_JOB_ID [OPERATION_ID]
      

    Passaggio 3b. Concedi le autorizzazioni richieste all'account di servizio dell'istanza Cloud SQL

    Quando crei il job di migrazione a una nuova istanza, Database Migration Service crea anche l'istanza Cloud SQL di destinazione. Prima di poter eseguire la migrazione, devi assegnare le autorizzazioni di Cloud Storage per l'account di servizio dell'istanza.

    Per concedere le autorizzazioni Cloud Storage all'account di servizio associato all'istanza di destinazione:

    1. Trova l'indirizzo email del account di servizio dell'istanza Cloud SQL nella rispettiva pagina dei dettagli. Questo indirizzo utilizza il seguente formato: <project-identifier>@gcp-sa-cloud-sql.iam.gserviceaccount.com. Consulta Visualizza le informazioni sull'istanza nella documentazione di Cloud SQL.
    2. Aggiungi il ruolo IAM Visualizzatore oggetti archiviazione (roles/storage.objectViewer) al account di servizio. Per informazioni su come gestire l'accesso con Identity and Access Management, consulta Gestire l'accesso a progetti, cartelle e organizzazioni nella documentazione IAM.

    Passaggio 3c. (Facoltativo) Testa il job di migrazione

    Prima di eseguire il job di migrazione, puoi eseguire un'operazione di test per verificare se Database Migration Service può raggiungere tutte le entità di origine e di destinazione necessarie. Con l'interfaccia a riga di comando gcloud, puoi testare i job di migrazione creati, ma non ancora avviati.

    Console

    Nella console Google Cloud, puoi testare solo i job di migrazione in bozza che crei nella procedura guidata per la creazione dei job di migrazione. Se non hai salvato il job come bozza, ma lo hai creato completamente nella procedura guidata, puoi eseguire il test solo utilizzando Google Cloud CLI.

    Per testare un job di migrazione di bozza:

    1. Nella console Google Cloud, vai alla pagina Job di migrazione.

      Vai a Job di migrazione

    2. Nella scheda Bozze, fai clic sul nome visualizzato del job di migrazione che vuoi completare.

      Viene visualizzata la procedura guidata per la creazione del job di migrazione.

    3. Nella pagina Testa e crea il job di migrazione, fai clic su Testa job. Ora Database Migration Service controlla se l'istanza di destinazione dispone di tutte le autorizzazioni richieste e può connettersi al database di origine.
    4. Al termine del test, fai clic su Crea.

      Il job di migrazione è stato creato e può essere avviato.

    gcloud

    Prima di utilizzare i dati dei comandi riportati di seguito, effettua le seguenti sostituzioni:

    • MIGRATION_JOB_ID con l'identificatore del job di migrazione.

      Se non conosci l'identificatore, puoi utilizzare il comando gcloud database-migration migration-jobs list per elencare tutti i job di migrazione in una determinata regione e visualizzarne gli identificatori.

    • REGION con l'identificatore della regione in cui è salvato il profilo di connessione.

    Esegui il seguente comando:

    Linux, macOS o Cloud Shell

    gcloud database-migration migration-jobs \
    verify MIGRATION_JOB_ID \
      --region=REGION

    Windows (PowerShell)

    gcloud database-migration migration-jobs `
    verify MIGRATION_JOB_ID `
      --region=REGION

    Windows (cmd.exe)

    gcloud database-migration migration-jobs ^
    verify MIGRATION_JOB_ID ^
      --region=REGION

    Risultato

    L'azione viene eseguita in modo asincrono. Di conseguenza, questo comando restituisce un' entità Operation che rappresenta un'operazione a lunga esecuzione:

    done: false
    metadata:
      '@type': type.googleapis.com/google.cloud.clouddms.v1.OperationMetadata
      apiVersion: v1
      createTime: '2024-02-20T12:20:24.493106418Z'
      requestedCancellation: false
      target: MIGRATION_JOB_ID
      verb: verify
    name: OPERATION_ID
    

    Per verificare se l'operazione è riuscita, puoi eseguire una query sull'oggetto operazione restituito o controllare lo stato del job di migrazione:

    Passaggio 3d. Avvia il job di migrazione

    Quando il job di migrazione è stato creato completamente (ovvero non è stato salvato come bozza), puoi avviarlo in qualsiasi momento per iniziare a migrare i dati.

    Per avviare un job di migrazione, svolgi i seguenti passaggi:

    Console

    1. Nella console Google Cloud, vai alla pagina Job di migrazione.

      Vai a Job di migrazione

    2. Nella scheda Job, fai clic sul nome visualizzato del job di migrazione che vuoi avviare.

      Viene visualizzata la pagina dei dettagli del job di migrazione.

    3. Fai clic su Avvia.
    4. Nella finestra di dialogo, fai clic su Avvia.

    gcloud

    Prima di utilizzare i dati dei comandi riportati di seguito, effettua le seguenti sostituzioni:

    • MIGRATION_JOB_ID con l'identificatore del job di migrazione.

      Se non conosci l'identificatore, puoi utilizzare il comando gcloud database-migration migration-jobs list per elencare tutti i job di migrazione in una determinata regione e visualizzarne gli identificatori.

    • REGION con l'identificatore della regione in cui è salvato il profilo di connessione.

    Esegui il seguente comando:

    Linux, macOS o Cloud Shell

    gcloud database-migration migration-jobs \
    start MIGRATION_JOB_ID \
      --region=REGION

    Windows (PowerShell)

    gcloud database-migration migration-jobs `
    start MIGRATION_JOB_ID `
      --region=REGION

    Windows (cmd.exe)

    gcloud database-migration migration-jobs ^
    start MIGRATION_JOB_ID ^
      --region=REGION

    Risultato

    L'azione viene eseguita in modo asincrono. Di conseguenza, questo comando restituisce un' entità Operation che rappresenta un'operazione a lunga esecuzione:

    done: false
    metadata:
      '@type': type.googleapis.com/google.cloud.clouddms.v1.OperationMetadata
      apiVersion: v1
      createTime: '2024-02-20T12:20:24.493106418Z'
      requestedCancellation: false
      target: MIGRATION_JOB_ID
      verb: start
    name: OPERATION_ID
    

    Per verificare se l'operazione è riuscita, puoi eseguire una query sull'oggetto operazione restituito o controllare lo stato del job di migrazione:


  • Per eseguire la migrazione a un'istanza di destinazione esistente, devi prima creare e configurare l'istanza di destinazione.

    Passaggio 3a. Prepara l'istanza di destinazione

    Per configurare l'istanza Cloud SQL di destinazione, svolgi i seguenti passaggi:

    1. Crea l'istanza di destinazione Cloud SQL per MySQL. Assicurati di utilizzare risorse di calcolo e memoria sufficienti per soddisfare le tue esigenze di migrazione. Consulta Creare un'istanza nella documentazione di Cloud SQL.

      A seconda del metodo di connettività che vuoi utilizzare per la migrazione, potresti dover aggiungere un indirizzo IP pubblico o privato all'istanza di destinazione. Per ulteriori informazioni sui metodi di connettività, consulta Configurare la connettività.

    2. Concedi le autorizzazioni Cloud Storage all'account di servizio associato all'istanza di destinazione. Questo account viene creato dopo la creazione dell'istanza di destinazione.
      1. Trova l'indirizzo email del service account dell'istanza Cloud SQL nella respectiva pagina dei dettagli. Questo indirizzo utilizza il seguente formato: <project-identifier>@gcp-sa-cloud-sql.iam.gserviceaccount.com. Consulta Visualizza le informazioni sull'istanza nella documentazione di Cloud SQL.
      2. Aggiungi il ruolo IAM Storage Object Viewer (roles/storage.objectViewer) al service account. Per informazioni su come gestire l'accesso con Identity and Access Management, consulta Gestire l'accesso a progetti, cartelle e organizzazioni nella documentazione IAM.
    3. Crea un profilo di connessione di destinazione per l'istanza Cloud SQL.

      Console

      Non è necessario creare il profilo di connessione di destinazione. Quando crei un job di migrazione nella console Google Cloud, utilizzi l'identificatore dell'istanza di destinazione e Database Migration Service gestisce il profilo di connessione per te.

      Vai alla sezione Crea ed esegui il job di migrazione.

      gcloud

      Questo esempio utilizza il flag facoltativo --no-async in modo che tutte le operazioni vengano eseguite in modo sincrono. Ciò significa che il completamento di alcuni comandi potrebbe richiedere un po' di tempo. Puoi saltare il flag --no-async per eseguire i comandi in modo asincrono. In questo caso, devi utilizzare il comando gcloud database-migration operations describe per verificare se l'operazione è riuscita.

      Prima di utilizzare i dati dei comandi riportati di seguito, effettua le seguenti sostituzioni:

      • CONNECTION_PROFILE_ID con un identificatore leggibile dalla macchina per il tuo profilo di connessione.
      • REGION con l'identificatore della regione in cui vuoi salvare il profilo di connessione.
      • DESTINATION_INSTANCE_ID con l'identificatore dell'istanza di destinazione.
      • (Facoltativo) CONNECTION_PROFILE_NAME con un nome leggibile per il profilo di connessione. Questo valore viene visualizzato nella console Google Cloud.

      Esegui il seguente comando:

      Linux, macOS o Cloud Shell

      gcloud database-migration connection-profiles \
      create mysql CONNECTION_PROFILE_ID \
        --no-async \
        --cloudsql-instance=DESTINATION_INSTANCE_ID \
        --region=REGION \
        --display-name=CONNECTION_PROFILE_NAME

      Windows (PowerShell)

      gcloud database-migration connection-profiles `
      create mysql CONNECTION_PROFILE_ID `
        --no-async `
        --cloudsql-instance=DESTINATION_INSTANCE_ID `
        --region=REGION `
        --display-name=CONNECTION_PROFILE_NAME

      Windows (cmd.exe)

      gcloud database-migration connection-profiles ^
      create mysql CONNECTION_PROFILE_ID ^
        --no-async ^
        --cloudsql-instance=DESTINATION_INSTANCE_ID ^
        --region=REGION ^
        --display-name=CONNECTION_PROFILE_NAME

      Dovresti ricevere una risposta simile alla seguente:

      Waiting for connection profile [CONNECTION_PROFILE_ID]
      to be created with [OPERATION_ID]
      
      Waiting for operation [OPERATION_ID] to complete...done.
      
      Created connection profile CONNECTION_PROFILE_ID [OPERATION_ID]
      

    Passaggio 3b. Crea ed esegui il job di migrazione

    Console

    Definisci le impostazioni per il job di migrazione

    1. Nella console Google Cloud, vai alla pagina Job di migrazione.

      Vai a Job di migrazione

    2. Fai clic su Crea job di migrazione.

      Si apre la pagina della procedura guidata di configurazione del job di migrazione. Questa procedura guidata contiene più riquadri che ti guidano in ogni passaggio di configurazione.

      Puoi mettere in pausa la creazione di un job di migrazione in qualsiasi momento facendo clic su SALVA E ESCI. Tutti i dati inseriti fino a quel punto vengono salvati in una bozza del job di migrazione. Puoi completare il job di migrazione della bozza in un secondo momento.

    3. Nella pagina Inizia, inserisci le seguenti informazioni:
      1. Nome job di migrazione

        Si tratta di un nome leggibile per il job di migrazione. Questo valore viene visualizzato nella console Google Cloud.

      2. ID job di migrazione

        Si tratta di un identificatore leggibile dalla macchina per il job di migrazione. Utilizza questo valore per lavorare con i job di migrazione utilizzando i comandi o l'API Google Cloud CLI di Database Migration Service.

      3. Nell'elenco Motore del database di origine, seleziona MySQL.

        Il campo Motore del database di destinazione viene compilato automaticamente e non può essere modificato.

      4. Seleziona la regione in cui salvare il job di migrazione.

        Database Migration Service è un prodotto completamente regionale, il che significa che tutte le entità correlate alla migrazione (profili di connessione di origine e di destinazione, job di migrazione, database di destinazione) devono essere salvate in un'unica regione. Seleziona la regione in base alla posizione dei servizi che richiedono i tuoi dati, ad esempio istanze di Compute Engine o app di App Engine e altri servizi. Una volta scelta la regione di destinazione, questa selezione non può essere modificata.

    4. Fai clic su Salva e continua.

    Specifica le informazioni sul profilo di connessione di origine

    1. Nella pagina Definisci un'origine, segui questi passaggi:
      1. Nel menu a discesa Profilo di connessione di origine, seleziona il profilo di connessione per il database di origine.
      2. Nella sezione Personalizza la configurazione del dump completo, fai clic su Modifica configurazione.
      3. Nel riquadro Modifica la configurazione del dump completo, seleziona In base a dati fisici dal menu a discesa Metodo di dump completo.
      4. In Fornisci la cartella, fai clic su Sfoglia, poi seleziona la cartella in cui hai caricato il tuo file dump completo (passaggio 4 della sezione Prepara i dati di origine).
      5. Fai clic su Salva.
    2. Fai clic su Salva e continua.

    Seleziona l'istanza Cloud SQL di destinazione

    1. Nel menu Tipo di istanza di destinazione, seleziona Istanza esistente.
    2. Nella sezione Seleziona istanza di destinazione, seleziona l'istanza di destinazione.
    3. Esamina le informazioni nella sezione Dettagli istanza e fai clic su Seleziona e continua.
    4. Per eseguire la migrazione a un database di destinazione esistente, Database Migration Service fa retrocedere l'istanza di destinazione e la converte in una replica. Per indicare che la retrocessione può essere eseguita in sicurezza, nella finestra di conferma inserisci l'identificatore dell'istanza di destinazione.
    5. Fai clic su Conferma e continua.

    Configurare la connettività tra le istanze del database di origine e di destinazione

    Dal menu a discesa Metodo di connettività, seleziona un metodo di connettività di rete. Questo metodo definisce la modalità di collegamento dell'istanza Cloud SQL appena creata al database di origine. I metodi di connettività di rete attuali includono lista consentita di IP, tunnel SSH inverso e peering VPC.

    Se vuoi utilizzare…Poi…
    Il metodo di connettività di rete della lista consentita IP, Devi specificare l'indirizzo IP in uscita dell'istanza di destinazione. Se l'istanza Cloud SQL che hai creato è un'istanza di alta disponibilità, includi gli indirizzi IP in uscita sia per l'istanza principale sia per quella secondaria.
    Il metodo di connettività di rete del tunnel SSH inverso, Devi selezionare l'istanza VM di Compute Engine che ospiterà il tunnel.

    Dopo aver specificato l'istanza, Google fornirà uno script che esegue i passaggi per configurare il tunnel tra i database di origine e di destinazione. Dovrai eseguire lo script in Google Cloud CLI.

    Esegui i comandi da una macchina con connettività sia al database di origine sia a Google Cloud.

    Il metodo di connettività di rete del peering VPC, Devi selezionare la rete VPC in cui si trova il database di origine. L'istanza Cloud SQL verrà aggiornata in modo da connettersi a questa rete.

    Dopo aver selezionato e configurato la connettività di rete, fai clic su Configura e continua.

    Testa, crea ed esegui il job di migrazione

    In questo passaggio finale, esamina il riepilogo delle impostazioni, dell'origine, della destinazione e del metodo di connettività del job di migrazione, quindi verifica la validità della configurazione del job di migrazione. In caso di problemi, puoi modificare le impostazioni del job di migrazione. Non tutte le impostazioni sono modificabili.

    1. Nella pagina Testa e crea il job di migrazione, fai clic su Testa job.

      Se il test non va a buon fine, puoi risolvere il problema nella parte appropriata del flusso e riprovare. Per informazioni sulla risoluzione dei problemi relativi a un test del job di migrazione non riuscito, consulta Diagnostica i problemi per MySQL.

    2. Al termine del test del job di migrazione, fai clic su Crea e avvia job.

      La migrazione è in corso. Quando avvii il job di migrazione, Database Migration Service avvia il dump completo, bloccando brevemente il database di origine.

    gcloud

    Per configurare ed eseguire la migrazione, svolgi i seguenti passaggi:

    1. Crea il job di migrazione.
      Esegui il seguente comando (fai clic sul link per espandere):

      gcloud database-migration migration-jobs create

      Questo esempio utilizza il flag facoltativo --no-async in modo che tutte le operazioni vengano eseguite in modo sincrono. Ciò significa che il completamento di alcuni comandi potrebbe richiedere un po' di tempo. Puoi saltare il flag --no-async per eseguire i comandi in modo asincrono. In questo caso, devi utilizzare il comando gcloud database-migration operations describe per verificare se l'operazione è riuscita.

      Prima di utilizzare i dati dei comandi riportati di seguito, effettua le seguenti sostituzioni:

      • MIGRATION_JOB_ID con un identificatore leggibile dalla macchina per il tuo job di migrazione. Utilizza questo valore per lavorare con i job di migrazione utilizzando i comandi o l'API Google Cloud CLI di Database Migration Service.
      • REGION con l'identificatore della regione in cui vuoi salvare il job di migrazione.
      • MIGRATION_JOB_NAME con un nome leggibile per il job di migrazione. Questo valore viene visualizzato in Database Migration Service nella console Google Cloud.
      • SOURCE_CONNECTION_PROFILE_ID con un identificatore leggibile dalla macchina del profilo di connessione di origine.
      • DESTINATION_CONNECTION_PROFILE_ID con un identificatore leggibile dalla macchina del profilo di connessione di destinazione.
      • MIGRATION_JOB_TYPE con il tipo di job di migrazione. Sono consentiti due valori: ONE_TIME o CONTINUOUS. Per ulteriori informazioni, consulta Tipi di migrazione.
      • PATH_TO_THE_FOLDER_IN_STORAGE_BUCKET_WITH_PHYSICAL_BACKUP_FILES con il percorso dei file di backup fisici archiviati in una cartella di un bucket Cloud Storage. Utilizza il formato seguente: gs://<bucket_name>/<path_to_backup_file_folder>.
      • Configurazione della rete

        Se utilizzi la connettività IP privata con il peering di rete VPC o un tunnel SSH inverso, aggiungi al comando i seguenti flag:

        Connettività IP privata con il peering di rete VPC
        Utilizza il flag --peer-vpc per specificare il nome della rete con cui vuoi eseguire il peering.
        Tunnel SSH inverso su una VM Compute Engine
        Utilizza i seguenti flag per fornire i dettagli di rete per Compute Engine: --vm-ip, --vm-port, --vpc. Puoi anche utilizzare il flag facoltativo --vm per specificare il nome della VM.

        Per altri esempi di utilizzo, consulta Esempi di Google Cloud CLI.

      Esegui il seguente comando:

      Linux, macOS o Cloud Shell

      gcloud database-migration migration-jobs \
      create MIGRATION_JOB_ID \
        --no-async \
        --region=REGION \
        --display-name=MIGRATION_JOB_NAME \
        --source=SOURCE_CONNECTION_PROFILE_ID \
        --destination=DESTINATION_CONNECTION_PROFILE_ID \
        --type=MIGRATION_JOB_TYPE
        --dump-type=PHYSICAL
        --dump-path=PATH_TO_THE_FOLDER_IN_STORAGE_BUCKET_WITH_PHYSICAL_BACKUP_FILES

      Windows (PowerShell)

      gcloud database-migration migration-jobs `
      create MIGRATION_JOB_ID `
        --no-async `
        --region=REGION `
        --display-name=MIGRATION_JOB_NAME `
        --source=SOURCE_CONNECTION_PROFILE_ID `
        --destination=DESTINATION_CONNECTION_PROFILE_ID `
        --type=MIGRATION_JOB_TYPE
        --dump-type=PHYSICAL
        --dump-path=PATH_TO_THE_FOLDER_IN_STORAGE_BUCKET_WITH_PHYSICAL_BACKUP_FILES

      Windows (cmd.exe)

      gcloud database-migration migration-jobs ^
      create MIGRATION_JOB_ID ^
        --no-async ^
        --region=REGION ^
        --display-name=MIGRATION_JOB_NAME ^
        --source=SOURCE_CONNECTION_PROFILE_ID ^
        --destination=DESTINATION_CONNECTION_PROFILE_ID ^
        --type=MIGRATION_JOB_TYPE
        --dump-type=PHYSICAL
        --dump-path=PATH_TO_THE_FOLDER_IN_STORAGE_BUCKET_WITH_PHYSICAL_BACKUP_FILES

      Dovresti ricevere una risposta simile alla seguente:

      Waiting for migration job [MIGRATION_JOB_ID]
      to be created with [OPERATION_ID]
      
      Waiting for operation [OPERATION_ID] to complete...done.
      
      Created migration job MIGRATION_JOB_ID [OPERATION_ID]
      
    2. Demoti l'istanza di destinazione Cloud SQL.
      Esegui il seguente comando (fai clic sul link per espandere):

      gcloud database-migration migration-jobs demote-destination

      Prima di utilizzare i dati dei comandi riportati di seguito, effettua le seguenti sostituzioni:

      • MIGRATION_JOB_ID con l'identificatore del job di migrazione.

        Se non conosci l'identificatore, puoi utilizzare il comando gcloud database-migration migration-jobs list per elencare tutti i job di migrazione in una determinata regione e visualizzarne gli identificatori.

      • REGION con l'identificatore della regione in cui è salvato il profilo di connessione.

      Esegui il seguente comando:

      Linux, macOS o Cloud Shell

      gcloud database-migration migration-jobs \
      demote-destination MIGRATION_JOB_ID \
        --region=REGION

      Windows (PowerShell)

      gcloud database-migration migration-jobs `
      demote-destination MIGRATION_JOB_ID `
        --region=REGION

      Windows (cmd.exe)

      gcloud database-migration migration-jobs ^
      demote-destination MIGRATION_JOB_ID ^
        --region=REGION

      Risultato

      L'azione viene eseguita in modo asincrono. Di conseguenza, questo comando restituisce un' entità Operation che rappresenta un'operazione a lunga esecuzione:

      done: false
      metadata:
        '@type': type.googleapis.com/google.cloud.clouddms.v1.OperationMetadata
        apiVersion: v1
        createTime: '2024-02-20T12:20:24.493106418Z'
        requestedCancellation: false
        target: MIGRATION_JOB_ID
        verb: demote-destination
      name: OPERATION_ID
      

      Per verificare se l'operazione è riuscita, puoi eseguire una query sull'oggetto operazione restituito o controllare lo stato del job di migrazione:

    3. (Facoltativo) Esegui un test del job di migrazione
      Puoi eseguire un controllo per verificare se Database Migration Service può raggiungere tutte le entità di origine e destinazione necessarie. Esegui il seguente comando (fai clic sul link per espandere):

      gcloud database-migration migration-jobs verify

      Prima di utilizzare i dati dei comandi riportati di seguito, effettua le seguenti sostituzioni:

      • MIGRATION_JOB_ID con l'identificatore del job di migrazione.

        Se non conosci l'identificatore, puoi utilizzare il comando gcloud database-migration migration-jobs list per elencare tutti i job di migrazione in una determinata regione e visualizzarne gli identificatori.

      • REGION con l'identificatore della regione in cui è salvato il profilo di connessione.

      Esegui il seguente comando:

      Linux, macOS o Cloud Shell

      gcloud database-migration migration-jobs \
      verify MIGRATION_JOB_ID \
        --region=REGION

      Windows (PowerShell)

      gcloud database-migration migration-jobs `
      verify MIGRATION_JOB_ID `
        --region=REGION

      Windows (cmd.exe)

      gcloud database-migration migration-jobs ^
      verify MIGRATION_JOB_ID ^
        --region=REGION

      Risultato

      L'azione viene eseguita in modo asincrono. Di conseguenza, questo comando restituisce un' entità Operation che rappresenta un'operazione a lunga esecuzione:

      done: false
      metadata:
        '@type': type.googleapis.com/google.cloud.clouddms.v1.OperationMetadata
        apiVersion: v1
        createTime: '2024-02-20T12:20:24.493106418Z'
        requestedCancellation: false
        target: MIGRATION_JOB_ID
        verb: verify
      name: OPERATION_ID
      

      Per verificare se l'operazione è riuscita, puoi eseguire una query sull'oggetto operazione restituito o controllare lo stato del job di migrazione:

    4. Avvia il job di migrazione.
      Esegui il seguente comando (fai clic sul link per espandere):

      gcloud database-migration migration-jobs start

      Prima di utilizzare i dati dei comandi riportati di seguito, effettua le seguenti sostituzioni:

      • MIGRATION_JOB_ID con l'identificatore del job di migrazione.

        Se non conosci l'identificatore, puoi utilizzare il comando gcloud database-migration migration-jobs list per elencare tutti i job di migrazione in una determinata regione e visualizzarne gli identificatori.

      • REGION con l'identificatore della regione in cui è salvato il profilo di connessione.

      Esegui il seguente comando:

      Linux, macOS o Cloud Shell

      gcloud database-migration migration-jobs \
      start MIGRATION_JOB_ID \
        --region=REGION

      Windows (PowerShell)

      gcloud database-migration migration-jobs `
      start MIGRATION_JOB_ID `
        --region=REGION

      Windows (cmd.exe)

      gcloud database-migration migration-jobs ^
      start MIGRATION_JOB_ID ^
        --region=REGION

      Risultato

      L'azione viene eseguita in modo asincrono. Di conseguenza, questo comando restituisce un' entità Operation che rappresenta un'operazione a lunga esecuzione:

      done: false
      metadata:
        '@type': type.googleapis.com/google.cloud.clouddms.v1.OperationMetadata
        apiVersion: v1
        createTime: '2024-02-20T12:20:24.493106418Z'
        requestedCancellation: false
        target: MIGRATION_JOB_ID
        verb: start
      name: OPERATION_ID
      

      Per verificare se l'operazione è riuscita, puoi eseguire una query sull'oggetto operazione restituito o controllare lo stato del job di migrazione:

      Quando avvii il job di migrazione, l'istanza Cloud SQL di destinazione viene messa in modalità di sola lettura, in cui è completamente gestita da Database Migration Service. Puoi promuoverlo a un'istanza autonoma quando la migrazione dei dati è completata.

      Nota: puoi monitorare l'avanzamento della migrazione, nonché l'integrità dell'istanza di destinazione, con le funzionalità di osservabilità di Database Migration Service. Consulta [Metriche job di migrazione](/database-migration/docs/mysql/migration-job-metrics).

Passaggio 4: (Facoltativo) Interrompi la migrazione

Se vuoi annullare la procedura di migrazione dei dati, puoi interrompere ed eliminare il job di migrazione in qualsiasi momento. Puoi gestire il job di migrazione nella console Google Cloud o con Google Cloud CLI.

Passaggio 5: Finalizzare la migrazione

Quando il job di migrazione viene completato correttamente, completalo eseguendo uno dei seguenti passaggi:

  • Per le migrazioni una tantum: lo stato del job di migrazione diventa Completato. Non sono necessarie ulteriori azioni. Puoi ripulire le risorse del job di migrazione e del profilo di connessione.

  • Per le migrazioni continue: promuovi il job di migrazione per passare l'applicazione alla nuova istanza di database.