Nesta página, descrevemos como migrar seus bancos de dados para um cluster do AlloyDB para PostgreSQL pré-existente criado diretamente no AlloyDB para PostgreSQL.
Esse caminho é útil para cenários em que o cluster de destino é gerenciado por uma equipe diferente ou se você precisa criar o cluster fora do Database Migration Service para configurar flags personalizadas específicas, intervalos de IP pré-alocados ou topologias de rede VPC complexas. Se a migração tiver requisitos diferentes, siga um fluxo de migração diferente. Para mais informações, consulte Começar a usar as migrações do PostgreSQL para o AlloyDB para PostgreSQL.
Em geral, a migração contínua segue estas etapas:
- Configure o banco de dados de origem para permitir que o Database Migration Service replique seus dados.
- Configure a conectividade de rede entre o banco de dados de origem e o Google Cloud.
- Prepare e configure o cluster de destino do AlloyDB para PostgreSQL.
- Criar o perfil de conexão de origem e o job de migração contínua.
- Inicie e monitore o job contínuo de migração.
- Promova o job de migração e mova o aplicativo para usar os novos bancos de dados.
Custos
Neste documento, você usará os seguintes componentes faturáveis do Google Cloud:
- AlloyDB para PostgreSQL (consulte os preços do AlloyDB para PostgreSQL).
- Se usado para armazenar chaves de criptografia gerenciadas pelo cliente (CMEK): Cloud Storage (consulte Preços do Cloud Storage).
Para gerar uma estimativa de custo baseada na projeção de uso deste tutorial, use a calculadora de preços.
Antes de começar
- Verifique se esse caminho de migração é totalmente compatível com seu cenário.
Consulte as seguintes páginas:
- Origens e destinos compatíveis na página Visão geral do cenário lista todas as versões de origem e destino compatíveis.
- Limitações conhecidas descreve limites operacionais, tipos de dados compatíveis e limites de desempenho. O Database Migration Service para AlloyDB para PostgreSQL oferece suporte a migrações contínuas.
- Considere em qual região você quer criar o cluster de destino. O Database Migration Service é um produto totalmente regional, o que significa que todas as entidades relacionadas à migração (perfis de conexão de origem, jobs de migração e clusters de destino) precisam residir em uma única região do Google Cloud .
- No console do Google Cloud , na página do seletor de projetos, selecione ou crie um projeto do Google Cloud .
- Ative as APIs Database Migration Service, AlloyDB para PostgreSQL e API Compute Engine.
Funções exigidas
Para receber as permissões necessárias para realizar migrações homogêneas do PostgreSQL para o AlloyDB para PostgreSQL com o Database Migration Service, peça ao administrador para conceder a você os papéis do IAM necessários no projeto:
-
Administrador de migração do banco de dados (
roles/datamigration.admin) -
Administrador do AlloyDB (
roles/alloydb.admin)
Para mais informações sobre como conceder papéis, consulte Gerenciar acesso na documentação do Identity and Access Management.
Esses papéis predefinidos contêm as permissões necessárias para realizar migrações homogêneas do PostgreSQL com o Database Migration Service. Para ver as permissões exatas necessárias, expanda a seção Permissões necessárias:
Permissões necessárias
As permissões a seguir são necessárias para realizar migrações homogêneas do PostgreSQL para um cluster do AlloyDB para PostgreSQL com o Database Migration Service:
datamigration.*alloydb.clusters.getalloydb.clusters.listalloydb.clusters.updatealloydb.instances.getalloydb.instances.listalloydb.instances.updatealloydb.operations.getalloydb.users.listalloydb.users.getalloydb.users.createalloydb.users.update
Essas permissões também podem ser concedidas com papéis personalizados ou outros papéis predefinidos.
Preparar o banco de dados de origem
Para preparar o banco de dados de origem para migração, siga estas etapas:
- Escolha e configure o método de conectividade de rede de origem.
- Configure a instância do banco de dados de origem. Em geral, isso envolve as seguintes etapas:
- Instale a extensão
pglogicaldo PostgreSQL (versão 2.2.1 ou mais recente) no banco de dados de origem e em todos os bancos de dados que serão migrados. - Configure os parâmetros do PostgreSQL: defina
wal_level = logicale garanta valores adequados paramax_replication_slots,max_wal_sendersemax_worker_processes. - Conceda privilégios de replicação ao usuário da migração e configure
pg_hba.confpara permitir conexões de entrada do cluster de destino do AlloyDB para PostgreSQL.
Para instruções detalhadas, consulte Configurar o banco de dados de origem.
- Instale a extensão
- Crie o perfil de conexão de origem.
Preparar e configurar o cluster de destino
Ao migrar para um cluster do AlloyDB para PostgreSQL (como um cluster pré-provisionado por outra equipe ou gerenciado com o Terraform), verifique se o cluster atende a todos os pré-requisitos do Database Migration Service antes de criar o job de migração:
- Prontidão do cluster e estado dos dados:
- O cluster de destino precisa estar no estado
RUNNABLEe ter uma instância principal ativa. - O cluster precisa estar na mesma região do Google Cloud que o job de migração e os perfis de conexão.
- O cluster só pode ser associado a um job de migração ativo por vez.
- O cluster de destino precisa conter
apenas os bancos de dados padrão do sistema (
postgres,template0,template1) sem tabelas de usuário.
- O cluster de destino precisa estar no estado
- Configuração da flag de banco de dados:
ative a flag
alloydb.enable_pglogicalno cluster de destino do AlloyDB para PostgreSQL. Essa flag é necessária para a decodificação e ingestão da replicação lógica. Para instruções sobre como atualizar flags, consulte Configurar flags de banco de dados na documentação do AlloyDB para PostgreSQL. - Credenciais e permissões do usuário do banco de dados:
verifique se a conta de usuário administrativo
postgres(ou uma conta de migração dedicada com o papelalloydbsuperuser) existe no cluster de destino. O Database Migration Service se conecta ao destino com direitos administrativos para gerenciar assinantes de replicação e sincronizar esquemas. - Requisitos de conectividade de rede: verifique se a rede do cluster de destino está configurada corretamente para se comunicar com o banco de dados de origem de acordo com o método de conectividade escolhido:
- Private Service Connect: se o cluster de destino estiver ativado para o Private Service Connect, verifique se ele está configurado com os anexos de rede e o roteamento adequados do Private Service Connect para alcançar a rede de origem. Para mais informações, consulte Configurar o Private Service Connect na documentação do AlloyDB para PostgreSQL.
- Peering de nuvem privada virtual (acesso a serviços particulares/IP privado): o cluster de destino precisa ter o acesso a serviços particulares configurado na rede de nuvem privada virtual que faz peering ou roteia para o banco de dados de origem (como com o Cloud VPN ou o Cloud Interconnect). Para mais informações, consulte Configurar o acesso a serviços particulares na documentação do AlloyDB para PostgreSQL.
- Lista de permissões de IP público: se o banco de dados de origem estiver acessível pela Internet pública, verifique se o firewall de origem permite conexões de entrada do endereço IP de saída da instância principal do AlloyDB para PostgreSQL de destino.
- Túnel SSH reverso ou VM de proxy TCP: se o banco de dados de origem estiver fora do Google Cloud sem peering privado direto, verifique se a VM intermediária do Compute Engine (bastion host ou proxy TCP) está implantada em uma sub-rede acessível pela rede de nuvem privada virtual do cluster de destino. Para detalhes, consulte Métodos de rede.
- Aviso de rebaixamento da instância principal e bloqueio de gravação:
- O Database Migration Service rebaixa a instância principal de destino para funcionar como um assinante de replicação externa durante o processo de migração. É necessário confirmar esse rebaixamento ao configurar o job de migração no console do Google Cloud inserindo o ID do cluster de destino.
- O rebaixamento da instância principal não coloca os bancos de dados no modo somente leitura estrito, mas é preciso evitar operações de gravação em tabelas ou bancos de dados que participam da migração para evitar conflitos de replicação e desvio de dados. Para mais informações, consulte Limitações para migrações para clusters de destino atuais.
Criar e executar o job de migração
Para configurar e executar a migração contínua para um cluster de destino, siga estas etapas:
- Opcional: se você quiser gerenciar seus próprios certificados ou chaves de criptografia para o job de migração, prepare as chaves de criptografia necessárias.
-
Crie e execute o job de migração para um cluster de destino atual.
É possível monitorar o progresso da migração e a integridade do cluster de destino com os recursos de observabilidade do Database Migration Service. Consulte Métricas de job de migração.
Finalizar a migração
Quando você decidir mudar o tráfego do aplicativo para o novo cluster do AlloyDB para PostgreSQL, conclua a migração seguindo estas etapas:
- Interrompa todas as operações de gravação no banco de dados de origem. É possível configurar o banco de dados de origem para o modo somente leitura para manter a disponibilidade para consultas e impedir novas modificações.
- Promova o job de migração. A promoção do job de migração sincroniza todas as transações de CDC restantes, encerra a replicação da origem e promove a instância principal do AlloyDB para PostgreSQL a um cluster principal independente e totalmente operacional.
- Opcional: verifique os dados de migração para garantir a integridade das linhas e a integridade dos dados.
A seguir
Saiba mais sobre os recursos e as capacidades de gerenciamento do AlloyDB para PostgreSQL. Consulte Visão geral do AlloyDB para PostgreSQL.