Compartilhar via


Tutorial: como migrar do Banco de Dados do Azure para PostgreSQL – Servidor Único para o Servidor Flexível usando o serviço de migração

APLICA-SE A: Banco de Dados do Azure para PostgreSQL – Servidor Flexível

Utilizando o portal do Azure, pode migrar uma instância da Banco de Dados do Azure para PostgreSQL – Servidor Único para Banco de Dados do Azure para PostgreSQL – Servidor Flexível. Neste tutorial, realizamos a migração de um banco de dados de amostra de um servidor único de Banco de Dados do Azure para PostgreSQL para um servidor flexível do PostgreSQL usando o portal do Azure.

  • Configurar seu Servidor Flexível de Banco de Dados do Azure para PostgreSQL
  • Configurar a tarefa de migração
  • Monitorar a migração
  • Cancelar a migração
  • Após a migração

Você pode migrar usando o portal do Azure.

Pré-requisitos (offline)

Antes de iniciar sua migração com o serviço de migração no Banco de Dados do Azure para PostgreSQL, você deve cumprir os seguintes pré-requisitos, que se aplicam a cenários de migração offline.

Verificar a versão de origem

A versão PostgreSQL de origem deve ser >= 9.5. Se a versão do PostgreSQL de origem for menor que 9.5, atualize a versão do PostgreSQL de origem para 9.5 ou superior antes da migração.

Configuração de destino

  • O servidor flexível do Banco de Dados do Azure para PostgreSQL deve ser implantado e configurado adequadamente no Azure antes de você iniciar o processo de migração.

  • 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 a compatibilidade e o desempenho adequado.

  • Para obter instruções detalhadas sobre como criar um novo Banco de Dados do Azure para PostgreSQL, consulte o seguinte link: Início Rápido: Criar servidor.

  • Ao migrar entre versões do PostgreSQL (principais ou secundárias), certifique-de que haja compatibilidade entre seu banco de dados e o aplicativo lendo as notas de versão para detectar possíveis alterações interruptivas.

Configuração da 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. As configurações de rede a seguir são fundamentais para uma migração bem-sucedida.

Para mais informações sobre a configuração de rede, visite o Guia 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

É obrigatório reiniciar quando você fizer qualquer alteração no parâmetro shared_preload_libraries.

Verificar os parâmetros do servidor

Esses parâmetros não são migrados automaticamente para o ambiente de destino e devem ser configurados manualmente.

  • Faça a correspondência entre os valores dos parâmetros do servidor do banco de dados PostgreSQL de origem e o Banco de Dados do Azure para PostgreSQL acessando a seção Parâmetros do servidor no portal do Azure e atualizando manualmente os valores de acordo.

  • Salve as alterações nos parâmetros e, se necessário, reinicie o servidor flexível do Banco de Dados do Azure para PostgreSQL para aplicar a nova configuração.

Importante

Altere o parâmetro password_encryption do servidor no seu servidor flexível de SCRAM-SHA-256 para MD5 antes de iniciar a migração. Isso é essencial para que as credenciais existentes no servidor único funcionem no seu servidor flexível.

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

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

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

Configurar seu servidor flexível de Banco de Dados do Azure para PostgreSQL

Configurar a tarefa de migração

O serviço de migração vem com uma experiência simples e baseada em assistente no portal do Azure. Veja como começar:

  1. Abra o navegador da Web e acesse o portal. Para fazer login, insira suas credenciais. A exibição padrão é o painel de serviço.

  2. Acesse seu destino de Banco de Dados do Azure para PostgreSQL servidor flexível.

  3. Na guia Visão geral do servidor flexível, no menu à esquerda, role a página para baixo até Migração (versão prévia) e selecione-a.

    Captura de tela da página Visão geral flexível.

  4. Selecione o botão Criar para iniciar uma migração de um servidor único para um servidor flexível. Se esta for a primeira vez que você usa o serviço de migração, uma grade vazia aparecerá com uma solicitação para iniciar sua primeira migração.

    Captura de tela da guia de migração no servidor flexível.

    Se você já criou migrações para o destino do Servidor Flexível, a grade conterá informações sobre as migrações que foram tentadas para esse destino a partir do Servidor Único.

  5. Você passa por uma série de guias baseadas em assistente para criar uma migração para esse destino de Servidor Flexível a partir de diferentes fontes possíveis. Por padrão, o tipo de servidor de origem é definido como Servidor Único do Banco de Dados do Azure para PostgreSQL, que é aquele em que estamos interessados nesse cenário.

Como alternativa, você pode iniciar o processo de migração do servidor único do Banco de Dados PostgreSQL do Azure.

  1. Abra o navegador da Web e acesse o portal. Para entrar, você deve inserir suas credenciais. A exibição padrão é o painel de serviço.

  2. Ao selecionar o Servidor Único, você pode observar uma faixa relacionada à migração na guia Visão Geral. Selecione Migrar agora para começar.

    Captura de tela para iniciar a migração da guia Servidor Único.

  3. Você é levado a uma página com duas opções. Se você já tiver criado um Servidor Flexível e quiser usá-lo como destino, escolha Selecionar existente e selecione os detalhes correspondentes de Assinatura, Grupo de recursos e Nome do servidor. Depois de feitas as seleções, selecione Ir para o assistente de migração e siga as instruções na seção Configuração.

    Captura de tela mostrando como escolher a opção de servidor flexível existente.

  4. Caso opte por criar um servidor flexível, selecione Criar e Ir para o assistente de criação. Essa ação leva você ao processo de criação do Servidor Flexível e implanta o Servidor Flexível.

    Captura de tela para selecionar a opção de novo servidor flexível.

Após implantar o Servidor Flexível, siga as etapas 3 a 5 em Configurar a tarefa de migração.

Instalação

A primeira guia é Configuração. Caso você não tenha percebido, permita as extensões necessárias, conforme descrito em Configurar seu servidor flexível do Banco de Dados do Azure para PostgreSQL, antes de iniciar uma migração.

Captura de tela dos detalhes pertencentes à guia de configuração offline.

O Nome da migração é o identificador exclusivo de cada migração para esse destino de servidor flexível. Esse campo aceita somente caracteres alfanuméricos e não aceita nenhum caractere especial, exceto sublinhado (_) e hífen (-). O nome deve começar com um caractere alfanumérico. O nome também deve ser exclusivo para um servidor de destino, pois duas migrações para o mesmo destino do Servidor Flexível não podem ter o mesmo nome.

Tipo de servidor de origem indica a origem. Nesse caso, é o Servidor Único do Banco de Dados do Azure para PostgreSQL

A opção Migração permite que você execute validações antes de disparar uma migração. Você pode escolher uma das opções a seguir.

  • Validar – verifica se o seu servidor e seu banco de dados estão preparados para migrar para o destino.
  • Migrar: Ignora as validações e inicia a migração.
  • Validar e Migrar – executa a validação antes de disparar uma migração. A migração será disparada somente se não houver falhas de validação.

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

Modo de migração permite que você escolha entre uma migração online e offline; nesse caso, deve ser definido como Offline.

Selecione o botão Avançar: Selecionar Servidor de Runtime.

Servidor de Runtime

O Servidor de Runtime de Migração é uma funcionalidade especializada dentro do serviço de migração no Banco de Dados do Azure para PostgreSQL, desenvolvida para atuar 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, mas é usada para facilitar a migração de bancos de dados de um ambiente de origem que só é acessível por meio de uma rede privada.

Captura de tela da página Servidor de Runtime de Migração.

Para obter mais informações sobre o Runtime Server, visite o Servidor de Rede de Migração.

Selecione o botão Avançar: Conectar à Origem.

Conectar à origem

A seção Origem solicita que você forneça detalhes relacionados ao Servidor Único, que é a origem dos bancos de dados.

Depois que você fizer as seleções de Assinatura e Grupo de Recursos, a lista suspensa de nomes de servidores mostrará os servidores únicos nesse grupo de recursos em todas as regiões. Selecione a origem da qual você deseja migrar os bancos de dados. Você pode migrar bancos de dados de um Servidor Único para um Servidor Flexível na mesma região. As migrações entre regiões estão habilitadas apenas para servidores da Índia, China e UAE.

Depois que você escolher a origem do Servidor Único, as caixas Localização e Versão do PostgreSQL serão preenchidas automaticamente. Certifique-se de fornecer as credenciais de uma função de administrador, pois isso é necessário para que o serviço de migração migre com êxito os bancos de dados.

O campo FQDN/IP personalizado é opcional e pode ser usado quando a origem 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 singleserver.example.com, 198.1.0.2ou um FQDN do PostgreSQL, como singleserver.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.

Após preencher todos os campos, selecione o link Conectar à fonte. Isso valida que os detalhes do servidor de origem inseridos estão corretos e que o servidor de origem está acessível.

Captura de tela dos detalhes do servidor do banco de dados de origem​.

Selecione o botão Avançar: Selecionar destino da migração para continuar.

Selecione o destino de migração

A seção Selecionar alvo de migração exibe metadados para o destino do Servidor Flexível, como Assinatura, Grupo de recursos, Nome do servidor, Localização e versão do PostgreSQL.

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.2ou 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.

Captura de tela dos detalhes do servidor do banco de dados de destino​.

Escolha os valores apropriados para os Método de autenticação e todos os campos relacionados à autenticação. Certifique-se de que a identidade fornecida seja a do usuário administrador no servidor de destino. Depois de preencher todas as informações necessárias, selecione o link Conectar ao destino. Isso valida se os detalhes do servidor de destino inseridos estão corretos e o servidor de destino é acessível.

Selecione o botão Avançar: Selecionar banco(s) de dados para migração para selecionar os bancos de dados a serem migrados.

Selecionar os banco(s) de dados para migração

Nessa guia, há uma lista de bancos de dados de usuários dentro do Servidor Único. Você pode selecionar e migrar até oito bancos de dados em uma única tentativa de migração. Se houver mais de oito bancos de dados de usuários, o processo de migração será repetido entre os servidores de origem e de destino no próximo conjunto de bancos de dados. Os bancos de dados selecionados que existem no servidor de destino com exatamente os mesmos nomes são substituídos.

Captura de tela dos bancos de dados a serem migrados.

Selecione o botão Avançar: Resumo para revisar os detalhes.

Resumo

A guia Resumo resume todos os detalhes para criar a validação ou a migração. Revise os detalhes e selecione o botão Iniciar Validação e Migração.

Captura de tela dos detalhes a serem revisados para migração.

Monitore o portal de migração

Depois de iniciada a migração, aparecerá uma notificação informando que a validação ou criação da migração foi bem-sucedida. Você é redirecionado automaticamente para a página Migração do Servidor Flexível. Isso tem uma nova entrada para a validação ou migração criada recentemente.

Captura de tela de detalhes de uma migração recém-criada.

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, Hora de início e Duração. As entradas são exibidas na ordem decrescente da hora de início com a entrada mais recente na parte superior.

Você pode usar o botão Atualizar para atualizar o status da validação ou migração.

Você também pode selecionar o nome de uma migração específica na grade para ver os detalhes associados.

Quando a validação ou migração é criada, ela passa para o estado InProgress e para o subestado PerformingPreRequisiteSteps. O fluxo de trabalho leva de 2 a 3 minutos para configurar a infraestrutura de migração e as conexões de rede.

Vejamos como monitorar as migrações para cada opção de migração.

Validar

Depois que o subestado PerformingPreRequisiteSteps for concluído, a validação passará para o subestado de Validação em Andamento, onde as verificações são feitas no servidor de origem e no de destino para avaliar a preparação para a migração.

A validação será movida para o estado de Êxito se todas as validações estiverem no estado de Êxito ou de Aviso.

Captura de tela da grade de validação.

A grade de validação tem as seguintes informações:

  • Detalhes de validação para seções e Detalhes de validação para bancos de dados, representando as regras de validação usadas para verificar a preparação para migração.
  • Nome da Validação: O nome de cada regra de validação específica.
  • Status da validação: Representa o resultado de cada regra e pode ter qualquer um dos três valores:
    • Êxito – se nenhum erro foi encontrado.
    • Falha – se houver erros de validação.
    • Aviso – se houver avisos de validação.
  • Duração: Tempo gasto para a operação de validação.
  • Hora de início (UTC) e Hora de término (UTC) - Horários de início e término da operação de validação em UTC.

O Status de validação passa para o estado Com falha se houver erros na validação. Selecione a validação Nome de validação ou Nome do banco de dados que falhou e um painel distribuído fornece os detalhes e a ação corretiva que você deve tomar para evitar esse erro.

Captura de tela da grade de validação com status de falha.

Migrações

Após a conclusão do subestado PerformingPreRequisiteSteps, a migração passa para o subestado Migrando Dados quando ocorre a clonagem/cópia dos bancos de dados. O tempo para a migração ser concluída depende do tamanho e do formato dos bancos de dados que você está migrando. A migração é rápida se os dados estiverem distribuídos uniformemente em todas as tabelas. Tabelas de tamanhos distorcidos levam um tempo relativamente maior.

Quando você seleciona qualquer um dos bancos de dados sendo migrados, aparece um painel de dispersão. Ele tem todas as contagens de tabelas (copiadas, enfileiradas, copiadas e erros) e também o status da migração do banco de dados.

Captura de tela da grade de migração contendo todos os detalhes do banco de dados.

A migração passa para o estado Bem Sucedido quando o estado Migrando Dados é concluído com sucesso. Se houver um problema no estado Migrando Dados, a migração passará para o estado Falha.

Captura de tela do resultado da migração.

Depois que a migração passar para o estado Bem-sucedido, a migração de esquema e dados do seu servidor único para o destino do servidor flexível será concluída. Você pode atualizar a página para verificar o progresso.

Captura de tela das migrações concluídas.

Validar e Migrar

Nessa opção, as validações são executadas primeiro antes do início da migração. Após a conclusão do substrato PerformingPreRequisiteSteps, o fluxo de trabalho passa para o subestado de 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 de Migrando dados.

Você pode ver os resultados de Validar e Migrar depois que a operação for concluída.

Captura de tela mostrando a guia de validações na página de detalhes.

Cancelar a migração usando o portal

Você pode cancelar as validações ou migrações em andamento. O fluxo de trabalho deve estar no estado InProgress para ser cancelado. Não é possível cancelar uma migração que esteja no estado deÊxito ou de Falha.

O cancelamento de uma validação interrompe qualquer atividade de validação adicional e a validação passa para um estado Cancelado.

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

Verifique a migração depois de concluí-la

Após uma migração bem-sucedida, certifique-se de que você pode fazer logon no seu servidor flexível usando as mesmas credenciais do servidor único. Se estiver encontrando erros de autenticação no seu servidor flexível depois de migrar de um único servidor, isso poderá ser devido ao fato de a VM do servidor flexível ser FIPS-compliant ou usar um algoritmo de criptografia de senha diferente (SCRAM-SHA-256) em comparação com a criptografia MD5 do servidor único. Para atenuar esse problema, siga estas etapas:

  1. Altere o parâmetro password_encryption do servidor no seu servidor flexível de SCRAM-SHA-256 para MD5.
  2. Reinicie a migração do seu servidor único para o servidor flexível.
  3. Se os problemas de autenticação persistirem, exclua o servidor flexível existente e provisione um novo. Repita as etapas 1 e 2 para resolver o problema.

Isso deve resolver os erros de autenticação.

Após a migração, você pode executar as seguintes tarefas:

  • Verifique os dados em seu servidor flexível e verifique se é 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 o SKU do servidor flexível para que ele corresponda às necessidades do aplicativo. Essa alteração exige 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 de 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.