Partilhar via


Realocar o Banco de Dados do Azure para PostgreSQL para outra região

Este artigo aborda as diretrizes de realocação do Banco de Dados do Azure para PostgreSQL, Servidor Único e Servidores Flexíveis em regiões geográficas onde os pares de regiões não estão disponíveis para replicação e restauração geográfica.

Há vários motivos pelos quais você pode querer mover seus recursos existentes do Azure de uma região para outra. Você pode querer:

  • Aproveite uma nova região do Azure.
  • Implante recursos ou serviços disponíveis apenas em regiões específicas.
  • Atender aos requisitos internos de política e governança.
  • Alinhar-se com fusões e aquisições de empresas
  • Atenda aos requisitos de planejamento de capacidade.

Para saber como realocar o Azure Cosmos DB para PostgreSQL (anteriormente chamado Banco de Dados do Azure para PostgreSQL - Hyperscale (Citus)), consulte Ler réplicas no Azure Cosmos DB para PostgreSQL.

Para obter uma visão geral dos pares de regiões suportados pela replicação nativa, consulte Replicação entre regiões.

Pré-requisitos

Os pré-requisitos só se aplicam à reimplantação com dados. Para mover seu banco de dados sem dados, você pode pular para Preparar.

  • Para realocar o PostgreSQL com dados de uma região para outra, você deve ter um recurso de computação adicional para executar as ferramentas de backup e restauração. Os exemplos neste guia usam uma VM do Azure executando o Ubuntu 20.04 LTS. Os recursos computacionais devem:
    • Ter acesso de rede ao servidor de origem e de destino, seja em uma rede privada ou por inclusão nas regras de firewall.
    • Estar localizado na região de origem ou de destino.
    • Use Rede acelerada (se disponível).
    • O conteúdo do banco de dados não é salvo em nenhum armazenamento intermediário; A saída da ferramenta de backup lógico é enviada diretamente para o servidor de destino.
  • Dependendo do design da instância do Banco de Dados do Azure para PostgreSQL, os seguintes recursos dependentes podem precisar ser implantados e configurados na região de destino antes da realocação:

Inatividade

Para entender os possíveis períodos de inatividade envolvidos, consulte Cloud Adoption Framework for Azure: Select a relocation method.

Preparação

Para começar, exporte um modelo do Resource Manager. Este modelo contém configurações que descrevem seu namespace de automação.

  1. Inicie sessão no portal do Azure.

  2. Selecione Todos os recursos e, em seguida, selecione o recurso de automação.

  3. Selecione Exportar modelo.

  4. Escolha Download na página Exportar modelo .

  5. Localize o arquivo .zip que você baixou do portal e descompacte esse arquivo para uma pasta de sua escolha.

    Esse arquivo zip contém os arquivos .json que incluem o modelo e os scripts para implantar o modelo.

Reimplantar sem dados

  1. Ajuste os parâmetros do modelo exportado para corresponder à região de destino.

Importante

O servidor de destino deve ser diferente do nome do servidor de origem. Você deve reconfigurar os clientes para apontar para o novo servidor.

  1. Reimplante o modelo na nova região. Para obter um exemplo de como usar um modelo ARM para criar um Banco de Dados do Azure para PostgreSQL, consulte Guia de início rápido: usar um modelo ARM para criar um Banco de Dados do Azure para PostgreSQL - Servidor Flexível.

Reimplantar com dados

A reimplantação com migração de dados para o Banco de Dados do Azure para PostgreSQL é baseada em backup e restauração lógicos e requer ferramentas nativas. Como resultado, você pode esperar um tempo de inatividade percetível durante a restauração.

Gorjeta

Você pode usar o portal do Azure para realocar um Banco de Dados do Azure para PostgreSQL - Servidor Flexível. Para saber como executar a replicação para Servidor Único, consulte Mover um Banco de Dados do Azure para PostgreSQL - Servidor Flexível para outra região usando o portal do Azure.

  1. Ajuste os parâmetros do modelo exportado para corresponder à região de destino.

Importante

O nome do servidor de destino deve ser diferente do nome do servidor de origem. Você deve reconfigurar os clientes para apontar para o novo servidor.

  1. Reimplante o modelo na nova região. Para obter um exemplo de como usar um modelo ARM para criar um Banco de Dados do Azure para PostgreSQL, consulte Guia de início rápido: usar um modelo ARM para criar um Banco de Dados do Azure para PostgreSQL - Servidor Flexível.

  2. No recurso de computação provisionado para a migração, instale as ferramentas de cliente PostgreSQL para a versão do PostgreSQL a ser migrada. O exemplo a seguir usa o PostgreSQL versão 13 em uma VM do Azure que executa o Ubuntu 20.04 LTS:

      sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
      wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
      sudo apt-get update
      sudo apt-get install -y postgresql-client-13
    

    Para obter mais informações sobre a instalação de componentes PostgreSQL no Ubuntu, consulte Downloads do Linux (Ubuntu).

    Para outras plataformas, vá para Downloads do PostgreSQL.

  3. (Opcional) Se você criou funções adicionais no servidor de origem, crie-as no servidor de destino. Para obter uma lista de funções existentes, use a seguinte consulta:

    select *
    from pg_catalog.pg_roles
    where rolename not like 'pg_%' and rolename not in ('azuresu', 'azure_pg_admin', 'replication')
    order by rolename;
    
  4. Para migrar cada banco de dados, execute as seguintes etapas:

    1. Pare toda a atividade do banco de dados no servidor de origem.
    2. Substitua as informações de credenciais, o servidor de origem, o servidor de destino e o nome do banco de dados no seguinte script:
        export USER=admin_username
        export PGPASSWORD=admin_password
        export SOURCE=pgsql-arpp-source.postgres.database.azure.com
        export TARGET=pgsql-arpp-target.postgres.database.azure.com
        export DATABASE=database_name
        pg_dump -h $SOURCE -U $USER --create --exclude-schema=pg_catalog $DATABASE | psql -h $TARGET -U $USER postgres
    
    1. Para migrar o banco de dados, execute o script.

    2. Configure os clientes para apontar para o servidor de destino.

    3. Execute testes funcionais nas aplicações.

      1. Verifique se o ignoreMissingVnetServiceEndpoint sinalizador está definido como , para Falseque o IaC não consiga implantar o banco de dados quando o ponto de extremidade do serviço não estiver configurado na região de destino.