Visão geral
O Database Migration Service usa trabalhos de migração para migrar dados da instância do banco de dados de origem para a instância do banco de dados de destino.
A criação de um trabalho de migração para uma instância de destino existente inclui:
- Definindo configurações para o trabalho de migração
- Selecionando o perfil de conexão do banco de dados de origem
- Selecionando a instância de banco de dados de destino existente
- Rebaixar a instância existente para convertê-la em uma réplica de leitura
- Configurando a conectividade entre as instâncias de banco de dados de origem e de destino
- Testando o trabalho de migração para garantir que as informações de conexão fornecidas para o trabalho sejam válidas
Há certas limitações que você deve considerar quando quiser migrar para uma instância de destino criada fora do Database Migration Service. Por exemplo, a instância de destino do Cloud SQL precisa estar vazia ou conter apenas dados de configuração do sistema. Para obter mais informações, consulte Limitações conhecidas .
O assistente do Database Migration Service ajuda a criar um trabalho de migração. Este assistente consiste nos seguintes painéis: Introdução , Definir uma origem , Criar um destino , Definir método de conectividade , Configurar bancos de dados de migração e Testar e criar trabalho de migração . Informações sobre como preencher cada painel são fornecidas nas seções a seguir desta página.
Crie um trabalho de migração usando o Google Cloud console
Definir configurações para o trabalho de migração
Vá para os trabalhos de migração no Google Cloud console.
Clique em Criar trabalho de migração na parte superior da página.
Forneça um nome para o trabalho de migração. Escolha um nome amigável que ajude a identificar o trabalho de migração. Não inclua informações confidenciais ou de identificação pessoal no nome do trabalho.
Mantenha o ID do trabalho de migração gerado automaticamente.
Selecione o mecanismo de banco de dados de origem.
Selecione o mecanismo de banco de dados de destino.
Selecione a região de destino para sua migração. Esta região deve ser a mesma onde seu banco de dados de destino está localizado. Depois de escolher a região de destino, esta seleção não poderá ser alterada.
Especifique o tipo de trabalho de migração: Único (somente instantâneo) ou Contínuo (instantâneo + alterações contínuas).
Na seção Antes de continuar, revise os pré-requisitos , clique em Abrir para visualizar instruções geradas automaticamente que podem ajudar a orientá-lo na preparação do banco de dados de origem para a migração. É melhor concluir estes pré-requisitos nesta etapa, mas você pode concluí-los a qualquer momento antes de testar ou iniciar o trabalho de migração. Para obter mais informações, consulte Configurar sua origem .
Clique em Salvar e continuar .
Especifique informações sobre o perfil de conexão de origem
Se você criou um perfil de conexão, selecione-o na lista de perfis de conexão existentes.
Se você não criou um perfil de conexão, crie um clicando em Criar um perfil de conexão na parte inferior da lista suspensa e execute as mesmas etapas de Criar um perfil de conexão de origem .
- Na seção Personalizar configurações de dump de dados , clique em Mostrar configurações de dump de dados .
A velocidade do paralelismo de despejo de dados está relacionada à quantidade de carga no banco de dados de origem. Você pode usar as seguintes configurações:
- Ideal (recomendado) : Desempenho balanceado com carga ideal no banco de dados de origem.
- Máximo : fornece as velocidades de dump mais altas, mas pode causar aumento de carga no banco de dados de origem.
- Mínimo : utiliza a menor quantidade de recursos de computação no banco de dados de origem, mas pode ter uma taxa de transferência de despejo mais lenta.
Se você quiser usar configurações ajustadas de paralelismo de despejo de dados, certifique-se de aumentar os parâmetros
max_replication_slots
,max_wal_senders
emax_worker_processes
em seu banco de dados de origem. Você pode verificar sua configuração executando o teste do trabalho de migração no final da criação do trabalho de migração. - Clique em Salvar e continuar .
Selecione a instância de destino
- No menu Tipo de instância de destino , selecione Instância existente .
- Na seção Selecionar instância de destino , selecione sua instância de destino.
- Revise as informações na seção Detalhes da instância e clique em Selecionar e continuar .
- Para migrar para um banco de dados de destino existente, o Database Migration Service rebaixa a instância de destino e a converte em uma réplica. Para indicar que o rebaixamento pode ser executado com segurança, na janela de confirmação, insira o identificador da instância de destino.
- Clique em Confirmar e continuar .
Configurar a conectividade entre as instâncias de banco de dados de origem e de destino
No menu Método de conectividade , selecione um método de conectividade de rede. Este método define como a instância recém-criada do Cloud SQL se conectará ao banco de dados de origem. Os métodos atuais de conectividade de rede incluem lista de permissões de IP, túnel SSH reverso e peering de VPC .
- Se você selecionar o método de conectividade de rede da lista de permissões de IP, precisará especificar o endereço IP de saída da sua instância de destino. Se a instância do Cloud SQL que você criou for uma instância de alta disponibilidade, inclua os endereços IP de saída da instância primária e da instância secundária.
Se você selecionar o método de conectividade de rede de túnel SSH reverso, selecione a instância de VM do Compute Engine que hospedará o túnel.
Depois de especificar a instância, o Google fornecerá um script que executa as etapas para configurar o túnel entre os bancos de dados de origem e de destino. Você precisará executar o script na CLI do Google Cloud .
Execute os comandos em uma máquina que tenha conectividade com o banco de dados de origem e com o Google Cloud.
- Se você selecionar o método de conectividade de rede de peering de VPC, selecione a rede VPC onde reside o banco de dados de origem. A instância do Cloud SQL será atualizada para se conectar a esta rede.
- Saiba mais sobre como configurar a conectividade .
Depois de selecionar o método de conectividade de rede e fornecer informações adicionais sobre o método, clique em CONFIGURAR E CONTINUAR .
Configurar bancos de dados de migração
Você pode selecionar os bancos de dados que deseja migrar.
- Na lista Bancos de dados para migrar , selecione uma das seguintes opções:
- Todos os bancos de dados : seleciona todos os bancos de dados existentes na origem.
- Bancos de dados específicos : permite selecionar bancos de dados específicos de todos os bancos de dados existentes na origem.
Se desejar migrar bancos de dados específicos, você poderá filtrar a lista exibida e selecionar os bancos de dados que deseja que o Database Migration Service migre para o seu destino.
Se a lista não aparecer e um erro de descoberta do banco de dados for exibido, clique em Recarregar . Se a descoberta do banco de dados falhar, a tarefa migrará todos os bancos de dados. Você pode continuar criando um trabalho de migração e corrigir erros de conectividade posteriormente.
- Clique em Salvar e continuar .
Teste e crie o job de migração
Nesta etapa final, revise o resumo das configurações do trabalho de migração, origem, destino e método de conectividade e, em seguida, teste a validade da configuração do trabalho de migração. Se algum problema for encontrado, você poderá modificar as configurações do trabalho de migração. Nem todas as configurações são editáveis.
Clique em TEST JOB para verificar se:
- O banco de dados de origem foi configurado corretamente, com base nos pré-requisitos.
- As instâncias de origem e de destino podem se comunicar entre si.
- Quaisquer atualizações nos endereços IP públicos ou privados necessárias no destino serão feitas.
- O trabalho de migração é válido e as versões de origem e destino são compatíveis.
Se o teste falhar, você poderá resolver o problema na parte apropriada do fluxo e retornar para testar novamente.
O trabalho de migração pode ser criado mesmo se o teste falhar, mas depois que o trabalho for iniciado, ele poderá falhar em algum momento durante a execução.
Clique em CRIAR E INICIAR TRABALHO para criar o trabalho de migração e iniciá-lo imediatamente ou clique em CRIAR TRABALHO para criar o trabalho de migração sem iniciá-lo imediatamente.
Cuidado: Se você usou o Terraform para provisionar seu banco de dados de destino, poderá enfrentar desvios de configuração durante a execução do trabalho de migração. Não tente reaplicar as configurações do Terraform antes que a migração seja concluída. Para obter mais informações, consulte Desvio de configuração do Terraform .
Se o trabalho não for iniciado no momento em que foi criado, ele poderá ser iniciado na página Trabalhos de migração clicando em INICIAR .
Independentemente de quando o trabalho de migração for iniciado, sua organização será cobrada pela existência da instância de destino.
Ao iniciar o trabalho de migração, o Database Migration Service inicia o dump completo, bloqueando brevemente o banco de dados de origem. Se sua origem estiver no Amazon RDS ou no Amazon Aurora, o Database Migration Service também exigirá um curto tempo de inatividade de gravação (aproximadamente menos de um minuto) no início da migração. Para obter mais informações, consulte Considerações sobre paralelismo de dump de dados .
A tarefa de migração é adicionada à lista de tarefas de migração e pode ser visualizada diretamente.
Prossiga para Revisar o trabalho de migração .
Crie um job de migração usando a CLI do Google Cloud
Ao migrar para uma instância existente usando a CLI do Google Cloud, você deve criar manualmente o perfil de conexão para a instância de destino. Isso não é necessário quando você usa o Google Cloud console, já que o Database Migration Service se encarrega de criar e remover o perfil de conexão de destino para você.
Antes de começar
Antes de usar a CLI gcloud para criar um job de migração para uma instância de banco de dados de destino existente, certifique-se de:
- Crie sua instância de banco de dados de destino.
- Prepare sua instância do banco de dados de origem. Ver:
- Configure sua fonte
- Crie o perfil de conexão de origem (o identificador do perfil de conexão de origem é necessário para criar um trabalho de migração).
- Configurar conectividade
Criar perfil de conexão de destino
Crie o perfil de conexão de destino para sua instância de destino existente executando o comando gcloud database-migration connection-profiles create
:
Este exemplo usa o sinalizador opcional --no-async
para que todas as operações sejam executadas de forma síncrona. Isso significa que alguns comandos podem demorar um pouco para serem concluídos. Você pode pular o sinalizador --no-async
para executar comandos de forma assíncrona. Se fizer isso, você precisará usar o comando gcloud database-migration operations describe
para verificar se sua operação foi bem-sucedida.
Antes de usar qualquer um dos dados de comando abaixo, faça as seguintes substituições:
- CONNECTION_PROFILE_ID com um identificador legível por máquina para seu perfil de conexão.
- REGION com o identificador da região onde deseja salvar o perfil de conexão.
- DESTINATION_INSTANCE_ID pelo identificador da instância de destino.
- (Opcional) CONNECTION_PROFILE_NAME com um nome legível para seu perfil de conexão. Este valor é exibido no Google Cloud console.
Execute o seguinte comando:
Linux, macOS ou Cloud Shell
gcloud database-migration connection-profiles \ create postgresql 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 postgresql 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 postgresql CONNECTION_PROFILE_ID ^ --no-async ^ --cloudsql-instance=DESTINATION_INSTANCE_ID ^ --region=REGION ^ --display-name=CONNECTION_PROFILE_NAME
Você deverá receber uma resposta semelhante à seguinte:
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]
Crie o trabalho de migração
Este exemplo usa o sinalizador opcional --no-async
para que todas as operações sejam executadas de forma síncrona. Isso significa que alguns comandos podem demorar um pouco para serem concluídos. Você pode pular o sinalizador --no-async
para executar comandos de forma assíncrona. Se fizer isso, você precisará usar o comando gcloud database-migration operations describe
para verificar se sua operação foi bem-sucedida.
Antes de usar qualquer um dos dados de comando abaixo, faça as seguintes substituições:
- MIGRATION_JOB_ID com um identificador legível por máquina para seu trabalho de migração. Você usa esse valor para trabalhar com jobs de migração usando comandos ou API da CLI do Google Cloud do serviço de migração de banco de dados.
- REGION pelo identificador da região onde você deseja salvar o trabalho de migração.
- MIGRATION_JOB_NAME com um nome legível para seu trabalho de migração. Esse valor é exibido no Database Migration Service na caixa Google Cloud console.
- SOURCE_CONNECTION_PROFILE_ID com um identificador legível por máquina do perfil de conexão de origem.
- DESTINATION_CONNECTION_PROFILE_ID com um identificador legível por máquina do perfil de conexão de destino.
Opcional: o Database Migration Service migra todos os bancos de dados na sua origem por padrão. Se você deseja migrar apenas bancos de dados específicos, use o sinalizador
--databases-filter
e especifique seus identificadores como uma lista separada por vírgulas.Por exemplo:
--databases-filter=my-business-database,my-other-database
Posteriormente, você poderá editar os trabalhos de migração criados com a
--database-filter flag
usando o comandogcloud database-migration migration-jobs update
.
Execute o seguinte comando:
Linux, macOS ou 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=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 ` --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 ^ --type=CONTINUOUS ^
Você deverá receber uma resposta semelhante à seguinte:
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]
Rebaixar o banco de dados de destino
O Database Migration Service exige que a instância do banco de dados de destino funcione como uma réplica de leitura no momento da migração. Antes de iniciar o trabalho de migração, execute o comando gcloud database-migration migration-jobs demote-destination
para rebaixar a instância do banco de dados de destino.
Antes de usar qualquer um dos dados de comando abaixo, faça as seguintes substituições:
- MIGRATION_JOB_ID pelo seu identificador de trabalho de migração.
Se você não souber o identificador, poderá usar o comando
gcloud database-migration migration-jobs list
para listar todos os trabalhos de migração em uma determinada região e visualizar seus identificadores. - REGION com o identificador da região onde seu perfil de conexão está salvo.
Execute o seguinte comando:
Linux, macOS ou 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
Resultado
A ação é executada de maneira assíncrona. Como tal, este comando retorna uma entidade Operation que representa uma operação de longa duração:
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
Para ver se sua operação foi bem-sucedida, você pode consultar o objeto de operação retornado ou verificar o status do trabalho de migração:
- Use o comando
gcloud database-migration migration-jobs describe
para visualizar o status do trabalho de migração. - Use as
gcloud database-migration operations describe
com OPERATION_ID para ver o status da operação em si.
Gerenciar jobs de migração
Neste ponto, seu trabalho de migração está configurado e conectado à instância do banco de dados de destino. Você pode gerenciá-lo usando as seguintes operações:
Opcional: Verifique a tarefa de migração.
Recomendamos que você primeiro verifique seu trabalho de migração executando o comandogcloud database-migration migration-jobs verify
.Para obter mais informações, expanda a seguinte seção:
gcloud database-migration migration-jobs verify
Antes de usar qualquer um dos dados de comando abaixo, faça as seguintes substituições:
- MIGRATION_JOB_ID pelo seu identificador de trabalho de migração.
Se você não souber o identificador, poderá usar o comando
gcloud database-migration migration-jobs list
para listar todos os trabalhos de migração em uma determinada região e visualizar seus identificadores. - REGION com o identificador da região onde seu perfil de conexão está salvo.
Execute o seguinte comando:
Linux, macOS ou 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
Resultado
A ação é executada de maneira assíncrona. Como tal, este comando retorna uma entidade Operation que representa uma operação de longa duração:
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
Para ver se sua operação foi bem-sucedida, você pode consultar o objeto de operação retornado ou verificar o status do trabalho de migração:
- Use o comando
gcloud database-migration migration-jobs describe
com MIGRATION_JOB_ID para visualizar o status do trabalho de migração. - Use o comando
gcloud database-migration operations describe
com o OPERATION_ID para ver o status da operação em si.
- MIGRATION_JOB_ID pelo seu identificador de trabalho de migração.
Opcional: recupere informações sobre bancos de dados selecionados para migração.
Ao migrar bancos de dados específicos, o Database Migration Service precisa recuperar os detalhes sobre os bancos de dados selecionados para o trabalho de migração usando o sinalizador--database-filter
.Antes de iniciar o trabalho de migração, execute o comando
gcloud database-migration migration-jobs fetch-source-objects
.Para obter mais informações, expanda a seguinte seção:
gcloud database-migration migration-jobs fetch-source-objects
Antes de usar qualquer um dos dados de comando abaixo, faça as seguintes substituições:
- MIGRATION_JOB_ID pelo seu identificador de trabalho de migração.
Se você não souber o identificador, poderá usar o comando
gcloud database-migration migration-jobs list
para listar todos os trabalhos de migração em uma determinada região e visualizar seus identificadores. - REGION com o identificador da região onde seu perfil de conexão está salvo.
Execute o seguinte comando:
Linux, macOS ou Cloud Shell
gcloud database-migration migration-jobs \ fetch-source-objects MIGRATION_JOB_ID \ --region=REGION
Windows (PowerShell)
gcloud database-migration migration-jobs ` fetch-source-objects MIGRATION_JOB_ID ` --region=REGION
Windows (cmd.exe)
gcloud database-migration migration-jobs ^ fetch-source-objects MIGRATION_JOB_ID ^ --region=REGION
Resultado
A saída é semelhante à seguinte:
Waiting for migration job MIGRATION_JOB_ID to fetch source objects with OPERATION_ID Waiting for operation OPERATION_ID to complete...done. SOURCE_OBJECT STATE PHASE ERROR {'database': 'DATABASE_NAME', 'type': 'DATABASE'} NOT_SELECTED PHASE_UNSPECIFIED {'database': 'DATABASE_NAME', 'type': 'DATABASE'} STOPPED CDC {'code': 1, 'message': 'Internal error'}
Para ver se sua operação foi bem-sucedida, você pode consultar o objeto de operação retornado ou verificar o status do trabalho de migração:
- Use o comando
gcloud database-migration migration-jobs describe
com MIGRATION_JOB_ID para visualizar o status do trabalho de migração. - Use o comando
gcloud database-migration operations describe
com o OPERATION_ID para ver o status da operação em si.
- MIGRATION_JOB_ID pelo seu identificador de trabalho de migração.
Inicie o trabalho de migração.
Inicie o trabalho de migração executando o comandogcloud database-migration migration-jobs start
.Para obter mais informações, expanda a seguinte seção:
gcloud database-migration migration-jobs start
Antes de usar qualquer um dos dados de comando abaixo, faça as seguintes substituições:
- MIGRATION_JOB_ID pelo seu identificador de trabalho de migração.
Se você não souber o identificador, poderá usar o comando
gcloud database-migration migration-jobs list
para listar todos os trabalhos de migração em uma determinada região e visualizar seus identificadores. - REGION com o identificador da região onde seu perfil de conexão está salvo.
Execute o seguinte comando:
Linux, macOS ou 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
Resultado
A ação é executada de maneira assíncrona. Como tal, este comando retorna uma entidade Operation que representa uma operação de longa duração:
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
Para ver se sua operação foi bem-sucedida, você pode consultar o objeto de operação retornado ou verificar o status do trabalho de migração:
- Use o comando
gcloud database-migration migration-jobs describe
com MIGRATION_JOB_ID para visualizar o status do trabalho de migração. - Use o comando
gcloud database-migration operations describe
com o OPERATION_ID para ver o status da operação em si.
- MIGRATION_JOB_ID pelo seu identificador de trabalho de migração.
Promova o trabalho de migração
Quando a migração atingir a fase Change Data Capture (CDC), você poderá promover a instância do banco de dados de destino de uma réplica de leitura para uma instância autônoma. Execute o comando gcloud database-migration migration-jobs promote
:
Antes de usar qualquer um dos dados de comando abaixo, faça as seguintes substituições:
- MIGRATION_JOB_ID pelo seu identificador de trabalho de migração.
Se você não souber o identificador, poderá usar o comando
gcloud database-migration migration-jobs list
para listar todos os trabalhos de migração em uma determinada região e visualizar seus identificadores. - REGION com o identificador da região onde seu perfil de conexão está salvo.
Execute o seguinte comando:
Linux, macOS ou Cloud Shell
gcloud database-migration migration-jobs \ promote MIGRATION_JOB_ID \ --region=REGION
Windows (PowerShell)
gcloud database-migration migration-jobs ` promote MIGRATION_JOB_ID ` --region=REGION
Windows (cmd.exe)
gcloud database-migration migration-jobs ^ promote MIGRATION_JOB_ID ^ --region=REGION
Resultado
A ação é executada de maneira assíncrona. Como tal, este comando retorna uma entidade Operation que representa uma operação de longa duração:
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
- Use o comando
gcloud database-migration migration-jobs describe
com MIGRATION_JOB_ID para visualizar o status do trabalho de migração. - Use o comando
gcloud database-migration operations describe
com o OPERATION_ID para ver o status da operação em si.
Exceto em caso de indicação contrária, o conteúdo desta página é licenciado de acordo com a Licença de atribuição 4.0 do Creative Commons, e as amostras de código são licenciadas de acordo com a Licença Apache 2.0. Para mais detalhes, consulte as políticas do site do Google Developers. Java é uma marca registrada da Oracle e/ou afiliadas.
Última atualização 2025-05-15 UTC.