Compartilhar via


Tutorial: Migrar offline do PostgreSQL do Amazon Aurora 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, você:

  • Completar os pré-requisitos
  • Iniciar a migração
  • Monitorar 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 pré-requisitos a seguir. Esses pré-requisitos são projetados especificamente para cenários de migração offline.

Verificar a versão de origem

A versão do servidor PostgreSQL de origem deve ser 9.5 ou posterior. Se a versão do PostgreSQL de origem for anterior à 9.5, atualize para a versão 9.5 ou posterior antes de iniciar a migração.

Definir a configuração de destino

Antes de iniciar a migração, você deve criar uma instância do Banco de Dados do Azure para PostgreSQL no Azure. O SKU provisionado 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.

Definir as configurações de rede

A configuração de rede é essencial para que o serviço de migração funcione corretamente. Verifique se o servidor PostgreSQL de origem consegue se comunicar com o servidor de destino do 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.

Habilitar 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 da sua instância de origem do PostgreSQL. As extensões oferecem funcionalidades e recursos que podem ser necessários para seu aplicativo. Certifique-se de verificar as extensões na instância de origem do PostgreSQL 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 de origem do PostgreSQL.

Para obter mais informações, confira Extensões no Banco de Dados do Azure para PostgreSQL.

Observação

É necessário reiniciar o computador sempre que você fizer alterações no parâmetro shared_preload_libraries.

Verificar os 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.

  • Ajuste os valores dos parâmetros do servidor do banco de dados PostgreSQL de origem para corresponder à instância do Banco de Dados do Azure para PostgreSQL. No portal do Azure, acesse 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

Ao migrar para o Banco de Dados do Azure para PostgreSQL, é essencial abordar a migração de usuários e funções separadamente, pois elas 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 sinalizador --globals-only para exportar objetos globais, como funções e contas de usuário.

    Execute o comando a seguir. Substitua <username> pelo nome de usuário real e <filename> pelo nome que você deseja usar para o arquivo de saída.

    pg_dumpall --globals-only -U <username> -f <filename>.sql
    
  • Restrição em funções de superusuário: o Banco de Dados do Azure para PostgreSQL não dá 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 as funções adequadamente.

Ao concluir estas etapas, você pode garantir que contas de usuário e funções sejam migradas corretamente para o Banco de Dados do Azure para PostgreSQL sem problemas relacionados a restrições de superusuário.

Desabilite a alta disponibilidade (confiabilidade) e as réplicas de leitura no destino

É fundamental desabilitar a alta disponibilidade (confiabilidade) e as réplicas de leitura 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 orientá-lo durante a migração. Ao concluir as etapas descritas neste tutorial, você pode transferir seu banco de dados diretamente para o Banco de Dados do Azure para PostgreSQL – Servidor Flexível e aproveitar os recursos avançados e escalabilidade dele.

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:

  1. Abra seu navegador da Web e acesse o portal do Azure. Insira suas credenciais para entrar.

  2. Acesse sua instância do Banco de Dados do Azure para PostgreSQL – Servidor Flexível.

  3. No menu de serviço, selecione Migração.

    Captura de tela da seleção de migração no portal do Azure.

  4. Selecione Criar para migrar do Amazon Aurora para um servidor flexível.

    Na primeira vez que você usa o serviço de migração, uma grade vazia aparece com um prompt para iniciar sua primeira migração. Se as migrações para seu servidor flexível de destino já tiverem sido criadas, a grade conterá informações sobre as tentativas de migração.

  5. Selecione Criar para avançar por uma série de guias e configurar a migração.

    Captura de tela do painel Criar migração.

Instalação

Insira ou selecione as seguintes informações:

  • Nome da migração: insira um identificador exclusivo para cada migração para esse servidor flexível de destino. Você pode usar apenas caracteres alfanuméricos e hifens (-) 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. Nenhuma migração para o mesmo servidor flexível de destino pode ter o mesmo nome de outra.

  • Tipo de servidor de origem: selecione o tipo de origem que corresponde ao seu PostgreSQL de origem, como um serviço PostgreSQL baseado na 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 pré-migração:

    • Validar. Verifica a prontidão do seu servidor e banco de dados para a migração para o servidor de destino.
    • Migrar. Ignora as validações e inicia a migração.
    • Validar e Migrar. Executa a validação antes de disparar uma migração. Se não houver falhas de validação, a migração será disparada.

    Uma boa prática é selecionar a opção Validar ou Validar e Migrar para validações pré-migração.

    Para obter mais informações, consulte Validações pré-imigração.

  • Modo de migração: selecione o modo para a migração. A opção padrão é Offline.

Selecione Avançar: Conectar-se à origem.

Captura de tela da guia Configuração de migração no portal do Azure.

Selecionar o servidor de runtime

O servidor de runtime de migração é um recurso especializado do serviço de migração. O servidor de runtime 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 runtime facilita a migração de bancos de dados de um ambiente de origem acessível somente por meio de uma rede privada.

Para obter mais informações, consulte Servidor de runtime de migração.

Captura de tela da guia Servidor do Runtime de Migração.

Conectar-se à origem

Na guia Conectar-se à origem, insira ou selecione as seguintes informações para a origem 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.
  • ID de logon do administrador do servidor: insira o nome de usuário do servidor PostgreSQL de origem.
  • Senha: insira a senha do servidor PostgreSQL de origem.
  • Modo SSL: os valores com suporte são Preferir e Exigir. Quando o SSL (Secure Sockets Layer) no servidor PostgreSQL de origem estiver desativada, 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 para verificar o nome de usuário e a senha da origem. O estabelecimento de uma conexão de teste leva alguns minutos.

Após a conexão de teste bem-sucedida, selecioneAvançar: Selecionar destino de migração.

Captura de tela da guia Conectar-se à origem.

Selecione o destino de migração

Na guia Selecionar destino de migração, insira ou selecione as seguintes informações para o servidor flexível de destino, além de assinatura, grupo de recursos e nome do servidor:

  • Nome de usuário do administrador: o nome de usuário do administrador 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á por trás de um servidor DNS personalizado ou tem namespaces DNS personalizados, tornando-o acessível apenas por meio de FQDNs específicos ou endereços IP. Por exemplo, isso pode incluir entradas como flexibleserver.example.com, 198.1.0.2 ou um FQDN do PostgreSQL, como flexibleserver.postgres.database.azure.com, se o servidor DNS personalizado contiver a zona DNS postgres.database.azure.com ou encaminhar consultas para essa zona para 168.63.129.16, na qual 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 para verificar o nome de usuário e a senha do servidor de destino. O estabelecimento de uma conexão de teste leva alguns minutos.

Após a conexão de teste bem-sucedida, selecione Próximo: Selecionar bancos de dados para migração.

Captura de tela da aba Conectar-se ao destino da migração.

Selecionar bancos de dados para migração

Na guia Selecionar banco de dados para migração, escolha a partir de uma lista de bancos de dados de usuário para migrar do servidor PostgreSQL de origem.

Depois de selecionar os bancos de dados, selecione Avançar: Resumo.

Captura de tela da guia Selecionar bancos de dados para migração.

Resumo

A guia Resumo resume todos os detalhes da origem e do destino para criar a validação ou a migração. Examine os detalhes e selecione Iniciar Validação e Migração.

Captura de tela do painel Resumo da migração.

Monitorar a migração

Alguns segundos depois de selecionar Iniciar Validação e Migração, uma notificação parecerá informando que a validação ou a criação da migração foi bem-sucedida. Você será redirecionado para o painel de Migração da 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.

Captura de tela do painel Monitorar migração.

A grade que exibe as migrações tem as seguintes colunas:

  • Nome
  • Status
  • Modo de migração
  • Tipo de migração
  • Servidor de origem
  • Tipo do servidor de origem
  • Bancos de dados
  • Duration
  • Hora de início

As entradas são exibidas na ordem decrescente da hora de início, com a entrada mais recente na parte superior. Você pode selecionar Atualizar na barra de menus para atualizar o status da validação ou da execução da migração.

Detalhes da migração

Na lista de migrações, selecione o nome de uma migração para ver os detalhes associados a ela.

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. Após a conclusão do subestado PerformingPreRequisiteSteps, o fluxo de trabalho passa para o subestado Validação em Andamento.

  • Se a validação tiver erros, a migração passa para um estado de Falha.

  • Se a validação for concluída sem nenhum erro, a migração é iniciada e o fluxo de trabalho passa para o subestado Migrando Dados.

Você pode verificar os detalhes da 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 servidor PostgreSQL version >= 9.5) se as extensões estiverem habilitadas nos parâmetros do servidor da instância do Banco de Dados do Azure para PostgreSQL – Servidor Flexível.
  • Validação no nível do banco de dados:

    • Verifique a validação dos bancos de dados individuais relacionados ao suporte a extensões e ordenações no Banco de Dados do Azure para PostgreSQL – Servidor Flexível.

Você pode ver o status atual da migração e da validação no painel de detalhes da migração.

Captura de tela dos detalhes que mostram a validação e a migração.

As tabelas a seguir descrevem alguns dos estados de migração e subestados possíveis.

Estados de migração

Estadual Descrição
InProgress A instalação da infraestrutura de migração está em andamento ou a migração de dados real está em andamento.
Cancelada A migração foi cancelada ou excluída.
Com falha Falha na migração.
Falha na validação Falha na validação.
Êxito A migração foi bem-sucedida e está concluída.
WaitingForUserAction Aplicável somente em migrações online. Aguardando um usuário executar uma substituição.

Subestados de migração

Subestado Descrição
PerformingPreRequisiteSteps A configuração da infraestrutura está em andamento para migração de dados.
Validação em andamento Validação em andamento.
MigratingData Migração de dados em andamento.
CompletingMigration A migração está nos estágios finais da conclusão.
Concluído A migração foi concluída.
Com falha Falha na migração.

Substratos de validação

Subestado Descrição
Com falha Falha na validação.
Êxito A validação foi bem-sucedida.
Aviso A validação mostra um aviso.

Cancelar a migração

Você pode cancelar 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 migração que esteja no estado deÊxito ou de Falha.

O cancelamento de uma migração interrompe qualquer atividade de migração adicional no servidor de destino e passa a tentativa de migração para um estado Cancelado. A ação de cancelamento reverte todas as alterações feitas pelo serviço de migração em seu servidor de destino.

Verificar a migração

Quando a migração do banco de dados for 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 verifique se são uma cópia exata da instância de origem.
  • Após a verificação, habilite a opção de alta disponibilidade em seu servidor flexível conforme necessário.
  • Altere a 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 os parâmetros de servidor de seus valores padrão na instância de origem, copie esses valores de parâmetro de servidor no servidor flexível.
  • Copie outras configurações do servidor, como marcas, 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 exige um ajuste de desempenho.