Creazione di un job di migrazione

Database Migration Service utilizza i job di migrazione per migrare i dati dai database di origine all'istanza di destinazione Cloud SQL. I job di migrazione ti aiutano a organizzare i profili di connessione di origine e di destinazione, definire impostazioni specifiche per il processo di migrazione, monitorare l'avanzamento e finalizzare in modo sicuro l'intera operazione.

La creazione di un job di migrazione include l'esecuzione delle seguenti attività:

  • Selezionare i profili di connessione di origine e di destinazione.

  • Scegliere i database rilevati nell'istanza di origine di cui vuoi eseguire la migrazione.

  • Eseguire un test del job di migrazione per assicurarti che Database Migration Service sia in grado di connettersi all'origine e alla destinazione dei dati.

  • Avviare il job di migrazione e monitorare l'avanzamento.

  • Promuovere il job di migrazione quando vuoi passare la tua applicazione alla nuova istanza.

Prima di iniziare

  1. Assicurati di soddisfare i seguenti requisiti:
    • Hai un bucket Cloud Storage per i file di backup di SQL Server.
    • I file di backup completi e dei log delle transazioni sono stati caricati nel bucket Cloud Storage.
    • Hai un profilo di connessione di origine per il bucket Cloud Storage.
    • Hai creato e configurato l'istanza Cloud SQL per SQL Server di destinazione e hai un profilo di connessione di destinazione per l'istanza.
  2. Nella Google Cloud console, nella pagina di selezione del progetto, seleziona o crea un Google Cloud progetto.

    Vai al selettore di progetti

  3. Abilita le API Database Migration Service, Compute Engine, Cloud Storage e Cloud SQL Admin.

    Abilita le API

Ruoli obbligatori

Per ottenere le autorizzazioni necessarie per creare job di migrazione in Database Migration Service, chiedi all'amministratore di concederti i seguenti ruoli IAM per il progetto:

Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso.

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

Autorizzazioni obbligatorie

Per eseguire migrazioni omogenee di SQL Server con Database Migration Service sono necessarie le seguenti autorizzazioni:

  • datamigration.*
  • resourcemanager.projects.get
  • resourcemanager.projects.list
  • cloudsql.instances.create
  • cloudsql.instances.get
  • cloudsql.instances.list
  • cloudsql.databases.get
  • cloudsql.databases.delete
  • cloudsql.operations.get
  • compute.machineTypes.list
  • compute.machineTypes.get
  • compute.projects.get
  • storage.buckets.create
  • storage.buckets.list
  • storage.objects.list

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

Definisci le impostazioni e crea un job di migrazione

Per creare un job di migrazione:

Console

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

    Vai ai 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 ED ESCI. Tutti i dati inseriti fino a quel momento vengono salvati in una bozza di job di migrazione. Puoi completare la bozza del job di migrazione in un secondo momento. Vedi Aggiornare una bozza di job di migrazione.

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

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

    • ID job di migrazione

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

    • Nell'elenco Motore del database di origine, seleziona SQL Server o Amazon RDS per SQL Server.

    I campi Motore del database di destinazione e Tipo di prestazione di migrazione vengono compilati automaticamente e non possono essere modificati.

  4. Fai clic su Salva e continua.
  5. Nella pagina Definisci l'origine, segui questi passaggi:
    1. Utilizza il menu a discesa per selezionare il profilo di connessione di origine.

      Se non hai ancora un profilo di connessione di origine, puoi fare clic su Crea profilo di connessione direttamente nel menu a discesa. Per saperne di più sulla creazione di profili di connessione, consulta Creare un profilo di connessione di origine.

    2. Se vuoi utilizzare un file di backup differenziale nella migrazione, nella sezione Personalizza configurazioni di origine seleziona la casella di controllo Utilizza backup differenziali.

      I backup differenziali sono utili se devi replicare una grande quantità di dati apparsi nel database dopo il backup completo e vuoi gestirli in blocco anziché caricare più file di log delle transazioni. Per saperne di più sui tipi di backup supportati, consulta Tipi di file di backup supportati.

      Se utilizzi i backup differenziali, assicurati di creare la diff cartella nel bucket Cloud Storage. Vedi Archiviare i file di backup in un bucket Cloud Storage.

    3. Fai clic su Salva e continua.
  6. Nella pagina Definisci una destinazione, utilizza il menu a discesa per selezionare il profilo di connessione di destinazione.

    Se non hai ancora un profilo di connessione di destinazione, puoi fare clic su Crea profilo di connessione direttamente nel menu a discesa. Per saperne di più sulla creazione di profili di connessione, consulta Creare un profilo di connessione di destinazione.

  7. Fai clic su Salva e continua.
  8. Nella pagina Configura database di migrazione, esegui le seguenti azioni:
    1. Nella sezione Seleziona i database di cui eseguire la migrazione, utilizza le caselle di controllo per selezionare i database che vuoi includere in questo job di migrazione. Questo elenco viene compilato in base alle cartelle create nel bucket Cloud Storage per i file di backup.

      Puoi aggiungere e rimuovere database dal job di migrazione in un secondo momento. Vedi Aggiungere o rimuovere database da un job di migrazione.

    2. (Facoltativo) Se utilizzi backup criptati, fornisci le chiavi di crittografia per i backup. Per maggiori dettagli sull'utilizzo dei backup criptati, consulta Utilizzare i backup criptati.

      Esegui le seguenti azioni:

      • Fai clic su Modifica dettagli accanto al database selezionato per la migrazione.

        Si apre il riquadro laterale Crittografia.

      • Utilizza i menu a discesa Chiave di crittografia per selezionare le chiavi.
      • Nel campo Password, inserisci la password della chiave di crittografia.
      • Fai clic su Salva ed esci.
  9. Fai clic su Salva e continua.
  10. Nella pagina Testa e crea il job di migrazione, esegui le seguenti azioni:
    1. (Facoltativo) Fai clic su Testa job per verificare se Database Migration Service può identificare correttamente tutti i file di backup e stabilire le connessioni di rete necessarie.

      Se il test non riesce, puoi consultare i messaggi di errore per risolvere il problema ed eseguire di nuovo il test. Per saperne di più sui possibili errori, consulta Diagnosticare i problemi.

    2. Fai clic su Crea e avvia job per iniziare la migrazione.

      Se vuoi eseguire il job di migrazione in un altro momento, fai clic su Salva e torna in un secondo momento per eseguire il job. Vedi Avviare un 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 gcloud database-migration operations describe comando per verificare se l'operazione è andata a buon fine.

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 job di migrazione. Utilizza questo valore per lavorare con i job di migrazione utilizzando i comandi Google Cloud CLI o l'API 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 in the Google Cloud console.
  • 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.
  • COMMA_SEPARATED_DATABASE_ID_LIST con un elenco di identificatori di database di SQL Server separati da virgole di cui vuoi eseguire la migrazione dai file di backup. Questi identificatori devono essere uguali ai nomi delle cartelle dei database in Cloud Storage.

    Ad esempio: --sqlserver-databases=my-business-database,my-other-database

  • Configurazione del backup differenziale: se utilizzi file di backup differenziali per la migrazione, aggiungi il flag --sqlserver-diff-backup al comando. Per impostazione predefinita, i job di migrazione non utilizzano file di backup differenziali e ignorano la cartella diff nel bucket Cloud Storage.

    Per saperne di più sui file di backup supportati, consulta Tipi di file di backup supportati.

  • (Facoltativo) MAPPING_FILE_FOR_PATHS_TO_ENCRYPTION_KEYS con il percorso del disco locale di un file di configurazione che mappa i percorsi delle chiavi di crittografia in Cloud Storage con i relativi identificatori di database. Per saperne di più su come creare questo file di mapping, consulta Utilizzare i backup criptati.

    Ad esempio: --sqlserver-encrypted-databases=~/encryption-keys-mapping-file.json

Esegui questo 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 \
  --sqlserver-databases=COMMA_SEPARATED_DATABASE_ID_LIST \
  --sqlserver-encrypted-databases=MAPPING_FILE_FOR_PATHS_TO_ENCRYPTION_KEYS \
  --type=CONTINUOUS

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 `
  --sqlserver-databases=COMMA_SEPARATED_DATABASE_ID_LIST `
  --sqlserver-encrypted-databases=MAPPING_FILE_FOR_PATHS_TO_ENCRYPTION_KEYS `
  --type=CONTINUOUS

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 ^
  --sqlserver-databases=COMMA_SEPARATED_DATABASE_ID_LIST ^
  --sqlserver-encrypted-databases=MAPPING_FILE_FOR_PATHS_TO_ENCRYPTION_KEYS ^
  --type=CONTINUOUS

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]
Risultato

Il job di migrazione è stato creato. Puoi procedere con il processo di migrazione:

Passaggi successivi