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 instância 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
- Como selecionar o perfil de conexão do banco de dados de origem
- Como selecionar a instância de destino do banco de dados
- 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 de destino
- Testar o job de migração para garantir que as informações de conexão fornecidas para o job sejam válidas.
É preciso considerar algumas limitações quando você quer migrar para uma instância de destino criada fora do Database Migration Service. Saiba mais em Limitações conhecidas.
Crie um job de migração usando o console do Google Cloud
Definir configurações para o job de migração
Acesse os 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 para 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 de banco de dados de origem.
Selecione AlloyDB para PostgreSQL como mecanismo 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, essa seleção não pode ser alterada.
Escolha Contínuo (snapshot + alterações contínuas) como o tipo de job de migração.
Na seção Antes de continuar, revise os pré-requisitos, clique em Abrir para conferir instruções geradas automaticamente que podem ajudar a preparar seu banco de dados de origem para a migração. É melhor concluir esses pré-requisitos nesta etapa, mas é possível concluí-los a qualquer momento antes de testar ou iniciar o job de migração. Para mais informações, consulte Configurar a 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 existentes.
Se você não tiver criado um perfil de conexão, clique em Criar um perfil de conexão na parte de baixo da lista suspensa e siga as mesmas etapas de Criar um perfil de conexão de origem.
Recomendamos criar um perfil de conexão designado para a migração do AlloyDB.
- 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:
- Otimizado (recomendado): desempenho equilibrado com carga ideal no banco de dados de origem.
- Máxima: oferece as velocidades de despejo mais altas, 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 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 a configuração, execute o teste do job de migração ao final da criação do job de migração. - Clique em Salvar e continuar.
Selecionar a instância de destino
1. No menu Tipo de cluster de destino, selecione Cluster existente.Na seção Selecionar cluster de destino, selecione o cluster de destino.
Analise as informações sobre o cluster 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 a redução pode ser realizada 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 suspenso Método de conectividade, selecione um método de conectividade de rede. Esse método define como o cluster do AlloyDB recém-criado vai se conectar ao banco de dados de origem. Os métodos de conectividade de rede atuais incluem lista de permissões de IP, peering de VPC, túnel SSH reverso e proxy TCP por uma VM hospedada na nuvem.
- Se você selecionar o método de conectividade de rede da lista de permissões de IP, vai precisar especificar o endereço IP de saída da instância de destino. Copie os endereços IP de saída da instância principal e secundária e use-os para configurar o firewall de rede do servidor do banco de dados de origem e no arquivo
pg_hba.conf
, para que a origem possa aceitar conexões desses endereços. Se você selecionar o método de conectividade de rede do túnel SSH reverso, selecione 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 de destino. Você vai 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ê selecionar o método de conectividade de rede de peering da VPC, selecione 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.
Se você selecionar o proxy TCP usando o método de conectividade da VM hospedada na nuvem, insira os detalhes necessários para a nova instância de VM do Compute Engine que hospedará o proxy TCP.
Depois de especificar os detalhes, o console do Google Cloud vai fornecer um script que executa as etapas para configurar o proxy entre os bancos de dados de origem e de destino. Você vai precisar executar o script em uma máquina com uma Google Cloud CLI atualizada.
Depois de executar o script, ele vai gerar o IP particular da VM recém-criada. Digite o IP e clique em Configurar e continuar.
- Saiba mais sobre como configurar a conectividade.
Depois de selecionar o método de conectividade de rede e fornecer outras informações, clique em CONFIGURAR E CONTINUAR.
Testar e criar o job de migração
Nesta etapa final, revise o resumo das configurações do job de migração, a origem, o destino e o método de conectividade e teste a validade da configuração do job de migração. Se houver algum problema, você poderá modificar 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 de endereços IP particulares necessárias no destino foram 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 adequada do fluxo e voltar a fazer o teste.
O job de migração pode ser criado mesmo se o teste falhar, mas, depois que o job é iniciado, ele pode falhar em algum momento durante a execução.
Clique em CRIAR E INICIAR JOB para criar o job de migração e iniciar imediatamente ou clique em CRIAR JOB para criar o job de migração sem iniciá-lo imediatamente.
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 START.
Independentemente de quando o job de migração for iniciado, sua organização será cobrada pela existência da instância de destino.
Quando você inicia o job de migração, o Database Migration Service inicia 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 curto período 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 resumo de dados.
O job de migração é adicionado à lista de jobs de migração e pode ser visualizado diretamente.
Prossiga para Revisar o job de migração.
Criar um job de migração usando a Google Cloud CLI
Ao migrar para uma instância 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 quando você usa o console do Google Cloud , porque 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 existente, 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 a 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
Crie o perfil de conexão de destino para a instância de destino atual executando o comando gcloud database-migration connection-profiles create
:
Este exemplo usa a flag --no-async
opcional 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 pelo identificador da região em que você quer 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 humanos para o perfil de conexão. Esse valor é exibido no console do Google Cloud .
Execute o seguinte comando:
Linux, macOS ou Cloud Shell
gcloud database-migration connection-profiles \ create postgresql CONNECTION_PROFILE_ID \ --no-async \ --alloydb-cluster=DESTINATION_INSTANCE_ID \ --region=REGION \ --display-name=CONNECTION_PROFILE_NAME
Windows (PowerShell)
gcloud database-migration connection-profiles ` create postgresql CONNECTION_PROFILE_ID ` --no-async ` --alloydb-cluster=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 ^ --alloydb-cluster=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 --no-async
opcional 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 o job de migração. Use esse valor para trabalhar com jobs de migração usando comandos da CLI do Google Cloud ou a API do Database Migration Service.
- REGION pelo identificador da região em que você quer salvar o job de migração.
- MIGRATION_JOB_NAME com um nome legível para humanos para o job de migração. Esse valor aparece no Database Migration Service no console do 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.
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]
Desmonte 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 pelo
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 conferir os identificadores. - REGION com o identificador da região em que o perfil de conexão é 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
Nesse ponto, o job de migração está configurado e conectado à instância de banco de dados de destino. É possível fazer isso usando as
operações verify
, start
, stop
, restart
e resume
.
Verificar o job de migração
Recomendamos que você primeiro verifique seu job de migração executando o comando
gcloud database-migration migration-jobs verify
.
Antes de usar os dados do comando abaixo, faça estas substituições:
- MIGRATION_JOB_ID pelo
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 conferir os identificadores. - REGION com o identificador da região em que o perfil de conexão é 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 o 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.
Iniciar o job de migração
Inicie o job de migração executando o comando
gcloud database-migration migration-jobs start
.
Antes de usar os dados do comando abaixo, faça estas substituições:
- MIGRATION_JOB_ID pelo
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 conferir os identificadores. - REGION com o identificador da região em que o perfil de conexão é 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 o 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.
Promover o job de migração
Quando a migração chegar à fase de captura de dados alterados (CDC),
você poderá 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 pelo
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 conferir os identificadores. - REGION com o identificador da região em que o perfil de conexão é 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 o 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.