Tutorial: Migrar offline do PostgreSQL do Amazon Aurora para o Banco de Dados do Azure para PostgreSQL com o serviço de migração
Artigo
16/10/2024
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.
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.
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 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.
É 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.
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.
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.
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, 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.
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.
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.
Este artigo descreve como usar a CLI do Azure para migrar seu banco de dados PostgreSQL do Amazon Aurora para o Banco de Dados do Azure para PostgreSQL. A CLI do Azure é uma interface de linha de comando poderosa e flexível que você pode usar para concluir várias tarefas, incluindo a migração de banco de dados.
Depois que a CLI do Azure for instalada, na linha de comando, entre em sua conta do Azure usando o seguinte comando:
az login
Configurar a tarefa de migração
Para iniciar a migração, crie um arquivo JSON para manter os detalhes da migração. Salve o arquivo JSON em seu computador local como [nomedoarquivo].json. Por exemplo, você pode salvar o arquivo como C:\migration-CLI\migration_body.json.
Copie o JSON a seguir e cole-o no arquivo JSON. Substitua <placeholders> pelas informações relevantes do seu cenário.
{
"properties": {
"SourceDBServerResourceId": "<source host name or IP address>:<port>@<username>",
"SecretParameters": {
"AdminCredentials": {
"SourceServerPassword": "<source password>",
"TargetServerPassword": "<target password>"
},
"targetServerUserName": "<target username>"
},
"DBsToMigrate": "<a comma-separated list of databases in an array, similar to the example "ticketdb","timedb","inventorydb">",
"OverwriteDBsInTarget": "true",
"sourceType": "AWS_AURORA",
"sslMode": "Require"
}
}
Execute o comando a seguir para verificar se alguma migração está em execução. O nome da migração é exclusivo para migrações no Banco de Dados do Azure para PostgreSQL – Servidor Flexível de destino.
az postgres flexible-server migration list --subscription 11111111-1111-1111-1111-111111111111 --resource-group my-learning-rg --name myflexibleserver --filter All
Nas etapas anteriores, não há migrações executadas, portanto, começamos com a nova migração executando o comando a seguir
Execute o comando a seguir para iniciar o status de migração na etapa anterior. Você pode verificar o status da migração fornecendo o nome da migração
az postgres flexible-server migration show --subscription 11111111-1111-1111-1111-111111111111 --resource-group my-learning-rg --name myflexibleserver --migration-name migration1
O status do progresso da migração é mostrado na CLI do Azure. Você também pode ver o status da instância do Banco de Dados do Azure para PostgreSQL – Servidor Flexível no portal do Azure.
Cancelar ou excluir uma migração
Você pode cancelar todas as tentativas de migração em andamento usando o comando cancel. Esse comando interrompe a tentativa de migração específica e reverte todas as alterações no servidor de destino.
Veja o comando da CLI do Azure usado para excluir uma 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.
O Servidor Flexível do Banco de Dados do Azure para PostgreSQL dá suporte à migração efetiva de dados de servidores PostgreSQL. Este módulo aborda métodos e ferramentas de migração online e offline, ajudando você a escolher a abordagem certa para seu cenário. Aprenda técnicas práticas para gerenciar migrações com eficiência, ideal para minimizar o tempo de inatividade e manter a produtividade.
Administrar uma infraestrutura de banco de dados do SQL Server para bancos de dados relacionais de nuvem, locais e híbridos usando as ofertas de banco de dados relacional do Microsoft PaaS.