Partilhar via


Migre offline, de um Amazon RDS para PostgreSQL para o Banco de Dados do Azure para PostgreSQL, com o serviço de migração

Este artigo orienta você na migração de uma instância do Amazon RDS for PostgreSQL para o banco de dados do Azure para servidor flexível PostgreSQL no modo 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 o servidor flexível PostgreSQL.

  • Prerequisites
  • Executar a migração
  • Monitorize a migração
  • Verifique a migração quando concluída

Prerequisites

Para concluir a migração, você precisa dos seguintes pré-requisitos:

Antes de iniciar a migração com o serviço de migração Banco de Dados do Azure para PostgreSQL, é importante cumprir os seguintes pré-requisitos, projetados especificamente para cenários de migração offline.

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 menor que 9.5, atualize-a para 9.5 ou superior antes de iniciar a migração.

Configurar a configuração de destino

Antes de começar a migração, você deve configurar um Banco de Dados do Azure para PostgreSQL no Azure.

A SKU escolhida para o Banco de Dados do Azure para PostgreSQL deve corresponder às especificações do banco de dados de origem para garantir compatibilidade e desempenho adequado.

Ao migrar entre versões do PostgreSQL (principais ou secundárias), garanta a compatibilidade entre seu banco de dados e o aplicativo revisando as notas de versão para verificar possíveis alterações de rutura.

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 Banco de Dados do Azure de destino para o servidor PostgreSQL. As seguintes configurações de rede são essenciais para uma migração bem-sucedida.

Para obter informações sobre a configuração da rede, visite Guia de rede para o serviço de migração.

Considerações adicionais sobre rede

Para facilitar a conectividade entre as instâncias PostgreSQL de origem e de destino, é essencial verificar se a rede está configurada corretamente para que a conectividade entre os servidores de origem e de destino seja permitida. Quando o servidor de origem é um serviço PaaS, como o Amazon RDS for PostgreSQL ou o Google Cloud SQL for Postgres, pode ser necessário configurar algumas regras de firewall e configurações de rede gerenciadas nelas. Quando o servidor de origem é um servidor hospedado pelo sef, pode ser necessário modificar o arquivo pg_hba.conf do servidor de origem. Esse arquivo inclui autenticação de cliente e deve ser configurado para permitir que o PostgreSQL de destino se conecte à origem. As alterações no arquivo pg_hba.conf normalmente exigem uma reinicialização da instância do PostgreSQL de origem para entrar em vigor.

O arquivo pg_hba.conf está localizado no diretório de dados da instalação do PostgreSQL. Esse arquivo deve ser verificado e configurado se o banco de dados de origem for um servidor PostgreSQL local ou um servidor PostgreSQL hospedado em uma VM do Azure.

Enable extensions

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 servidor flexível PostgreSQL, habilite as extensões com suporte identificadas na instância PostgreSQL de origem.

Para obter mais informações, consulte Extensões e módulos.

Verificar parâmetros do servidor

Esses parâmetros 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 ao Banco de Dados do Azure para PostgreSQL acessando a página Parâmetros do servidor no portal do Azure e atualizando manualmente os valores de acordo.

  • Salve as alterações de parâmetro e reinicie o 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 eles exigem intervenção manual:

  • Migração manual de usuários e funções: usuários e funções devem ser migrados manualmente para o Banco de Dados do Azure para PostgreSQL. Para facilitar esse processo, você pode usar o pg_dumpall utilitário com o --globals-only sinalizador para exportar objetos globais, como funções e usuários. Execute o seguinte comando, substituindo <<username>> pelo nome de usuário real e <<filename>> pelo nome de arquivo de saída desejado:

    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. Portanto, os usuários com privilégios de superusuário devem ter esses privilégios removidos antes da migração. Certifique-se de ajustar as permissões e funções adequadamente.

Seguindo estas 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 encontrar problemas relacionados a restrições de superusuário.

Desative a alta disponibilidade (confiabilidade) e leia réplicas no destino

  • Desabilitar a alta disponibilidade (confiabilidade) e ler réplicas no ambiente de destino é essencial. Esses recursos devem ser habilitados somente após a conclusão da migração.

  • Seguindo essas diretrizes, você pode ajudar a garantir um processo de migração suave, sem as variáveis adicionais introduzidas pela alta disponibilidade e réplicas de leitura. Quando a migração estiver concluída e o banco de dados estiver estável, você poderá continuar habilitando esses recursos para aprimorar a disponibilidade e a escalabilidade do seu ambiente de banco de dados no Azure.

Executar a migração

Você pode migrar usando o portal do Azure ou a CLI do Azure.

Este artigo orienta você usando o portal do Azure para migrar seu banco de dados PostgreSQL de um servidor Amazon RDS for PostgreSQL para um Banco de Dados do Azure para PostgreSQL. O portal do Azure permite que você execute várias tarefas, incluindo a migração de banco de dados. Seguindo as etapas descritas neste tutorial, você pode transferir perfeitamente seu banco de dados para o Azure e aproveitar seus poderosos recursos e escalabilidade.

Configurar a tarefa de migração

O serviço de migração oferece uma experiência simples orientada por assistente no portal do Azure.

Usando o portal do Azure:

  1. Selecione o seu servidor flexível do Azure Database for PostgreSQL.

  2. No menu de recursos, selecione Migração.

    Captura de ecrã da página Migração.

  3. Selecione Criar para percorrer uma série de guias baseadas em assistente para executar uma migração para um servidor flexível a partir de um Amazon RDS for PostgreSQL.

    Note

    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 agora conterá informações sobre tentativas de migração.

    Captura de ecrã do separador Configuração que aparece depois de selecionar Criar na página Migração.

Setup

Você precisa fornecer vários detalhes relacionados à migração, como o nome da migração, o tipo de servidor de origem, a opção e o modo.

  • O nome da migração é o identificador exclusivo de cada migração para esse destino de servidor flexível. Este campo aceita apenas caracteres alfanuméricos e não aceita nenhum caractere especial, exceto um hífen (-). 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 - Dependendo da origem do PostgreSQL, você pode selecionar o Amazon RDS for PostgreSQL.

  • Opção de migração - Permite executar validações antes de acionar uma migração. Você pode escolher qualquer uma das seguintes opções:

    • Validar - Verifica a preparação do servidor e do banco de dados para a migração para o destino.
    • 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á iniciada.

Escolher a opção Validar ou Validar e migrar é sempre uma boa prática para executar validações de pré-migração antes de executar a migração.

Para saber mais sobre a validação pré-migração, visite pré-migração.

  • O modo de migração permite que você escolha o modo para a migração. Offline é a opção padrão. Nesse caso, usaremos o padrão.

Selecione Próximo: Servidor de Execução.

Captura de ecrã do separador Configuração depois de fornecer os detalhes necessários.

Runtime server

O servidor de tempo de execução da migração é um recurso especializado dentro do serviço de migração no Banco de Dados do Azure para PostgreSQL, projetado para atuar como um servidor intermediário durante a migração. É uma instância de servidor flexível separada do Banco de Dados do Azure para PostgreSQL que não é o servidor de destino, mas é usada para facilitar a migração de bancos de dados de um ambiente de origem acessível apenas por meio de uma rede privada.

Captura de ecrã da guia servidor de execução.

Para obter mais informações sobre o servidor de tempo de execução, visite Servidor de tempo de execução de migração.

Source server

A guia Servidor de origem solicita que você forneça detalhes relacionados à fonte selecionada na guia Configuração , que é a origem dos bancos de dados.

  • Nome do servidor - Forneça o nome do host ou o endereço IP do servidor PostgreSQL de origem.
  • Porta - Número da porta do servidor de origem.
  • Login de administrador - Nome do usuário administrador do servidor PostgreSQL de origem.
  • Senha - Senha do login do administrador fornecida para se conectar ao servidor PostgreSQL de origem.
  • Modo SSL - Os valores suportados são preferred e required. Quando o SSL no servidor PostgreSQL de origem for OFF, use prefer. Se o SSL no servidor de origem for ON, use o require. Os valores SSL podem ser determinados no arquivo postgresql.conf do servidor de origem.
  • Testar conexão — Executa o teste de conectividade entre o destino e a origem. Quando a conexão for bem-sucedida, você poderá prosseguir para a próxima guia. Esses testes visam identificar quaisquer problemas de conectividade que possam existir entre os servidores de destino e de origem, incluindo a verificação da autenticação usando as credenciais fornecidas. Estabelecer uma conexão de teste leva alguns segundos.

Após a conexão de teste bem-sucedida, selecione Avançar: Servidor de destino.

Captura de ecrã do separador Migração do servidor de origem.

Target server

A guia Servidor de destino exibe metadados para o destino flexível do servidor, como o nome da assinatura, o grupo de recursos, o nome do servidor, o local e a versão do PostgreSQL.

  • Login de administrador - Nome do usuário administrador do servidor PostgreSQL de destino.
  • Senha - Senha do login do administrador fornecida para se conectar ao servidor PostgreSQL de destino.
  • FQDN ou endereço IP personalizado: O campo FQDN ou endereço 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 production-flexible-server.example.com, 198.1.0.2 ou um FQDN do PostgreSQL, como production-flexible-server.postgres.database.azure.com, se o servidor DNS personalizado contiver a zona postgres.database.azure.com DNS ou encaminhar consultas para essa zona para 168.63.129.16, onde o FQDN for resolvido na zona DNS pública ou privada do Azure.
  • Testar conexão — Executa o teste de conectividade entre a origem e o destino. Quando a conexão for bem-sucedida, você poderá prosseguir para a próxima guia. Esses testes visam identificar quaisquer problemas de conectividade que possam existir entre os servidores de origem e de destino, incluindo a verificação da autenticação usando as credenciais fornecidas. Estabelecer uma conexão de teste leva alguns segundos.

Após a conexão de teste bem-sucedida, selecione Next : Databases para validar ou migrar

Captura de ecrã do separador Migração do servidor de destino.

Bases de dados para validar ou migrar

Na guia Bancos de dados para validar ou migrar , você pode escolher 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.

Captura de ecrã do separador Bases de Dados para validar ou gerir migrações.

Summary

A aba Resumo apresenta de forma resumida todos os detalhes de origem e destino para criar a validação ou migração. Reveja os detalhes e selecione Iniciar validação e migração.

Captura de ecrã do separador Resumo da migração.

Cancelar a validação ou migração

Você pode cancelar todas as validações ou migrações em andamento. O fluxo de trabalho deve estar no status Em andamento para que possa ser cancelado. Não é possível cancelar uma validação ou migração no estado Bem-sucedido ou Reprovado .

  • O cancelamento de uma validação interrompe outras atividades de validação e a validação é movida para um estado Cancelado .
  • O cancelamento de uma migração interrompe a atividade de migração adicional no servidor de destino e passa para um estado Cancelado . A ação cancelar retorna todas as alterações feitas pelo serviço de migração no servidor de destino.

Monitorize a migração

Depois de selecionar o botão Iniciar validação e migração , uma notificação aparece, em alguns segundos, informando que a validação ou a criação da migração foi bem-sucedida. Você será redirecionado automaticamente para a página Migração do servidor flexível. A entrada mostra Status como Em andamento. 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 ecrã da página de migração do monitor.

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 de servidor de origem, Bancos de dados, Duração e Hora de início. As entradas são exibidas ordenadas por hora de início em ordem decrescente, com a entrada mais recente no topo. Você pode usar o botão Atualizar na barra de ferramentas para atualizar o status da execução de validação ou migração.

Migration details

Selecione o nome da migração na grade para ver os detalhes associados.

Lembre-se de que, nas etapas anteriores, ao criar essa migração, você configurou a opção de migração como Validar e migrar. Nesse cenário, as validações são executadas primeiro, antes do início da migração. Depois que o subestado Executando etapas de pré-requisito for concluído, o fluxo de trabalho será movido para o subestado de Validação em andamento.

  • Se a validação tiver erros, a migração será movida para um estado de falha.

  • Se a validação for concluída sem erros, a migração será iniciada e o fluxo de trabalho será movido para o subestado de Migrando dados.

Os detalhes de validação estão disponíveis no nível da instância e do banco de dados.

  • Detalhes de validação, por exemplo
    • Contém validação relacionada à verificação de conectividade, versão de origem, ou seja, versão >do PostgreSQL = 9.5, e verificação de parâmetros do servidor, se as extensões estão habilitadas nos parâmetros de servidor do Banco de Dados do Azure para servidor flexível PostgreSQL.
  • Detalhes de validação e migração para bancos de dados
    • Ele contém a validação dos bancos de dados individuais relacionados ao suporte a extensões e agrupamentos no Banco de Dados do Azure para o servidor flexível PostgreSQL.

Você pode ver o status de validação e o status de migração na página de detalhes da migração.

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

Alguns status de migração possíveis:

Migration statuses

Status Description
In progress A configuração da infraestrutura de migração está em andamento ou a migração de dados real está em andamento.
Canceled A migração é cancelada ou excluída.
Failed A migração falhou.
Validation failed A validação falhou.
Succeeded A migração foi bem-sucedida e está concluída.

Migration substatuses

Substatus Description
Executando etapas preparatórias A configuração da infraestrutura está em andamento para a migração de dados.
Validação em curso A validação está em curso.
Migrating data A migração de dados está em andamento.
Completing migration A migração está em fase final de conclusão.
Completed A migração foi concluída.
Failed A migração falhou.

Validation substatuses

Substatus Description
Failed A validação falhou.
Succeeded A validação foi bem-sucedida.
Warning A validação está em estado de alerta.

Verifique a migração quando concluída

Depois de concluir os bancos de dados, você precisa validar manualmente os dados entre origem e destino e verificar se todos os objetos no banco de dados de destino foram criados com êxito.

Após a migração, você pode executar as seguintes 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 a SKU do servidor flexível para corresponder às necessidades do aplicativo. Essa alteração precisa ser reiniciada pelo servidor de banco de dados.

  • Se você alterar quaisquer parâmetros do servidor de seus valores padrão na instância de origem, copie esses valores de parâmetro do servidor no 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.