Este recurso usa replicação física por streaming para oferecer uma migração rápida, simples e confiável, compatível com uma ampla variedade de cenários e que aumenta a eficiência do processo.
Pré-requisitos
-
A instância de destino do ApsaraDB RDS for PostgreSQL deve atender aos seguintes requisitos:
-
A versão principal da instância deve ser igual à do seu banco de dados PostgreSQL autogerenciado. O PostgreSQL 10 e as versões posteriores são compatíveis.
NotaPara migrar entre versões principais, como do PostgreSQL 10 para o ApsaraDB RDS for PostgreSQL 13, conclua primeiro a migração para a cloud com um clique descrita neste tópico. Em seguida, você pode atualize a versão principal do banco de dados do ApsaraDB RDS for PostgreSQL 10 para a 13.
A instância deve ser uma instância primária. Instâncias somente leitura não são compatíveis com a migração para a cloud com um clique.
O tipo de armazenamento da instância deve ser disco em cloud.
A instância deve estar vazia e ter espaço de armazenamento disponível maior ou igual ao tamanho dos dados do seu banco de dados PostgreSQL autogerenciado.
-
-
Seu banco de dados PostgreSQL autogerenciado deve atender aos seguintes requisitos:
-
Rede
Fonte da migração
Requisitos de rede
Um banco de dados PostgreSQL autogerenciado em uma instância ECS ou uma instância do ApsaraDB RDS for PostgreSQL
As instâncias de origem e de destino devem estar na mesma Virtual Private Cloud (VPC). Se estiverem em VPCs diferentes, conecte-as usando a Cloud Enterprise Network (CEN). Para mais informações, consulte Cloud Enterprise Network (CEN).
Um banco de dados PostgreSQL autogerenciado em um data center local (o data center está conectado à VPC)
Estabeleça uma conexão de rede privada entre o data center local e a instância do ApsaraDB RDS for PostgreSQL. Para mais detalhes, consulte Conecte uma VPC a um data center local.
Se você estiver migrando de um banco de dados PostgreSQL autogerenciado em uma instância ECS para uma instância do ApsaraDB RDS for PostgreSQL, conclua primeiro as etapas em (Opcional) Configure um grupo de segurança ECS.
Certifique-se de ter concluído as etapas em Configure o arquivo postgresql.conf.
É necessário ter concluído as etapas descritas em Crie uma conta de migração.
Verifique se você já executou as etapas em Atualize o arquivo pg_hba.conf.
Por fim, conclua as etapas em Configure o firewall do servidor.
-
Observações
Durante a tarefa de migração para a cloud, você pode ler e gravar dados em seu banco de dados PostgreSQL autogerenciado. No entanto, não execute operações administrativas importantes, como outra migração, reinicialização ou alteração de especificação.
Etapa 1: Execute uma avaliação de viabilidade
Primeiro, acesse a página Instances. Na barra de navegação superior, selecione a região onde a instância RDS está localizada. Em seguida, encontre a instância RDS e clique em ID da instância.
No painel de navegação à esquerda, clique em Cloud Migration/DR Deployment e, em seguida, clique em guia Feasibility Assessment.
Na página Configure Scenario and Source Type do assistente, defina Migration to Cloud como Cloud Migration, selecione a origem da migração e clique em Next.
Na página Configure Destination Instance, clique em Next.
-
Na página Configure Source Instance, selecione as caixas de seleção de todos os pré-requisitos de configuração concluídos e clique em Next.
NotaPara mais informações sobre os itens na página Configure Source Instance, consulte (Opcional) Configure um grupo de segurança ECS, Crie uma conta de migração e Atualize o arquivo pg_hba.conf.
-
Na página Start Feasibility Assessment, configure as informações da instância de origem.
Parâmetro
Descrição
Migration Task Name
Gerado automaticamente. Nenhuma alteração é necessária.
Source VPC/DNS IP
-
Se o banco de dados de origem estiver em uma instância ECS, insira o IP privado da instância ECS. Para mais informações, consulte Visualize endereços IP.
-
Se o banco de dados de origem estiver em um data center local, insira o IP privado do data center.
Port of Source Instance
A porta do seu banco de dados PostgreSQL autogerenciado. Execute o comando
netstat -a | grep PGSQLe visualize a porta.Username
migratetest. Esta é a conta do banco de dados criada na etapa Crie uma conta de migração.Password
123456. Esta é a senha da conta do banco de dados criada na etapa Crie uma conta de migração. -
-
Em seguida, clique em Create Feasibility Assessment Task.
NotaDurante a avaliação de viabilidade, o status da instância muda para Maintaining Instance.
Após concluir a avaliação, visualize o status da tarefa na lista Migration to Cloud na guia Feasibility Assessment.
Se o status for Success, prossiga para a etapa de migração para a cloud. Para mais informações, consulte Etapa 2: Inicie a migração para a cloud.
Se o status for Failed, clique em Report Details na coluna Actions e resolva o problema com base na mensagem de erro . Para informações sobre erros comuns, consulte Interprete um relatório de avaliação de migração para a cloud.
Após resolver o erro, clique em Re-assess na coluna Actions para iniciar a tarefa de avaliação novamente.
Etapa 2: Inicie a migração para a cloud
Execute esta etapa somente após a conclusão bem-sucedida da avaliação de viabilidade.
Primeiro, acesse a página Instances. Na barra de navegação superior, selecione a região onde a instância RDS está localizada. Em seguida, encontre a instância RDS e clique em ID da instância.
No painel de navegação à esquerda, clique em One-Click Cloud Migration/Disaster Recovery, acesse a guia Migration to Cloud e clique em Crie Cloud Migration Task.
-
Na janela Crie Cloud Migration Task, selecione a tarefa de avaliação bem-sucedida na lista Create Cloud Migration Task. Esta é a tarefa que você criou em Etapa 1: Execute uma avaliação de viabilidade.
NotaApós selecionar uma Associated Assessment Task, os parâmetros Associated Assessment Task, Migration Source Type, Source IP/ DNS e Port of Source Instance são preenchidos automaticamente.
-
Agora, clique em Username. O sistema inicia automaticamente a tarefa de migração para a cloud.
AvisoDurante a migração para a cloud, o status da instância muda para Initiate Migration to Cloud. Você pode executar operações de leitura e gravação em seu banco de dados PostgreSQL autogerenciado. No entanto, não execute operações administrativas importantes, como outra migração, reinicialização ou alteração de especificação. Caso contrário, a tarefa de migração para a cloud falhará.
-
Execute o cutover.
Na lista de tarefas de migração para a cloud, clique em link na coluna Migrating Data In para verificar o progresso da tarefa.
Quando a fase de migração para a cloud for Cloud Migration Phase, clique em Incremental Data Synchronization na coluna Switchover para iniciar o cutover.
-
Na janela Action, siga as instruções de cutover: defina a instância de origem como somente leitura ou interrompa as operações de gravação de seu aplicativo. Agora, confirme se o status de replicação é streaming e selecione as caixas de seleção das outras instruções: o superuser é rebaixado para rds_superuser, e as senhas das contas aurora e replicator são redefinidas e usadas como contas de sistema do RDS. Por fim, confirme as instruções e clique em Switch Now.
NotaDefina a instância de origem como somente leitura:
-
Se a instância de origem for uma instância do ApsaraDB RDS for PostgreSQL, siga estas etapas:
Em Configure instance parameters, defina o parâmetro rds_force_trans_ro_non_sup da instância de origem como on.
-
Execute a seguinte instrução para encerrar todas as sessões existentes.
SELECT pg_terminate_backend(pid) FROM pg_stat_activity WHERE usename not in ('replicator', 'monitor', 'pgsql', 'aurora') AND pid != pg_backend_pid();
-
Se a instância de origem for um banco de dados autogerenciado, siga estas etapas:
-- Set the database to read-only. ALTER SYSTEM SET default_transaction_read_only=on; -- Reload the parameter configuration to apply the change. SELECT pg_reload_conf(); -- Terminate all existing sessions. SELECT pg_terminate_backend(pid) FROM pg_stat_activity WHERE usename not in ('replicator', 'monitor', 'pgsql', 'aurora') AND pid != pg_backend_pid();
-
Em seguida, selecione todas as caixas de seleção e clique em Switchover. Em seguida, aguarde a conclusão da migração.
Após concluir a migração, a coluna Cloud Migration Phase exibe Completed, e a coluna Task Status exibe Successful.