Kurz: Online migrace z Amazon Aurora PostgreSQL do Azure Database for PostgreSQL pomocí služby migrace
Tento článek popisuje, jak migrovat databázi PostgreSQL z Amazon Aurora do Azure Database for PostgreSQL online.
Služba migrace ve službě Azure Database for PostgreSQL je plně spravovaná služba integrovaná do webu Azure Portal a Azure CLI. Je navržená tak, aby zjednodušila cestu migrace do Služby Azure Database for PostgreSQL.
V tomto kurzu se naučíte:
- Dokončení požadavků
- Zahájení migrace
- Monitorování migrace
- Zahájení přímé migrace
- Ověření migrace
Požadavky
Než začnete s migrací pomocí služby migrace ve službě Azure Database for PostgreSQL, je důležité splnit následující požadavky. Tyto požadavky jsou speciálně navržené pro scénáře online migrace.
- Ověření zdrojové verze
- Instalace test_decoding pro instalaci zdroje
- Konfigurace nastavení cíle
- Povolení CDC jako zdroje
- Konfigurace nastavení sítě
- Povolení rozšíření
- Kontrola parametrů serveru
- Kontrola uživatelů a rolí
Ověření zdrojové verze
Zdrojová verze serveru PostgreSQL musí být 9.5 nebo novější. Pokud je zdrojová verze PostgreSQL starší než 9.5, před zahájením migrace upgradujte verzi na verzi 9.5 nebo novější.
Instalace test_decoding pro instalaci zdroje
- Modul plug-in test_decoding přijímá prostřednictvím logického dekódovacího mechanismu protokolování s předstihem (Write-Ahead Logging). Modul plug-in dekóduje WAL do textové reprezentace operací, které se provádějí.
- V Amazon RDS for PostgreSQL je modul plug-in test_decoding předinstalovaný a připravený k logické replikaci. Můžete snadno nastavit sloty logické replikace a streamovat změny WAL, například pro zachytávání dat změn (CDC) nebo pro replikaci do externích systémů.
Další informace o modulu plug-in test_decoding najdete v dokumentaci k PostgreSQL.
Konfigurace nastavení cíle
Než začnete s migrací, musíte v Azure vytvořit instanci Služby Azure Database for PostgreSQL . Skladová položka zřízená pro flexibilní server Azure Database for PostgreSQL by se měla shodovat se zdrojem.
Další informace najdete v tématu Vytvoření instance Služby Azure Database for PostgreSQL.
Povolení CDC jako zdroje
Modul plug-in test_decoding logického dekódování zachycuje změněné záznamy ze zdroje.
Pokud chcete uživateli migrace povolit přístup k oprávněním replikace, spusťte následující příkaz:
GRANT rds_replication TO <username>;
Ve zdrojové instanci PostgreSQL upravte následující parametry ve skupině parametrů databázových clusterů vytvořením nové skupiny parametrů:
- Nastavte
rds.logical_replication
na hodnotu1
. - Nastavte
max_replication_slots
hodnotu větší než1
. Hodnota by měla být větší než počet databází, které vyberete pro migraci. - Nastavte
max_wal_senders
hodnotu větší než1
. Měla by mít alespoň stejnou hodnotu jako hodnota promax_replication_slots
, plus počet odesílatelů, kteří už ve vaší instanci použili. - Parametr
wal_sender_timeout
končí neaktivními připojeními replikace, která jsou delší než zadaný počet milisekund. Výchozí hodnota instance Amazon Aurora PostgreSQL je30000 milliseconds (30 seconds)
. Nastavení hodnoty pro0 (zero)
zakázání mechanismu časového limitu a je platným nastavením pro migraci.
- Nastavte
Pokud chcete na cílovém flexibilním serveru zabránit online migraci do úložiště, aby se protokoly ukládaly, ujistěte se, že máte dostatek úložiště v tabulkovém prostoru pomocí zřízeného spravovaného disku. Po dobu trvání migrace zakažte parametr
azure.enable_temp_tablespaces_on_local_ssd
serveru. Po migraci obnovte parametr do původního stavu.
Konfigurace nastavení sítě
Nastavení sítě je zásadní pro správné fungování služby migrace. Ujistěte se, že zdrojový server PostgreSQL může komunikovat s cílovým serverem ve službě Azure Database for PostgreSQL.
Informace o nastavení sítě najdete v tématu Scénáře sítě pro službu migrace.
Povolení rozšíření
Pokud chcete zajistit úspěšnou migraci pomocí služby migrace ve službě Azure Database for PostgreSQL, možná budete muset ověřit rozšíření vaší zdrojové instance PostgreSQL. Rozšíření poskytují funkce a funkce, které můžou být potřeba pro vaši aplikaci. Před zahájením procesu migrace ověřte rozšíření ve zdrojové instanci PostgreSQL.
V cílové instanci flexibilního serveru Azure Database for PostgreSQL povolte podporovaná rozšíření, která jsou identifikována ve zdrojové instanci PostgreSQL.
Další informace najdete v tématu Rozšíření ve službě Azure Database for PostgreSQL.
Poznámka:
Restartování se vyžaduje, když provedete jakékoli změny parametru shared_preload_libraries
.
Kontrola parametrů serveru
Parametry serveru se do cílového prostředí nemigrují automaticky a musí být nakonfigurované ručně.
Porovná hodnoty parametrů serveru ze zdrojové databáze PostgreSQL s instancí Azure Database for PostgreSQL. Na webu Azure Portal přejděte na parametry serveru a hodnoty aktualizujte ručně.
Uložte změny parametrů a restartujte instanci Azure Database for PostgreSQL, aby se v případě potřeby použila nová konfigurace.
Kontrola uživatelů a rolí
Při migraci na Azure Database for PostgreSQL je nezbytné řešit migraci uživatelů a rolí samostatně, protože vyžadují ruční zásah.
Ruční migrace uživatelů a rolí: Uživatelé a jejich přidružené role se musí ručně migrovat do instance Služby Azure Database for PostgreSQL. K usnadnění tohoto procesu můžete použít nástroj pg_dumpall s příznakem
--globals-only
k exportu globálních objektů, jako jsou role a uživatelské účty.Proveďte následující příkaz: Nahraďte
<username>
skutečné uživatelské jméno a nahraďte<filename>
názvem, který chcete použít pro výstupní soubor.pg_dumpall --globals-only -U <username> -f <filename>.sql
Omezení rolí superuživatele: Azure Database for PostgreSQL nepodporuje role superuživatele. Před migrací je nutné odebrat oprávnění superuživatele. Ujistěte se, že odpovídajícím způsobem upravíte oprávnění a role.
Provedením těchto kroků můžete zajistit, aby se uživatelské účty a role správně migrovaly do služby Azure Database for PostgreSQL bez problémů souvisejících s omezeními superuživatelů.
Zakázání vysoké dostupnosti (spolehlivosti) a replik pro čtení v cíli
Před zahájením migrace je důležité zakázat vysokou dostupnost (spolehlivost) a repliky pro čtení v cílovém prostředí. Tyto funkce by se měly povolit až po dokončení migrace.
Zahájení migrace
Migraci můžete provést pomocí webu Azure Portal nebo Azure CLI.
Azure Portal nabízí jednoduché a intuitivní prostředí založené na průvodci migrací. Dokončením kroků popsaných v tomto kurzu můžete bezproblémově přenést databázi do flexibilního serveru Azure Database for PostgreSQL a využít výhod jeho výkonných funkcí a škálovatelnosti.
Pokud chcete migrovat pomocí webu Azure Portal, nejprve nakonfigurujte úlohu migrace. Pak se připojte ke zdroji a cíli a spusťte migraci.
Konfigurace úlohy migrace
Konfigurace úlohy migrace na webu Azure Portal:
Otevřete webový prohlížeč a přejděte na web Azure Portal. Zadejte svoje přihlašovací údaje pro přihlášení.
Přejděte na instanci flexibilního serveru Azure Database for PostgreSQL.
V nabídce služby vyberte Možnost Migrace.
Vyberte Vytvořit , abyste migrovali z Amazon Aurora na flexibilní server.
Při prvním použití služby migrace se zobrazí prázdná mřížka s výzvou k zahájení první migrace. Pokud už jsou vytvořené migrace na cíl flexibilního serveru, obsahuje mřížka informace o pokusech o migraci.
Výběrem možnosti Vytvořit provedete řadu karet a nastavíte migraci.
Nastavení
Zadejte nebo vyberte následující informace:
Název migrace: Zadejte jedinečný identifikátor pro každou migraci do tohoto cíle flexibilního serveru. V názvu migrace můžete použít pouze alfanumerické znaky a spojovníky (
-
). Název nemůže začínat spojovníkem a musí být jedinečný pro cílový server. Žádné dvě migrace do stejného cíle flexibilního serveru můžou mít stejný název.Typ zdrojového serveru: Vyberte typ zdroje, který odpovídá vašemu zdroji PostgreSQL, jako je cloudová služba PostgreSQL, místní nastavení nebo virtuální počítač.
Možnost migrace: Zvolte jednu z následujících možností pro ověření předběžné migrace:
- Ověřte. Zkontroluje připravenost serveru a databáze na migraci do cílového zdroje.
- Migrace. Přeskočí ověření a spustí migraci.
- Ověření a migrace Provede ověření před aktivací migrace. Pokud nedojde k žádným selháním ověření, migrace se aktivuje.
Dobrým postupem je vybrat možnost Ověřit nebo ověřit a migrovat pro předběžné ověření.
Další informace najdete v tématu Ověření předběžné migrace.
Režim migrace: Vyberte režim migrace. Výchozí možnost je Offline.
Vyberte Další: Připojit ke zdroji.
Výběr serveru modulu runtime
Server modulu runtime migrace je specializovaná funkce služby migrace. Server runtime během migrace funguje jako zprostředkující server. Jedná se o samostatnou instanci flexibilního serveru Azure Database for PostgreSQL, který není cílovým serverem. Server runtime usnadňuje migraci databází ze zdrojového prostředí, které je přístupné pouze prostřednictvím privátní sítě.
Další informace naleznete v tématu Server modulu runtime migrace.
Připojení ke zdroji
Na kartě Připojit ke zdroji zadejte nebo vyberte následující informace pro zdroj databáze:
- Název serveru: Zadejte název hostitele nebo IP adresu zdrojové instance PostgreSQL.
- Port: Zadejte číslo portu zdrojového serveru.
- Přihlašovací jméno správce serveru: Zadejte uživatelské jméno zdrojového serveru PostgreSQL.
- Heslo: Zadejte heslo zdrojového serveru PostgreSQL.
- Režim SSL: Podporované hodnoty jsou Preferovat a Vyžadovat. Pokud je protokol SSL (Secure Sockets Layer) na zdrojovém serveru PostgreSQL vypnutý, vyberte Preferovat. Pokud je protokol SSL na zdrojovém serveru zapnutý, vyberte Vyžadovat. Hodnoty SSL se nastavují v souboru postgresql.conf .
- Test připojení: Zahájí test připojení mezi cílem a zdrojem. Po úspěšném připojení přejděte k dalšímu kroku a identifikujte síťové problémy mezi cílem a zdrojem a ověřte uživatelské jméno a heslo pro zdroj. Vytvoření testovacího připojení trvá několik minut.
Po úspěšném testovacím připojení vyberte Další: Vyberte cíl migrace.
Vyberte cíl migrace.
Na kartě Vybrat cíl migrace zadejte nebo vyberte následující informace pro cíl flexibilního serveru kromě předplatného, skupiny prostředků a názvu serveru:
- Uživatelské jméno správce: Uživatelské jméno správce cílového serveru PostgreSQL.
- Heslo: Heslo cílového serveru PostgreSQL.
- Vlastní plně kvalifikovaný název domény nebo IP adresa (volitelné): Vlastní plně kvalifikovaný název domény nebo pole IP je volitelné a lze ho použít, když je cíl za vlastním serverem DNS nebo má vlastní obory názvů DNS, takže je přístupný jenom přes konkrétní plně kvalifikované názvy domén nebo IP adresy. Může to například zahrnovat položky, jako
flexibleserver.example.com
je ,198.1.0.2
nebo plně kvalifikovaný název domény PostgreSQL, napříkladflexibleserver.postgres.database.azure.com
, pokud vlastní server DNS obsahuje zónupostgres.database.azure.com
DNS nebo předává dotazy pro tuto zónu do168.63.129.16
, kde se plně kvalifikovaný název domény překládá ve veřejné nebo privátní zóně DNS Azure. - Test připojení: Zahájí test připojení mezi cílem a zdrojem. Po úspěšném připojení přejděte k dalšímu kroku a identifikujte síťové problémy mezi cílem a zdrojem a ověřte uživatelské jméno a heslo cílového serveru. Vytvoření testovacího připojení trvá několik minut.
Po úspěšném testovacím připojení vyberte Další: Vyberte databáze pro migraci.
Výběr databází pro migraci
Na kartě Vybrat databázi pro migraci vyberte ze seznamu uživatelských databází, které chcete migrovat ze zdrojového serveru PostgreSQL.
Po výběru databází vyberte Další: Souhrn.
Shrnutí
Karta Souhrn shrnuje všechny podrobnosti o zdroji a cíli pro vytvoření ověření nebo migrace. Zkontrolujte podrobnosti a pak vyberte Spustit ověření a migraci.
Monitorování migrace
Během několika sekund po výběru možnosti Zahájit ověření a migraci se zobrazí oznámení, že ověření nebo vytvoření migrace proběhlo úspěšně. Budete přesměrováni do podokna Migrace instance flexibilního serveru. Položka stavu je InProgress a podstate je PerformingPreRequisiteSteps. Nastavení infrastruktury migrace a kontrola síťových připojení trvá pracovní postup 2 až 3 minuty.
Mřížka, která zobrazuje migrace, má tyto sloupce:
- Název
- Stav
- Režim migrace
- Typ migrace
- Zdrojový server
- Typ zdrojového serveru
- Databáze
- Doba trvání
- Čas spuštění
Položky se zobrazují v sestupném pořadí počátečního času s nejnovější položkou v horní části. Stav ověření nebo spuštění migrace můžete aktualizovat výběrem možnosti Aktualizovat na řádku nabídek.
Podrobnosti o migraci
V seznamu migrací vyberte název migrace a zobrazte související podrobnosti.
Na kartě Nastavení vyberte možnost Ověřit a migrovat migraci. V tomto scénáři se ověření dokončí před zahájením migrace. Po dokončení dílčího stavu PerformingPreRequisiteSteps se pracovní postup přesune do dílčího stavu Ověření v průběhu .
Pokud dojde k chybám, migrace se přesune do stavu selhání .
Pokud je ověření dokončeno bez jakékoli chyby, migrace se spustí a pracovní postup se přesune do podstavu Migrace dat.
Podrobnosti ověření můžete zkontrolovat na úrovni instance a na úrovni databáze:
Ověření na úrovni instance:
- Zkontrolujte ověření související s kontrolou připojení zdrojové verze (kontrola parametru
PostgreSQL version >= 9.5
serveru), pokud jsou rozšíření povolená v parametrech serveru instance flexibilního serveru Azure Database for PostgreSQL.
- Zkontrolujte ověření související s kontrolou připojení zdrojové verze (kontrola parametru
Ověřování na úrovni databáze:
- Zkontrolujte ověření jednotlivých databází souvisejících s rozšířeními a podporou kolací na flexibilním serveru Azure Database for PostgreSQL.
Aktuální stav migrace a ověření můžete zobrazit v podokně podrobností o migraci.
Následující tabulky popisují některé možné stavy migrace a podstate.
Stavy migrace
Stát | Popis |
---|---|
InProgress | Nastavení infrastruktury migrace probíhá nebo probíhá skutečná migrace dat. |
Zrušeno | Migrace se zruší nebo odstraní. |
Neúspěch | Migrace se nezdařila. |
Ověření se nezdařilo. | Ověření se nezdařilo. |
Uspěl | Migrace proběhla úspěšně a byla dokončena. |
WaitingForUserAction | Platí jenom v online migracích. Čeká se na provedení přímé migrace uživatelem. |
Podstavy migrace
Podstate | Popis |
---|---|
ProvedeníPreRequisiteSteps | Nastavení infrastruktury probíhá pro migraci dat. |
Probíhá ověření | Probíhá ověřování. |
Migrace dat | Probíhá migrace dat. |
Dokončení migrace | Migrace je v posledních fázích dokončení. |
Dokončeno | Migrace je dokončena. |
Neúspěch | Migrace se nezdařila. |
Podstate ověření
Podstate | Popis |
---|---|
Neúspěch | Ověření nebylo úspěšné. |
Uspěl | Ověření je úspěšné. |
Upozorňující | Při ověřování se zobrazí upozornění. |
Zahájení přímé migrace
Pokud se zobrazí migrace a ověření a migrace , dokončení online migrace vyžaduje další krok zahájení přímé migrace. Po dokončení kopírování a klonování základních dat se migrace přesune do stavu WaitingForUserAction a podstate WaitingForCutoverTrigger . V tomto stavu může uživatel spustit přímou migraci z portálu výběrem migrace.
Před zahájením přímé migrace je důležité zajistit, aby:
- Zápisy do zdroje jsou zastaveny.
- Hodnota
latency
se sníží na 0 nebo se blíží 0.
Hodnotu můžete získat latency
v podokně podrobností o migraci:
Hodnota latency
označuje, kdy se cíl naposledy synchronizoval se zdrojem. V tomto okamžiku je možné zastavit zápis do zdroje a zahájit přímou migraci. Pokud je na zdrojovém serveru velký provoz, doporučujeme nejprve zastavit zápisy, latency
aby se mohl blížit 0. Pak spusťte přímou akci.
Operace přímé migrace použije všechny čekající změny ze zdroje na cíl a dokončí migraci. Pokud spustíte přímou akci, a to i s nenulovou hodnotou latency
, replikace se v daném okamžiku zastaví. Všechna data jsou ve zdroji, dokud se bod přímé migrace nepoužije na cíl. Pokud je například latence v přímé bodě 15 minut, použijí se pro cíl všechna změněná data za posledních 15 minut. Doba trvání přímé migrace závisí na backlogu změn, ke kterým došlo během těchto 15 minut. Proto doporučujeme, aby latence před aktivací přímé migrace přešla na nulu nebo téměř nulu.
Migrace se přesune do stavu Úspěch , když se úspěšně dokončí dílčí stav Migrace dat nebo přímá migrace (v online migraci). Pokud v podstavu Migrace dat dojde k potížím, migrace se přesune do stavu selhání .
Ověření migrace
Po dokončení migrace databáze ručně ověřte data mezi zdrojem a cílem. Ověřte, že všechny objekty v cílové databázi byly úspěšně vytvořeny.
Po migraci můžete dokončit tyto úlohy:
- Ověřte data na flexibilním serveru a ujistěte se, že se jedná o přesnou kopii zdrojové instance.
- Po ověření povolte možnost vysoké dostupnosti na flexibilním serveru podle potřeby.
- Změňte skladovou položku (verzi) flexibilního serveru tak, aby odpovídala potřebám vaší aplikace. Tato změna vyžaduje restartování databázového serveru.
- Pokud změníte parametry serveru z jejich výchozích hodnot ve zdrojové instanci, zkopírujte tyto hodnoty parametrů serveru na flexibilní server.
- Zkopírujte další nastavení serveru, jako jsou značky, výstrahy a pravidla brány firewall (pokud je to možné), ze zdrojové instance na flexibilní server.
- Proveďte změny aplikace tak, aby odkazy připojovací řetězec na flexibilní server.
- Pečlivě monitorujte výkon databáze a zjistěte, jestli vyžaduje ladění výkonu.