Visão geral
O Database Migration Service usa jobs de migração para migrar dados da instância de banco de dados de origem para a de destino.
A criação de um job de migração para uma instância de destino atual inclui:
- Como definir configurações para o job de migração
- Selecionar o perfil de conexão do banco de dados de origem
- Selecionar a instância de banco de dados de destino atual
- Rebaixar a instância atual para convertê-la em uma réplica de leitura
- Configurar a conectividade entre as instâncias de banco de dados de origem e destino
- Testar o job de migração para garantir que as informações de conexão fornecidas para o job sejam vÔlidas
HÔ algumas limitações que você precisa considerar ao 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 mais informações, consulte Limitações conhecidas.
O assistente do Database Migration Service ajuda você a criar um job de migração. Este assistente tem os seguintes painéis: Começar, Definir uma origem, Criar um destino, Definir método de conectividade, Configurar bancos de dados de migração e Testar e criar job de migração. As informações sobre como preencher cada painel são fornecidas nas seções a seguir desta pÔgina.
Criar um job de migração usando o console Google Cloud
Definir configurações para o job de migração
Acesse Jobs de migração no console Google Cloud .
Clique em Criar job de migração na parte de cima da pÔgina.
DĆŖ um nome ao job de migração. Escolha um nome amigĆ”vel que ajude vocĆŖ a identificar o job de migração. NĆ£o inclua informaƧƵes sensĆveis ou de identificação pessoal no nome do job.
Mantenha o ID do job de migração gerado automaticamente.
Selecione o mecanismo do banco de dados de origem.
Selecione o mecanismo do banco de dados de destino.
Selecione a regiĆ£o de destino da migração. Essa regiĆ£o precisa ser a mesma em que o banco de dados de destino estĆ” localizado. Depois de escolher a regiĆ£o de destino, nĆ£o Ć© possĆvel mudar essa seleção.
Especifique o tipo de job de migração: Ćnica (somente snapshot) ou ContĆnua (snapshot + mudanƧas em andamento).
Na seção Antes de continuar, revise os prĆ©-requisitos, clique em Abrir para conferir instruƧƵes geradas automaticamente que podem ajudar vocĆŖ a preparar o banco de dados de origem para a migração. Ć melhor concluir esses prĆ©-requisitos nessa etapa, mas Ć© possĆvel fazer isso a qualquer momento antes de testar ou iniciar o job de migração. Para mais informaƧƵes, consulte Configurar sua origem.
Clique em Salvar e continuar.
Especificar 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 atuais.
Se você não tiver criado um perfil de conexão, crie um clicando em Criar um perfil de conexão na parte de baixo da lista suspensa. Depois siga as mesmas etapas de Criar um perfil de conexão de origem.
- Na seção Personalizar configurações de despejo de dados,
clique em Mostrar configuraƧƵes de despejo 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): performance equilibrada com carga ideal no banco de dados de origem.
- MƔximo: oferece as maiores velocidades de despejo, mas pode aumentar a carga no banco de dados de origem.
- MĆnimo: usa 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, aumente os parâmetros
max_replication_slots
,max_wal_senders
emax_worker_processes
no banco de dados de origem. Para verificar sua configuração, execute o teste do job de migração ao final da criação do job. - Clique em Salvar e continuar.
Selecione a instância de destino
- No menu Tipo de instância de destino, selecione Instância atual.
- Na seção Selecionar instância de destino, escolha a instância de destino.
- Analise 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, o Database Migration Service rebaixa a instância de destino e a converte em uma réplica. Para indicar que a remoção pode ser feita 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 destino
- No menu Método de conectividade, selecione um método de conectividade de rede. Esse método define como a instância do Cloud SQL recém-criada 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, interfaces do Private Service Connect e peering de VPC.
- Se vocĆŖ selecionar o mĆ©todo de conectividade de rede da lista de permissƵes de IP, especifique o endereƧo IP de saĆda da instĆ¢ncia de destino. Se a instĆ¢ncia do Cloud SQL criada for de alta disponibilidade, inclua os endereƧos IP de saĆda das instĆ¢ncias primĆ”ria e secundĆ”ria.
Se você selecionar o método de conectividade de rede do túnel SSH reverso, escolha a instância de VM do Compute Engine que vai hospedar o túnel.
Depois de especificar a instância, o Google vai fornecer um script que executa as etapas de configuração do túnel entre os bancos de dados de origem e destino. Você precisarÔ executar o script na Google Cloud CLI.
Execute os comandos em uma mƔquina que tenha conectividade com o banco de dados de origem e com o Google Cloud.
- Se você usar um dos métodos de conectividade de IP particular, selecione peering de VPC ou interface do PSC.
- Se você selecionar o método de conectividade de rede de peering de VPC, escolha a rede VPC em que o banco de dados de origem estÔ localizado. A instância do Cloud SQL serÔ atualizada para se conectar a essa rede.
- Depois de selecionar o mƩtodo de conectividade de rede e fornecer informaƧƵes adicionais, clique em CONFIGURAR E CONTINUAR.
Configurar bancos de dados de migração
Ć possĆvel selecionar os bancos de dados que vocĆŖ quer migrar.
- Na lista Bancos de dados a serem migrados, selecione uma das seguintes opƧƵes:
- Todos os bancos de dados: seleciona todos os bancos de dados que existem na origem.
- Bancos de dados especĆficos: permite selecionar bancos de dados especĆficos entre todos os que existem na origem.
Se quiser migrar bancos de dados especĆficos, filtre a lista que aparece e selecione os bancos de dados que vocĆŖ quer que o Database Migration Service migre para o destino.
Se a lista não aparecer e um erro de descoberta de banco de dados for exibido, clique em Recarregar. Se a descoberta de banco de dados falhar, o job vai migrar todos os bancos de dados. Você pode continuar criando um job de migração e corrigir os erros de conectividade depois.
- Clique em Salvar e continuar.
Testar e criar o job de migração
Nesta etapa final, revise o resumo das configurações do job de migração, da origem, do destino e do método de conectividade. Em seguida, teste a validade da configuração do job de migração. Se houver problemas, modifique as configurações do job de migração. Nem todas as configurações podem ser editadas.
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 destino podem se comunicar entre si.
- Todas as atualizações necessÔrias nos endereços IP privados ou públicos no destino são feitas.
- O job de migração Ć© vĆ”lido, e as versƵes de origem e destino sĆ£o compatĆveis.
Se o teste falhar, vocĆŖ pode resolver o problema na parte do fluxo destinada a isso e refazer o teste.
O job de migração pode ser criado mesmo que o teste falhe, mas depois que o job for iniciado, ele poderÔ falhar em algum momento durante a execução.
Clique em CRIAR E INICIAR JOB para criar e iniciar o job de migração imediatamente ou em CRIAR JOB para criar o job de migração sem iniciÔ-lo imediatamente.
Atenção: se você usou o Terraform para provisionar o banco de dados de destino, pode haver desvio de configuração durante a execução do job de migração. Não tente reaplicar as configurações do Terraform antes da conclusão da migração. Para mais informações, consulte Desvio de configuração do Terraform.
Se o job não for iniciado no momento da criação, ele poderÔ ser iniciado na pÔgina Jobs de migração clicando em INICIAR.
Independente de quando o job de migração começar, sua organização vai receber uma cobrança pela existência da instância de destino.
Quando vocĆŖ inicia o job de migração, o Database Migration Service comeƧa o despejo completo, bloqueando brevemente o banco de dados de origem. Se a origem estiver no Amazon RDS ou no Amazon Aurora, o Database Migration Service tambĆ©m vai exigir um perĆodo curto de inatividade na gravação (aproximadamente menos de um minuto) no inĆcio da migração. Para mais informaƧƵes, consulte ConsideraƧƵes sobre o paralelismo de despejo de dados.
O job de migração é adicionado à lista de jobs de migração e pode ser acessado diretamente.
Acesse Revisar o job de migração.
Criar um job de migração usando a Google Cloud CLI
Ao migrar para uma instância atual usando a Google Cloud CLI, é necessÔrio criar manualmente o perfil de conexão para a instância de destino. Isso não é necessÔrio ao usar o console do Google Cloud , porque o Database Migration Service cria e remove 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, verifique se você:
- Crie a instância de banco de dados de destino.
- Prepare a instância do banco de dados de origem. Consulte:
- Configurar sua fonte
- Crie o perfil de conexão de origem. O identificador do perfil de conexão de origem é necessÔrio para criar um job de migração.
- Configurar a conectividade
Criar perfil de conexão de destino
Execute o comando gcloud database-migration connection-profiles create
para criar o perfil de conexão de destino da sua instância de destino atual:
Este exemplo usa a flag opcional --no-async
para que todas as operaƧƵes
sejam realizadas de forma sĆncrona. Isso significa que alguns comandos podem levar
um tempo para serem concluĆdos. VocĆŖ pode pular a flag --no-async
para executar comandos de forma assĆncrona.
Se vocĆŖ fizer isso, use o comando
gcloud database-migration operations describe
para verificar se a operação
foi bem-sucedida.
Antes de usar os dados do comando abaixo, faƧa estas 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 em que você quer salvar o perfil de conexão.
- DESTINATION_INSTANCE_ID com o identificador da instância de destino.
- (Opcional) CONNECTION_PROFILE_NAME com um nome legĆvel para seu perfil de conexĆ£o. Esse valor Ć© exibido no console Google Cloud .
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ĆŖ receberĆ” uma resposta semelhante a esta:
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]
Criar o job de migração
Este exemplo usa a flag opcional --no-async
para que todas as operaƧƵes
sejam realizadas de forma sĆncrona. Isso significa que alguns comandos podem levar
um tempo para serem concluĆdos. VocĆŖ pode pular a flag --no-async
para executar comandos de forma assĆncrona.
Se vocĆŖ fizer isso, use o comando
gcloud database-migration operations describe
para verificar se a operação
foi bem-sucedida.
Antes de usar os dados do comando abaixo, faƧa estas substituiƧƵes:
- MIGRATION_JOB_ID com um identificador legĆvel por mĆ”quina para seu job de migração. VocĆŖ usa esse valor para trabalhar com jobs de migração usando comandos da CLI do Google Cloud ou a API do Database Migration Service.
- REGION com o identificador da região em que você quer salvar o job de migração.
- MIGRATION_JOB_NAME com um nome legĆvel para o job de migração. Esse valor Ć© exibido no Database Migration Service no console Google Cloud .
- 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: por padrĆ£o, o Database Migration Service migra todos os bancos de dados na sua origem. Se vocĆŖ quiser migrar apenas bancos de dados especĆficos, use a flag
--databases-filter
e especifique os identificadores como uma lista separada por vĆrgulas.Por exemplo:
--databases-filter=my-business-database,my-other-database
Ć possĆvel editar depois os jobs de migração criados com o
--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ĆŖ receberĆ” uma resposta semelhante a esta:
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 de banco de dados de destino funcione como uma réplica de leitura durante a migração. Antes de iniciar o job 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 os dados do comando abaixo, faƧa estas substituiƧƵes:
- MIGRATION_JOB_ID com
o identificador do job de migração.
Se você não souber o identificador, use o comando
gcloud database-migration migration-jobs list
para listar todos os jobs de migração em uma determinada região e ver os identificadores deles. - REGION com o identificador da região em que o 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 Ć© realizada de forma assĆncrona. Assim, esse comando retorna uma entidade de operação 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 saber se a operação foi bem-sucedida, consulte o objeto de operação retornado ou verifique o status do job de migração:
- Use o comando
gcloud database-migration migration-jobs describe
para conferir o status do job de migração. - Use o
gcloud database-migration operations describe
com o OPERATION_ID para conferir o status da operação.
Gerenciar jobs de migração
Neste ponto, o job de migração estĆ” configurado e conectado Ć instĆ¢ncia do banco de dados de destino. Ć possĆvel gerenciar usando as seguintes operaƧƵes:
Opcional: verifique o job de migração.
Recomendamos que você primeiro verifique seu job de migração executando o comandogcloud database-migration migration-jobs verify
.Para mais informações, abra a seção a seguir:
gcloud database-migration migration-jobs verify
Antes de usar os dados do comando abaixo, faƧa estas substituiƧƵes:
- MIGRATION_JOB_ID com
o identificador do job de migração.
Se você não souber o identificador, use o comando
gcloud database-migration migration-jobs list
para listar todos os jobs de migração em uma determinada região e ver os identificadores deles. - REGION com o identificador da região em que o 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 Ć© realizada de forma assĆncrona. Assim, esse comando retorna uma entidade de operação 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 saber se a operação foi bem-sucedida, consulte o objeto de operação retornado ou verifique o status do job de migração:
- Use o comando
gcloud database-migration migration-jobs describe
com MIGRATION_JOB_ID para conferir o status do job de migração. - Use o comando
gcloud database-migration operations describe
com o OPERATION_ID para conferir o status da operação.
- MIGRATION_JOB_ID com
o identificador do job de migração.
Opcional: recupere informações sobre os 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 job de migração usando a flag--database-filter
.Antes de iniciar o job de migração, execute o comando
gcloud database-migration migration-jobs fetch-source-objects
.Para mais informações, abra a seção a seguir:
gcloud database-migration migration-jobs fetch-source-objects
Antes de usar os dados do comando abaixo, faƧa estas substituiƧƵes:
- MIGRATION_JOB_ID com
o identificador do job de migração.
Se você não souber o identificador, use o comando
gcloud database-migration migration-jobs list
para listar todos os jobs de migração em uma determinada região e ver os identificadores deles. - REGION com o identificador da região em que o 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
O resultado serĆ” assim:
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 saber se a operação foi bem-sucedida, consulte o objeto de operação retornado ou verifique o status do job de migração:
- Use o comando
gcloud database-migration migration-jobs describe
com MIGRATION_JOB_ID para conferir o status do job de migração. - Use o comando
gcloud database-migration operations describe
com o OPERATION_ID para conferir o status da operação.
- MIGRATION_JOB_ID com
o identificador do job de migração.
Inicie o job de migração.
Inicie o job de migração executando o comandogcloud database-migration migration-jobs start
.Para mais informações, abra a seção a seguir:
gcloud database-migration migration-jobs start
Antes de usar os dados do comando abaixo, faƧa estas substituiƧƵes:
- MIGRATION_JOB_ID com
o identificador do job de migração.
Se você não souber o identificador, use o comando
gcloud database-migration migration-jobs list
para listar todos os jobs de migração em uma determinada região e ver os identificadores deles. - REGION com o identificador da região em que o 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 Ć© realizada de forma assĆncrona. Assim, esse comando retorna uma entidade de operação 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 saber se a operação foi bem-sucedida, consulte o objeto de operação retornado ou verifique o status do job de migração:
- Use o comando
gcloud database-migration migration-jobs describe
com MIGRATION_JOB_ID para conferir o status do job de migração. - Use o comando
gcloud database-migration operations describe
com o OPERATION_ID para conferir o status da operação.
- MIGRATION_JOB_ID com
o identificador do job de migração.
Promover o job de migração
Quando a migração atingir a fase de captura de dados alterados (CDC),
serĆ” possĆvel promover a instĆ¢ncia do banco de dados de destino
de uma réplica de leitura para uma instância independente.
Execute o comando gcloud database-migration migration-jobs promote
:
Antes de usar os dados do comando abaixo, faƧa estas substituiƧƵes:
- MIGRATION_JOB_ID com
o identificador do job de migração.
Se você não souber o identificador, use o comando
gcloud database-migration migration-jobs list
para listar todos os jobs de migração em uma determinada região e ver os identificadores deles. - REGION com o identificador da região em que o 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 Ć© realizada de forma assĆncrona. Assim, esse comando retorna uma entidade de operação 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 conferir o status do job de migração. - Use o comando
gcloud database-migration operations describe
com o OPERATION_ID para conferir o status da operação.