O recurso de migração para a nuvem usa replicação física por streaming para transferir dados entre instâncias do ApsaraDB RDS for PostgreSQL, sem necessidade de ferramentas de terceiros. Use este recurso para migrações entre regiões ou atualizações no nível da instância quando precisar de um caminho rápido e de baixa complexidade, com alterações mínimas na aplicação após o switchover.
Pré-requisitos
Antes de começar, verifique se as seguintes condições são atendidas:
As instâncias de origem e de destino executam a mesma versão principal do PostgreSQL. Há suporte para PostgreSQL 10 e versões posteriores.
A instância de destino é uma instância primária. Instâncias somente leitura não podem ser alvos de migração.
A instância de destino usa discos em nuvem.
A instância de destino está vazia e seu armazenamento disponível é maior ou igual ao tamanho dos dados da instância de origem.
O bloco CIDR da Virtual Private Cloud (VPC) da instância de origem difere do bloco CIDR da VPC da instância de destino.
Faturamento para migrações entre regiões
Migrações entre regiões exigem a Cloud Enterprise Network (CEN) para conectar as instâncias de origem e de destino por meio de uma rede interna. O tráfego entre regiões da CEN é faturado separadamente. Para obter detalhes, consulte O que é a CEN? e Faturamento.
Como funciona
A migração ocorre em três fases:
Configure a rede entre regiões: conecte as VPCs de origem e de destino por meio da CEN para que as duas instâncias possam se comunicar pela rede interna.
Run the feasibility assessment: verifique se a instância de origem está pronta para a migração.
Migrar dados e realizar o switchover: inicie a tarefa de migração para a nuvem e transfira as cargas de trabalho para a instância de destino quando a sincronização incremental de dados começar.
Os passos a seguir usam um exemplo em que a instância de origem está na região China (Beijing) e a instância de destino está na região China (Hangzhou). Pule a Etapa 1 se ambas as instâncias estiverem na mesma região.
Etapa 1: Configure a CEN para conectividade entre regiões
1,1 Crie uma instância da CEN
Faça login no console da CEN.
Na página Instances, clique em Create CEN Instance.
-
Na caixa de diálogo Create CEN Instance, configure os parâmetros e clique em OK.
Parâmetro
Descrição
Name
Insira um nome. O nome deve ter entre 2 e 128 caracteres e pode conter dígitos, hifens (-) e sublinhados (_). Deve começar com uma letra.
Description
(Opcional) Insira uma descrição. A descrição deve ter entre 2 e 256 caracteres e não pode começar com
http://ouhttps://.
1,2 Adicionar as VPCs de origem e de destino à instância da CEN
Adicione ambas as VPCs separadamente. Os passos a seguir mostram como adicionar a VPC de origem. Repita os procedimentos para adicionar a VPC de destino, selecionando a região e a instância de rede correspondentes em cada caso.
Na página Instances, clique no ID da instância da CEN criada.
Na aba Basic Information, clique no ícone
à direita da contagem de VPCs.
-
Na página Connection with Peer Network Instance, configure os parâmetros e clique em OK.
Parâmetro
Descrição
Instance type
Mantenha o valor padrão Virtual Private Cloud (VPC).
Region
Selecione a região da instância cuja VPC você está adicionando. Para a instância de origem, selecione China (Beijing).
Transit router
Não há transit routers disponíveis por padrão. A CEN cria um automaticamente. Selecione a zona primária e a zona secundária para o transit router.
Resource owner ID
Selecione Current Account.
Attachment name
Insira um nome para o anexo.
Network instance
Selecione o ID da VPC da instância. Para encontrar o ID da VPC, acesse Database Connection no console do ApsaraDB RDS.
Após selecionar a VPC, escolha os vSwitches associados à zona primária e à zona secundária do transit router.
Após adicionar ambas as VPCs, a instância da CEN exibirá os dois anexos de rede.
1,3 Adquirir um plano de largura de banda
Na página Instances, clique no ID da sua instância da CEN.
Na aba Basic Information, clique em Bandwidth Plans e, em seguida, clique em Purchase Bandwidth Plan (Subscription).
-
Configure os parâmetros e clique em Buy Now para concluir a compra.
Parâmetro Descrição CEN ID A instância da CEN vem pré-selecionada. O plano de largura de banda é associado a ela automaticamente após a compra. Area A Selecione uma área para comunicação entre regiões. Neste exemplo, selecione Mainland China. NotaNão é possível alterar a área após a aquisição do plano de largura de banda.
Area B Selecione a outra área. Neste exemplo, selecione Mainland China. Billing method Mantenha o valor padrão Pay-By-Bandwidth. Bandwidth Especifique a largura de banda em Mbit/s. Bandwidth package name Insira um nome para o plano de largura de banda. Order time Selecione uma duração de assinatura. Opcionalmente, ative a auto-renewal.
Após a conclusão da compra, o plano de largura de banda aparecerá na aba.
1,4 Configure a largura de banda para comunicação entre regiões
Na página Instances, clique no ID da sua instância da CEN.
Na aba Basic Information, clique em Bandwidth Plans e, em seguida, clique em Allocate Bandwidth for Inter-region Communication.
-
Na página Connection with Peer Network Instance, configure os parâmetros e clique em OK.
Parâmetro
Descrição
Instance type
Selecione Inter-region Connection.
Region
Selecione a região da instância de origem. Neste exemplo, selecione China (Beijing).
Transit router
A CEN identifica automaticamente o transit router para a região selecionada.
Peer region
Selecione a região da instância de destino. Neste exemplo, selecione China (Hangzhou).
Transit router
A CEN identifica automaticamente o transit router para a região par.
Bandwidth allocation mode
Escolha como alocar a largura de banda. Valores válidos: Allocate from Bandwidth Plan e Pay-By-Data-Transfer. Neste exemplo, selecione Allocate from Bandwidth Plan.
Bandwidth plan
Selecione o plano de largura de banda associado à sua instância da CEN. Necessário apenas quando o Bandwidth allocation mode for Allocate from Bandwidth Plan.
Bandwidth
Insira a largura de banda em Mbit/s.
Default line type
Selecione Platinum ou Gold. A opção Platinum só está disponível quando o Bandwidth allocation mode está definido como Pay-By-Data-Transfer.
Depois que a configuração for salva, a conexão entre regiões aparecerá na lista.
Etapa 2: Configure a instância de origem
2,1 Adicionar o bloco CIDR da VPC de destino à lista de permissões de endereços IP
Adicione o bloco CIDR da VPC da instância de destino à lista de permissões de endereços IP da instância de origem. Para obter as etapas de configuração, consulte Configure uma lista de permissões de endereços IP.
Para localizar o bloco CIDR da VPC da instância de destino:
Acesse a página Instances no console do ApsaraDB RDS e clique no ID da instância de destino.
No painel de navegação à esquerda, clique em Database Connection. O campo Network Type exibe o bloco CIDR da VPC.

2,2 Crie uma conta privilegiada na instância de origem
A migração exige uma conta privilegiada com as permissões CREATE ROLE, REPLICATION e pg_monitor. Se já existir uma conta privilegiada, pule esta etapa.
Para criar uma, consulte Criar uma conta. Defina o Account Type como Privileged Account.
Etapa 3: Configure a instância de destino e execute a migração
3,1 Execute a avaliação de viabilidade
Acesse a página Instances e clique no ID da instância de destino.
No painel de navegação à esquerda, clique em Cloud Migration/DR Construction e, em seguida, clique na aba Feasibility assessment.
Na etapa Configure Scenario and Source Type, defina Scenario como Migration to Cloud e Source como ApsaraDB RDS Instance. Clique em Next.
Na etapa Configure Destination Instance, clique em Next.
Na etapa Configure Source Instance, selecione todos os itens listados e clique em Next. Conclua todas as preparações listadas antes de prosseguir.
-
Na etapa Start Feasibility Assessment, configure os detalhes da instância de origem.
Parâmetro
Descrição
Migration task name
Gerado automaticamente. Nenhuma alteração necessária.
Source VPC/DNS IP
Endpoint interno da instância de origem. Consulte Visualize e altere os endpoints e números de porta.
Port of source instance
Número da porta interna da instância de origem. Consulte Visualize e altere os endpoints e números de porta.
Username
Nome de usuário da conta privilegiada na instância de origem.
Password
Senha da conta privilegiada na instância de origem.
Clique em Create Feasibility Assessment Task.
Durante a avaliação, o status da instância de destino muda para Maintaining Instance.
Após a conclusão da avaliação, verifique o resultado na seção Migration to Cloud da aba Feasibility assessment:
Successful: prossiga para criar a tarefa de migração para a nuvem.
Failed: clique em View Report na coluna Actions e resolva os problemas relatados. Para erros comuns, consulte Introdução aos relatórios de avaliação de migração para a nuvem.
3,2 Iniciar a tarefa de migração para a nuvem
No painel de navegação à esquerda, clique em Cloud Migration/DR Construction e, em seguida, clique na aba Migration to Cloud. Clique em Create Cloud Migration Task.
Na caixa de diálogo Create Cloud Migration Task, selecione a tarefa de avaliação bem-sucedida na lista suspensa Associated Assessment Task. O ApsaraDB RDS preenche automaticamente os campos Migration Source Type, Source IP/DNS, Source Port e Username.
Clique em Initiate Migration to Cloud.
Durante a migração, o status da instância de destino muda para Migrating Data In. É possível ler e gravar na instância de origem durante esse período. Não migre dados de ou para a instância de origem, não a reinicie nem altere suas especificações até que a migração seja concluída.
3,3 Transferir cargas de trabalho para a instância de destino
Clique no link na coluna Cloud Migration Phase para monitorar o progresso da tarefa.
Quando a tarefa entrar na fase de incremental data synchronization, clique no botão de switchover na coluna Actions.
-
Na caixa de diálogo Switchover, interrompa as gravações na instância de origem. Configure a instância de origem para aceitar apenas solicitações de leitura ou impeça a aplicação conectada de gravar dados. Para tornar a instância de origem somente leitura:
Defina o parâmetro rds_force_trans_ro_non_sup como on. Consulte Modifique os parâmetros de uma instância do ApsaraDB RDS for PostgreSQL.
Execute a seguinte instrução SQL 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(); Marque todas as caixas de seleção e clique em Switch Now. Aguarde a conclusão da migração.
Próximos passos
Após a migração, reconecte suas aplicações à instância de destino. Para evitar a modificação das strings de conexão da aplicação, configure a instância de destino para usar os mesmos endpoints e listas de permissões da instância de origem:
Atualize a lista de permissões: copie as configurações da lista de permissões de endereços IP da instância de origem para a instância de destino. Consulte Configure uma lista de permissões de endereços IP.
-
Trocar os endpoints: altere os endpoints para que a instância de destino use o endereço de conexão apontado pelas suas aplicações. Consulte Visualize e altere os endpoints e números de porta. Por exemplo, se o endpoint de origem for
pgm-aaa.pg.rds.aliyuncs.come o endpoint de destino forpgm-bbb.pg.rds.aliyuncs.com: suas aplicações agora se conectam à instância de destino sem nenhuma alteração de código.Altere o endpoint da instância de origem de
pgm-aaa.pg.rds.aliyuncs.compara um valor temporário, por exemplopgm-ccc.pg.rds.aliyuncs.com.Altere o endpoint da instância de destino de
pgm-bbb.pg.rds.aliyuncs.comparapgm-aaa.pg.rds.aliyuncs.com.