Flytta Azure Database for PostgreSQL till en annan region
Den här artikeln beskriver vägledning för omlokalisering för Azure Database for PostgreSQL, enskild server och flexibla servrar mellan geografiska områden där regionpar inte är tillgängliga för replikering och geo-återställning.
Det finns olika orsaker till varför du kanske vill flytta dina befintliga Azure-resurser från en region till en annan. Du kanske vill:
- Dra nytta av en ny Azure-region.
- Distribuera endast funktioner eller tjänster som är tillgängliga i specifika regioner.
- Uppfylla interna policy- och styrningskrav.
- Justera med företagsfusioner och förvärv
- Uppfylla kapacitetsplaneringskraven.
Information om hur du flyttar Azure Cosmos DB för PostgreSQL (kallades tidigare Azure Database for PostgreSQL – Hyperskala (Citus)) finns i Läsa repliker i Azure Cosmos DB för PostgreSQL.
En översikt över de regionpar som stöds av intern replikering finns i replikering mellan regioner.
Förutsättningar
Krav gäller endast för omdistribution med data. Om du vill flytta databasen utan data kan du gå vidare till Förbered.
- Om du vill flytta PostgreSQL med data från en region till en annan måste du ha ytterligare en beräkningsresurs för att köra säkerhetskopierings- och återställningsverktygen. Exemplen i den här guiden använder en virtuell Azure-dator som kör Ubuntu 20.04 LTS. Beräkningsresurserna måste:
- Ha nätverksåtkomst till både källan och målservern, antingen i ett privat nätverk eller genom att inkludera i brandväggsreglerna.
- Finnas i antingen käll- eller målregionen.
- Använd accelererat nätverk (om tillgängligt).
- Databasinnehållet sparas inte i någon mellanliggande lagring. utdata från det logiska säkerhetskopieringsverktyget skickas direkt till målservern.
- Beroende på din Azure Database for PostgreSQL-instansdesign kan följande beroende resurser behöva distribueras och konfigureras i målregionen före flytten:
Driftstopp
Information om möjliga stilleståndstider finns i Cloud Adoption Framework for Azure: Select a relocation method (Molnimplementeringsramverk för Azure: Välj en omlokaliseringsmetod).
Förbereda
Kom igång genom att exportera en Resource Manager-mall. Den här mallen innehåller inställningar som beskriver ditt Automation-namnområde.
Logga in på Azure-portalen.
Välj Alla resurser och välj sedan din Automation-resurs.
Välj Exportera mall.
Välj Ladda ned på sidan Exportera mall .
Leta upp den .zip fil som du laddade ned från portalen och packa upp filen till valfri mapp.
Den här zip-filen innehåller de .json filer som innehåller mallen och skripten för att distribuera mallen.
Distribuera om utan data
- Justera de exporterade mallparametrarna så att de matchar målregionen.
Viktigt!
Målservern måste skilja sig från namnet på källservern. Du måste konfigurera om klienterna så att de pekar på den nya servern.
- Distribuera om mallen till den nya regionen. Ett exempel på hur du använder en ARM-mall för att skapa en Azure Database for PostgreSQL finns i Snabbstart: Använda en ARM-mall för att skapa en Azure Database for PostgreSQL – flexibel server.
Distribuera om med data
Omdistribution med datamigrering för Azure Database for PostgreSQL baseras på logisk säkerhetskopiering och återställning och kräver interna verktyg. Därför kan du förvänta dig märkbar stilleståndstid under återställningen.
Dricks
Du kan använda Azure-portalen för att flytta en Azure Database for PostgreSQL – flexibel server. Information om hur du utför replikering för enskild server finns i Flytta en Azure Database for PostgreSQL – flexibel server till en annan region med hjälp av Azure-portalen.
- Justera de exporterade mallparametrarna så att de matchar målregionen.
Viktigt!
Målservernamnet måste skilja sig från källservernamnet. Du måste konfigurera om klienterna så att de pekar på den nya servern.
Distribuera om mallen till den nya regionen. Ett exempel på hur du använder en ARM-mall för att skapa en Azure Database for PostgreSQL finns i Snabbstart: Använda en ARM-mall för att skapa en Azure Database for PostgreSQL – flexibel server.
Installera PostgreSQL-klientverktygen för PostgreSQL-versionen som ska migreras på den beräkningsresurs som har etablerats för migreringen. I följande exempel används PostgreSQL version 13 på en virtuell Azure-dator som kör 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
Mer information om installationen av PostgreSQL-komponenter i Ubuntu finns i Linux-nedladdningar (Ubuntu).
För andra plattformar går du till PostgreSQL-nedladdningar.
(Valfritt) Om du har skapat ytterligare roller på källservern skapar du dem på målservern. Om du vill hämta en lista över befintliga roller använder du följande fråga:
select * from pg_catalog.pg_roles where rolename not like 'pg_%' and rolename not in ('azuresu', 'azure_pg_admin', 'replication') order by rolename;
Utför följande steg för att migrera varje databas:
- Stoppa all databasaktivitet på källservern.
- Ersätt information om autentiseringsuppgifter, källserver, målserver och databasnamn i följande skript:
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
Om du vill migrera databasen kör du skriptet.
Konfigurera klienterna så att de pekar på målservern.
Utför funktionella tester på programmen.
- Kontrollera att
ignoreMissingVnetServiceEndpoint
flaggan är inställd påFalse
, så att IaC inte kan distribuera databasen när tjänstslutpunkten inte har konfigurerats i målregionen.
- Kontrollera att