Tutorial: Migrar offline do Amazon Aurora PostgreSQL para o Banco de Dados do Azure para PostgreSQL com o serviço de migração
Este artigo descreve como migrar seu banco de dados PostgreSQL do Amazon Aurora para o Banco de Dados do Azure para PostgreSQL offline.
O serviço de migração no Banco de Dados do Azure para PostgreSQL é um serviço totalmente gerenciado integrado ao portal do Azure e à CLI do Azure. Ele foi projetado para simplificar sua jornada de migração para o Banco de Dados do Azure para PostgreSQL.
Neste tutorial:
- Pré-requisitos completos
- Iniciar a migração
- Monitorize a migração
- Verificar a migração
Pré-requisitos
Antes de iniciar uma migração usando o serviço de migração no Banco de Dados do Azure para PostgreSQL, é importante concluir os seguintes pré-requisitos. Esses pré-requisitos são projetados especificamente para cenários de migração offline.
- Verifique a versão de origem
- Configurar a configuração de destino
- Configurar a configuração da rede
- Ativar extensões
- Verificar parâmetros do servidor
- Verificar usuários e funções
- Desative a alta disponibilidade (confiabilidade) e leia réplicas no destino
Verifique a versão de origem
A versão do servidor PostgreSQL de origem deve ser 9.5 ou posterior. Se a versão de origem do PostgreSQL for anterior à 9.5, atualize a versão para 9.5 ou posterior antes de iniciar a migração.
Configurar a configuração de destino
Antes de começar a migração, você deve criar uma instância do Banco de Dados do Azure para PostgreSQL no Azure. A SKU provisionada para o Banco de Dados do Azure para PostgreSQL - Servidor Flexível deve corresponder à origem.
Para obter mais informações, consulte Criar uma instância do Banco de Dados do Azure para PostgreSQL - Servidor Flexível.
Configurar a configuração da rede
A configuração da rede é crucial para que o serviço de migração funcione corretamente. Certifique-se de que o servidor PostgreSQL de origem possa se comunicar com o servidor de destino no Banco de Dados do Azure para PostgreSQL.
Para obter informações sobre a configuração de rede, consulte Cenários de rede para o serviço de migração.
Ativar extensões
Para garantir uma migração bem-sucedida usando o serviço de migração no Banco de Dados do Azure para PostgreSQL, talvez seja necessário verificar as extensões para sua instância do PostgreSQL de origem. As extensões fornecem funcionalidades e recursos que podem ser necessários para seu aplicativo. Certifique-se de verificar as extensões na instância PostgreSQL de origem antes de iniciar o processo de migração.
Na instância de destino do Banco de Dados do Azure para PostgreSQL - Servidor Flexível, habilite as extensões com suporte identificadas na instância do PostgreSQL de origem.
Para obter mais informações, consulte Extensões no Banco de Dados do Azure para PostgreSQL.
Nota
Uma reinicialização é necessária quando você faz alterações no shared_preload_libraries
parâmetro.
Verificar parâmetros do servidor
Os parâmetros do servidor não são migrados automaticamente para o ambiente de destino e devem ser configurados manualmente.
Corresponder valores de parâmetros de servidor do banco de dados PostgreSQL de origem com a instância do Banco de Dados do Azure para PostgreSQL. No portal do Azure, vá para Parâmetros do servidor e atualize manualmente os valores.
Salve as alterações de parâmetro e reinicie a instância do Banco de Dados do Azure para PostgreSQL para aplicar a nova configuração, se necessário.
Verificar usuários e funções
Quando você migra para o Banco de Dados do Azure para PostgreSQL, é essencial abordar a migração de usuários e funções separadamente, pois eles exigem intervenção manual.
Migração manual de usuários e funções: os usuários e suas funções associadas devem ser migrados manualmente para a instância do Banco de Dados do Azure para PostgreSQL. Para facilitar esse processo, você pode usar o utilitário pg_dumpall com o
--globals-only
sinalizador para exportar objetos globais, como funções e contas de usuário.Execute o seguinte comando. Substitua
<username>
pelo nome de usuário real e substitua<filename>
pelo nome que você deseja usar para o arquivo de saída.pg_dumpall --globals-only -U <username> -f <filename>.sql
Restrição de funções de superusuário: o Banco de Dados do Azure para PostgreSQL não oferece suporte a funções de superusuário. As permissões de superusuário devem ser removidas antes da migração. Certifique-se de ajustar as permissões e funções de acordo.
Ao concluir essas etapas, você pode garantir que as contas e funções de usuário sejam migradas corretamente para o Banco de Dados do Azure para PostgreSQL sem problemas relacionados a restrições de superusuário.
Desative a alta disponibilidade (confiabilidade) e leia réplicas no destino
É fundamental desabilitar a alta disponibilidade (confiabilidade) e ler réplicas no ambiente de destino antes de iniciar a migração. Esses recursos devem ser habilitados somente após a conclusão da migração.
Iniciar a migração
Você pode migrar usando o portal do Azure ou a CLI do Azure.
O portal do Azure oferece uma experiência simples e intuitiva baseada em assistente para guiá-lo durante a migração. Ao concluir as etapas descritas neste tutorial, você pode transferir perfeitamente seu banco de dados para o Banco de Dados do Azure para PostgreSQL - Servidor Flexível e aproveitar seus poderosos recursos e escalabilidade.
Para migrar usando o portal do Azure, primeiro configure a tarefa de migração. Em seguida, conecte-se à origem e ao destino e inicie a migração.
Configurar a tarefa de migração
Para configurar a tarefa de migração no portal do Azure:
Abra seu navegador da Web e vá para o portal do Azure. Introduza as suas credenciais para iniciar sessão.
Vá para sua instância do Banco de Dados do Azure para PostgreSQL - Servidor Flexível.
No menu de serviço, selecione Migração.
Selecione Criar para migrar do Amazon Aurora para um servidor flexível.
Na primeira vez que você usar o serviço de migração, uma grade vazia será exibida com um prompt para iniciar sua primeira migração. Se as migrações para o destino flexível do servidor já tiverem sido criadas, a grade conterá informações sobre tentativas de migração.
Selecione Criar para percorrer uma série de guias para configurar uma migração.
Configurar
Introduza ou selecione as seguintes informações:
Nome da migração: insira um identificador exclusivo para cada migração para esse destino de servidor flexível. Você pode usar apenas caracteres alfanuméricos e hífenes (
-
) no nome da migração. O nome não pode começar com um hífen e deve ser exclusivo para um servidor de destino. Não há duas migrações para o mesmo destino de servidor flexível que possam ter o mesmo nome.Tipo de servidor de origem: selecione o tipo de origem que corresponde à sua fonte PostgreSQL, como um serviço PostgreSQL baseado em nuvem, uma configuração local ou uma máquina virtual.
Opção de migração: escolha uma das seguintes opções para uma validação de pré-migração:
- Validar. Verifica a preparação do servidor e do banco de dados para a migração para a origem de destino.
- Migrar. Ignora validações e inicia a migração.
- Validar e migrar. Executa a validação antes de acionar uma migração. Se não houver falhas de validação, a migração será acionada.
Uma boa prática é selecionar a opção Validar ou Validar e Migrar para validações de pré-migração.
Para obter mais informações, consulte Validações pré-migração.
Modo de migração: selecione o modo para a migração. A opção padrão é Offline.
Selecione Next: Connect to source.
Selecione o servidor de tempo de execução
O servidor de tempo de execução da migração é um recurso especializado do serviço de migração. O servidor de tempo de execução atua como um servidor intermediário durante a migração. É uma instância separada do Banco de Dados do Azure para PostgreSQL - Servidor Flexível que não é o servidor de destino. O servidor de tempo de execução facilita a migração de bancos de dados de um ambiente de origem que é acessível apenas através de uma rede privada.
Para obter mais informações, consulte Servidor de tempo de execução de migração.
Conecte-se à fonte
Na guia Conectar à fonte, insira ou selecione as seguintes informações para a fonte do banco de dados:
- Nome do servidor: insira o nome do host ou o endereço IP da instância do PostgreSQL de origem.
- Porta: insira o número da porta do servidor de origem.
- Nome de login do administrador do servidor: digite o nome de usuário do servidor PostgreSQL de origem.
- Senha: Digite a senha do servidor PostgreSQL de origem.
- Modo SSL: Os valores suportados são Prefer e Require. Quando o Secure Sockets Layer (SSL) no servidor PostgreSQL de origem estiver desativado, selecione Preferir. Se o SSL no servidor de origem estiver ativado, selecione Exigir. Os valores SSL são definidos no arquivo postgresql.conf .
- Testar conexão: inicia um teste de conectividade entre o destino e a origem. Quando a conexão for bem-sucedida, vá para a próxima etapa para identificar problemas de rede entre o destino e a origem e verificar o nome de usuário e a senha da origem. Estabelecer uma conexão de teste leva alguns minutos.
Após uma conexão de teste bem-sucedida, selecione Avançar: Selecionar destino de migração.
Selecione o destino da migração
Na guia Selecionar destino de migração, insira ou selecione as seguintes informações para o destino flexível do servidor, além da assinatura, do grupo de recursos e do nome do servidor:
- Nome de usuário Admin: O nome de usuário admin do servidor PostgreSQL de destino.
- Senha: A senha do servidor PostgreSQL de destino.
- FQDN/IP personalizado (opcional): O campo FQDN/IP personalizado é opcional e pode ser usado quando o destino está atrás de um servidor DNS personalizado ou tem namespaces DNS personalizados, tornando-o acessível apenas por meio de FQDNs ou endereços IP específicos. Por exemplo, isso pode incluir entradas como
flexibleserver.example.com
,198.1.0.2
ou um FQDN do PostgreSQL, comoflexibleserver.postgres.database.azure.com
, se o servidor DNS personalizado contiver a zonapostgres.database.azure.com
DNS ou encaminhar consultas para essa zona para168.63.129.16
, onde o FQDN é resolvido na zona DNS pública ou privada do Azure. - Testar conexão: inicia um teste de conectividade entre o destino e a origem. Quando a conexão for bem-sucedida, vá para a próxima etapa para identificar problemas de rede entre o destino e a origem e verificar o nome de usuário e a senha do servidor de destino. Estabelecer uma conexão de teste leva alguns minutos.
Após uma conexão de teste bem-sucedida, selecione Avançar: Selecionar banco(s) de dados para migração.
Selecionar bancos de dados para migração
Na guia Selecionar banco de dados para migração, selecione em uma lista de bancos de dados de usuários para migrar do seu servidor PostgreSQL de origem.
Depois de selecionar os bancos de dados, selecione Avançar: Resumo.
Resumo
A guia Resumo resume todos os detalhes de origem e destino para criar a validação ou migração. Reveja os detalhes e, em seguida, selecione Iniciar Validação e Migração.
Monitorize a migração
Dentro de alguns segundos depois de selecionar Iniciar Validação e Migração, uma notificação aparece para dizer que a validação ou a criação da migração foi bem-sucedida. Você será redirecionado para o painel Migração de instância do Servidor Flexível. A entrada de estado é InProgress e o subestado é PerformingPreRequisiteSteps. O fluxo de trabalho leva de 2 a 3 minutos para configurar a infraestrutura de migração e verificar as conexões de rede.
A grade que exibe as migrações tem estas colunas:
- Nome
- Status
- Modo de migração
- Tipo de migração
- Servidor de origem
- Tipo do servidor de origem
- Bases de dados
- Duração
- Start time (Hora de início)
As entradas são exibidas em ordem decrescente de hora de início, com a entrada mais recente no topo. Você pode selecionar Atualizar na barra de menus para atualizar o status da execução de validação ou migração.
Detalhes da migração
Na lista de migrações, selecione o nome de uma migração para ver os detalhes associados.
Na guia Configuração, selecione a opção de migração Validar e Migrar. Nesse cenário, as validações são concluídas antes do início da migração. Depois que o subestado PerformingPreRequisiteSteps for concluído, o fluxo de trabalho será movido para o subestado Validação em Andamento .
Se a validação tiver erros, a migração será movida para um estado Falha .
Se a validação for concluída sem qualquer erro, a migração será iniciada e o fluxo de trabalho será movido para o subestado Migrando dados.
Você pode verificar os detalhes de validação no nível da instância e no nível do banco de dados:
Validação no nível da instância:
- Verifique a validação relacionada à verificação de conectividade para a versão de origem (a verificação de parâmetros do
PostgreSQL version >= 9.5
servidor) se as extensões estiverem habilitadas nos parâmetros de servidor da instância do Banco de Dados do Azure para PostgreSQL - Servidor Flexível.
- Verifique a validação relacionada à verificação de conectividade para a versão de origem (a verificação de parâmetros do
Validação ao nível da base de dados:
- Verifique a validação dos bancos de dados individuais relacionados ao suporte a extensões e agrupamentos no Banco de Dados do Azure para PostgreSQL - Servidor Flexível.
Você pode ver o status atual da migração e validação no painel de detalhes da migração.
As tabelas a seguir descrevem alguns possíveis estados e subestados de migração.
Estados de migração
Condição | Description |
---|---|
Em curso | A configuração da infraestrutura de migração está em andamento ou a migração de dados real está em andamento. |
Cancelado | A migração é cancelada ou excluída. |
Falhado | A migração falhou. |
Falha na validação | A validação falhou. |
Bem sucedido | A migração foi bem-sucedida e está concluída. |
WaitingForUserAction | Aplicável apenas em migrações online. Aguardando que um usuário execute uma substituição. |
Subestados de migração
Subestado | Description |
---|---|
ExecutandoPreRequirementseSteps | A configuração da infraestrutura está em andamento para a migração de dados. |
Validação em Curso | A validação está em curso. |
MigrandoData | A migração de dados está em andamento. |
ConcluindoMigração | A migração está em fase final de conclusão. |
Concluído | A migração foi concluída. |
Falhado | Falha na migração. |
Subestados de validação
Subestado | Description |
---|---|
Falhado | A validação falhou. |
Bem sucedido | A validação foi bem-sucedida. |
Aviso | A validação mostra um aviso. |
Cancelar a migração
Você pode cancelar todas as validações ou migrações em andamento. O fluxo de trabalho deve estar no estado Em andamento para ser cancelado. Não é possível cancelar uma validação ou migração que esteja no estado Bem-sucedido ou Reprovado .
O cancelamento de uma migração interrompe a atividade de migração adicional no servidor de destino e move a tentativa de migração para um estado Cancelado . A ação cancelar reverte todas as alterações feitas no servidor de destino pelo serviço de migração.
Verificar a migração
Quando a migração do banco de dados estiver concluída, valide manualmente os dados entre a origem e o destino. Verifique se todos os objetos no banco de dados de destino foram criados com êxito.
Após a migração, você pode concluir estas tarefas:
- Verifique os dados em seu servidor flexível e certifique-se de que é uma cópia exata da instância de origem.
- Após a verificação, ative a opção de alta disponibilidade em seu servidor flexível, conforme necessário.
- Altere o SKU (versão) do servidor flexível para corresponder às necessidades do seu aplicativo. Essa alteração requer uma reinicialização do servidor de banco de dados.
- Se você alterar quaisquer parâmetros de servidor de seus valores padrão na instância de origem, copie esses valores de parâmetro de servidor para o servidor flexível.
- Copie outras configurações do servidor, como tags, alertas e regras de firewall (se aplicável), da instância de origem para o servidor flexível.
- Faça alterações em seu aplicativo para apontar as cadeias de conexão para um servidor flexível.
- Monitore o desempenho do banco de dados de perto para ver se ele requer ajuste de desempenho.