Creazione di un job di migrazione

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

La creazione di un job di migrazione include le seguenti attività:

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

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

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

  • Avvia il job di migrazione e monitora l'avanzamento.

  • Promuovi il job di migrazione quando vuoi spostare l'applicazione nella 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 completo e dei log delle transazioni vengono 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 console Google Cloud, nella pagina di selezione del progetto, seleziona o crea un Google Cloud progetto.

    Vai al selettore dei 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 nel progetto:

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

Questi ruoli predefiniti contengono le autorizzazioni necessarie per eseguire migrazioni omogenee di SQL Server con Database Migration Service. Per visualizzare le autorizzazioni esatte richieste, espandi la sezione Autorizzazioni richieste:

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 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. Vedi Aggiornare una bozza del job di migrazione.

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

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

    • 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.

    • 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 job 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 le configurazioni delle origini seleziona la casella di controllo Utilizza backup differenziali.

      I backup differenziali sono utili se devi replicare molti dati che sono comparsi nel tuo database dal backup completo e vuoi gestirli collettivamente 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 cartella diff nel tuo bucket Cloud Storage. Consulta 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 ulteriori informazioni 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 da includere in questo job di migrazione. Questo elenco viene compilato in base alle cartelle che hai creato nel bucket Cloud Storage per i file di backup.

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

    2. (Facoltativo) Se utilizzi i backup criptati, fornisci le chiavi di crittografia per i backup. Per ulteriori 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.

        Viene visualizzato il riquadro laterale Crittografia.

      • Utilizza i menu a discesa Chiave di crittografia per selezionare le tue 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. In Testa e crea il job di migrazione, esegui le seguenti azioni:
    1. (Facoltativo) Fai clic su Test job per verificare se Database Migration Service è in grado di identificare correttamente tutti i file di backup e stabilire le connessioni di rete necessarie.

      Se il test non va a buon fine, puoi consultare i messaggi di errore per risolvere il problema ed eseguire di nuovo il test. Per ulteriori informazioni su possibili errori, consulta Risolvere i problemi.

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

      Se vuoi eseguire il job di migrazione in un secondo momento, fai clic su Salva e torna più tardi per eseguirlo. Consulta Avvia 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 comando gcloud database-migration operations describe 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 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.
  • COMMA_SEPARATED_DATABASE_ID_LIST con un elenco separato da virgole degli identificatori dei database di SQL Server di cui vuoi eseguire la migrazione dai file di backup. Questi identificatori devono corrispondere ai nome delle cartelle dei database in Cloud Storage.

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

  • Configurazione dei backup differenziali: 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 i file di backup differenziale e ignorano la cartella diff nel bucket Cloud Storage.

    Per ulteriori informazioni 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 alle chiavi di crittografia in Cloud Storage con i relativi identificatori di database pertinenti. Per ulteriori informazioni su come creare questo file di mappatura, consulta Utilizzare i backup criptati.

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

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 \
  --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 la procedura di migrazione:

Passaggi successivi