Sdílet prostřednictvím


Přemístění služby Azure Database for PostgreSQL do jiné oblasti

Tento článek popisuje pokyny k přemístění pro azure Database for PostgreSQL, jednoúčelový server a flexibilní servery napříč geograficky oblastmi, ve kterých nejsou páry oblastí dostupné pro replikaci a geografické obnovení.

Existují různé důvody, proč můžete chtít přesunout existující prostředky Azure z jedné oblasti do jiné. Možná budete chtít:

  • Využijte výhod nové oblasti Azure.
  • Nasaďte funkce nebo služby dostupné pouze v konkrétních oblastech.
  • Splnění interních zásad a požadavků zásad správného řízení
  • Sladění s fúzemi a akvizicemi společností
  • Splnění požadavků na plánování kapacity

Informace o přemístění služby Azure Cosmos DB for PostgreSQL (dříve Azure Database for PostgreSQL – Hyperscale (Citus) najdete v tématu Repliky pro čtení ve službě Azure Cosmos DB for PostgreSQL.

Přehled párů oblastí podporovaných nativní replikací najdete v tématu Replikace mezi oblastmi.

Požadavky

Požadavky platí jenom pro opětovné nasazení dat. Pokud chcete přesunout databázi bez dat, můžete přejít na možnost Příprava.

  • Pokud chcete postgreSQL přemístit s daty z jedné oblasti do jiné, musíte mít k dispozici další výpočetní prostředek pro spuštění nástrojů pro zálohování a obnovení. Příklady v této příručce používají virtuální počítač Azure s Ubuntu 20.04 LTS. Výpočetní prostředky musí:
    • Mít přístup k síti ke zdroji i cílovému serveru, a to buď v privátní síti, nebo zahrnutím do pravidel brány firewall.
    • Nachází se ve zdrojové nebo cílové oblasti.
    • Použijte akcelerované síťové služby (pokud jsou k dispozici).
    • Obsah databáze se neukládá do žádného zprostředkujícího úložiště; Výstup nástroje logického zálohování se odešle přímo na cílový server.
  • V závislosti na návrhu instance Azure Database for PostgreSQL může být před přemístěním potřeba nasadit a nakonfigurovat následující závislé prostředky v cílové oblasti:

Odstávka

Informace o možných výpadkech najdete v tématu Architektura přechodu na cloud pro Azure: Výběr metody přemístění.

Příprava

Začněte exportem šablony Resource Manageru. Tato šablona obsahuje nastavení, která popisují obor názvů služby Automation.

  1. Přihlaste se k portálu Azure.

  2. Vyberte Všechny prostředky a pak vyberte prostředek Automation.

  3. Vyberte Exportovat šablonu.

  4. Na stránce Exportovat šablonu zvolte Stáhnout.

  5. Vyhledejte .zip soubor, který jste stáhli z portálu, a rozbalte ho do složky podle vašeho výběru.

    Tento soubor ZIP obsahuje soubory .json, které obsahují šablonu a skripty pro nasazení šablony.

Opětovné nasazení bez dat

  1. Upravte parametry exportované šablony tak, aby odpovídaly cílové oblasti.

Důležité

Cílový server se musí lišit od názvu zdrojového serveru. Je nutné překonfigurovat klienty tak, aby odkazovat na nový server.

  1. Znovu nasaďte šablonu do nové oblasti. Příklad použití šablony ARM k vytvoření flexibilního serveru Azure Database for PostgreSQL najdete v tématu Rychlý start: Použití šablony ARM k vytvoření flexibilního serveru Azure Database for PostgreSQL.

Opětovné nasazení s daty

Opětovné nasazení migrace dat pro Azure Database for PostgreSQL je založené na logickém zálohování a obnovení a vyžaduje nativní nástroje. V důsledku toho můžete očekávat výrazný výpadek během obnovení.

Tip

Pomocí webu Azure Portal můžete přemístit flexibilní server Azure Database for PostgreSQL. Informace o tom, jak provést replikaci pro jednoúčelový server, najdete v tématu Přesun flexibilního serveru Azure Database for PostgreSQL do jiné oblasti pomocí webu Azure Portal.

  1. Upravte parametry exportované šablony tak, aby odpovídaly cílové oblasti.

Důležité

Název cílového serveru se musí lišit od názvu zdrojového serveru. Je nutné překonfigurovat klienty tak, aby odkazovat na nový server.

  1. Znovu nasaďte šablonu do nové oblasti. Příklad použití šablony ARM k vytvoření flexibilního serveru Azure Database for PostgreSQL najdete v tématu Rychlý start: Použití šablony ARM k vytvoření flexibilního serveru Azure Database for PostgreSQL.

  2. Na výpočetním prostředku zřízeném pro migraci nainstalujte klientské nástroje PostgreSQL pro verzi PostgreSQL, která se má migrovat. Následující příklad používá PostgreSQL verze 13 na virtuálním počítači Azure, na kterém běží 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
    

    Další informace o instalaci komponent PostgreSQL v Ubuntu najdete ve staženém systému Linux (Ubuntu).

    V případě jiných platforem přejděte ke stažení PostgreSQL.

  3. (Volitelné) Pokud jste na zdrojovém serveru vytvořili další role, vytvořte je na cílovém serveru. Pokud chcete získat seznam existujících rolí, použijte následující dotaz:

    select *
    from pg_catalog.pg_roles
    where rolename not like 'pg_%' and rolename not in ('azuresu', 'azure_pg_admin', 'replication')
    order by rolename;
    
  4. Pokud chcete migrovat každou databázi, proveďte následující kroky:

    1. Zastavte všechny databázové aktivity na zdrojovém serveru.
    2. Nahraďte přihlašovací údaje, zdrojový server, cílový server a název databáze v následujícím skriptu:
        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. Pokud chcete migrovat databázi, spusťte skript.

    2. Nakonfigurujte klienty tak, aby odkazovali na cílový server.

    3. Proveďte funkční testy aplikací.

      1. Ujistěte se, že ignoreMissingVnetServiceEndpoint je příznak nastavený na False, takže IaC nenasadí databázi, když koncový bod služby není nakonfigurovaný v cílové oblasti.