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
- Definir a configuração de destino
- Definir as configurações de rede
- Habilitar extensões
- Verificar os parâmetros do servidor
- Verificar usuários e funções
- Desabilite a alta disponibilidade (confiabilidade) e as réplicas de leitura no destino
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:
Abra seu navegador da Web e acesse o portal do Azure. Insira suas credenciais para entrar.
Acesse 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ê 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.
Selecione Criar para avançar por uma série de guias e configurar a 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.
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.
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.
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, comoflexibleserver.postgres.database.azure.com
, se o servidor DNS personalizado contiver a zona DNSpostgres.database.azure.com
ou encaminhar consultas para essa zona para168.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.
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.
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.
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.
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.
- Verifique a validação relacionada à verificação de conectividade para a versão de origem (a verificação de parâmetros do servidor
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.
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.