Kurz: Online migrace RDS PostgreSQL do Azure DB for PostgreSQL pomocí DMS

Azure Database Migration Service můžete použít k migraci databází z instance RdS PostgreSQL do Azure Database for PostgreSQL, zatímco zdrojová databáze zůstane během migrace online. Jinými slovy, migrace je možné dosáhnout s minimálními výpadky aplikace. V tomto kurzu migrujete ukázkovou databázi DVD z instance RDS PostgreSQL 9.6 do Azure Database for PostgreSQL pomocí aktivity online migrace v Azure Database Migration Service.

V tomto kurzu se naučíte:

  • Migrujte ukázkové schéma pomocí nástroje pg_dump.
  • Vytvořte instanci služby Azure Database Migration Service.
  • Vytvořte projekt migrace pomocí Azure Database Migration Service.
  • Spuštění migrace
  • Monitorujte migraci.
  • Proveďte přímou migraci.

Poznámka

Použití Azure Database Migration Service k provedení online migrace vyžaduje vytvoření instance na základě cenové úrovně Premium. Další informace najdete na stránce s cenami Azure Database Migration Service. Disk šifrujeme, abychom zabránili krádeži dat během procesu migrace.

Důležité

Aby migrace proběhla optimálním způsobem, doporučuje Microsoft vytvořit instanci služby Azure Database Migration Service ve stejné oblasti Azure, ve které je cílová databáze. Přenášení dat mezi oblastmi geografickými lokalitami může zpomalit proces migrace a způsobit chyby.

Tip

V Azure Database Migration Service můžete databáze migrovat offline nebo když jsou online. Při offline migraci začne výpadek aplikace při zahájení migrace. Pokud chcete omezit prostoje na dobu, za kterou po migraci přejdete do nového prostředí, použijte online migraci. Doporučujeme otestovat offline migraci, abyste zjistili, jestli je výpadek přijatelný. Pokud očekávaný výpadek není přijatelný, proveďte online migraci.

Tento článek popisuje, jak provést online migraci z místní instance PostgreSQL do Azure Database for PostgreSQL.

Požadavky

Pro absolvování tohoto kurzu je potřeba provést následující:

  • Stáhněte a nainstalujte PostgreSQL Community Edition 9.5, 9.6 nebo 10. Verze zdrojového serveru PostgreSQL musí být 9.5.11, 9.6.7, 10 nebo novější. Další informace najdete v článku Podporované verze databáze PostgreSQL.

    Všimněte si také, že cílová verze Azure Database for PostgreSQL musí být stejná jako verze RdS PostgreSQL nebo novější. Například RDS PostgreSQL 9.6 může migrovat jenom na Azure Database for PostgreSQL 9.6, 10 nebo 11, ale ne do Azure Database for PostgreSQL 9.5.

  • Vytvořte instanci Azure Database for PostgreSQL nebo Azure Database for PostgreSQL – Hyperscale (Citus). Podrobnosti o připojení k serveru PostgreSQL pomocí nástroje pgAdmin najdete v této části dokumentu.

  • Vytvořte Virtual Network Microsoft Azure pro Azure Database Migration Service pomocí modelu nasazení Azure Resource Manager, který poskytuje připojení site-to-site k místním zdrojovým serverům pomocí ExpressRoute nebo VPN. Další informace o vytvoření virtuální sítě najdete v dokumentaci k Virtual Network a zejména v článcích rychlý start s podrobnými podrobnostmi.

  • Ujistěte se, že pravidla skupiny zabezpečení virtuální sítě neblokují odchozí port 443 značky ServiceTag pro ServiceBus, Storage a AzureMonitor. Další podrobnosti o filtrování provozu NSG virtuální sítě najdete v článku Filtrování síťového provozu pomocí skupin zabezpečení sítě.

  • Nakonfigurujte bránu Windows Firewall pro přístup k databázovému stroji.

  • Otevřete bránu Windows Firewall a povolte Azure Database Migration Service přístup ke zdrojovému serveru PostgreSQL, což je ve výchozím nastavení port TCP 5432.

  • Pokud před zdrojovými databázemi používáte zařízení brány firewall, možná bude potřeba přidat pravidla brány firewall, která službě Azure Database Migration Service povolí přístup ke zdrojovým databázím za účelem migrace.

  • Vytvořte pravidlo brány firewall na úrovni serveru pro Azure Database for PostgreSQL server, které umožní Azure Database Migration Service přístup k cílovým databázím. Zadejte rozsah podsítě virtuální sítě používané pro Azure Database Migration Service.

Nastavení AWS RDS PostgreSQL pro replikaci

  1. Pokud chcete vytvořit novou skupinu parametrů, postupujte podle pokynů poskytovaných službou AWS v článku Práce se skupinami parametrů databáze.

  2. Pro připojení ke zdroji z Azure Database Migration Service použijte hlavní uživatelské jméno. Pokud používáte jiný účet než hlavní uživatelský účet, musí mít tento účet roli rds_superuser a rds_replication roli. Role rds_replication uděluje oprávnění ke správě logických slotů a streamování dat pomocí logických slotů.

  3. Vytvořte novou skupinu parametrů s následující konfigurací:

    a. Nastavte parametr rds.logical_replication ve skupině parametrů databáze na hodnotu 1.

    b. max_wal_senders =[počet souběžných úloh] – parametr max_wal_senders nastaví počet souběžných úloh, které se dají spustit, doporučí 10 úloh.

    c. max_replication_slots – = [počet slotů], doporučujeme nastavit na pět slotů.

  4. Přidružte skupinu parametrů, kterou jste vytvořili, k instanci RDS PostgreSQL.

Migrace schématu

  1. Extrahujte schéma ze zdrojové databáze a použijte cílovou databázi k dokončení migrace všech databázových objektů, jako jsou schémata tabulek, indexy a uložené procedury.

    Nejjednodušší způsob, jak migrovat pouze schéma, je použít pg_dump s možností -s. Další informace najdete v příkladech v kurzu pg_dump Postgres.

    pg_dump -O -h hostname -U db_username -d db_name -s > your_schema.sql
    

    Například k výpisu souboru schématu pro databázi dvdrental použijte následující příkaz:

    pg_dump -O -h localhost -U postgres -d dvdrental -s  > dvdrentalSchema.sql
    
  2. V cílové službě vytvořte prázdnou databázi, která je Azure Database for PostgreSQL. Pokud se chcete připojit a vytvořit databázi, přečtěte si jeden z následujících článků:

  3. Importujte schéma do cílové služby, která je Azure Database for PostgreSQL. Pokud chcete obnovit soubor s výpisem schématu, spusťte následující příkaz:

    psql -h hostname -U db_username -d db_name < your_schema.sql
    

    Příklad:

    psql -h mypgserver-20170401.postgres.database.azure.com  -U postgres -d dvdrental < dvdrentalSchema.sql
    

Poznámka

Služba Migration Service interně zpracovává povolení/zakázání cizích klíčů a triggery, aby byla zajištěna spolehlivá a robustní migrace dat. V důsledku toho si nemusíte dělat starosti s prováděním jakýchkoli úprav schématu cílové databáze.

Registrace poskytovatele prostředků

Než vytvoříte první instanci služby Database Migration Service, zaregistrujte poskytovatele prostředků Microsoft.DataMigration.

  1. Přihlaste se k webu Azure Portal. Vyhledejte a vyberte Předplatná.

    Zobrazení předplatných na portálu

  2. Vyberte předplatné, ve kterém chcete vytvořit instanci Azure Database Migration Service, a pak vyberte Poskytovatelé prostředků.

    Zobrazení poskytovatelů prostředků

  3. Vyhledejte migraci a pak vyberte Zaregistrovat proMicrosoft.DataMigration.

    Registrace poskytovatele prostředků

Vytvoření instance služby Azure Database Migration Service

  1. Na webu Azure Portal vyberte + Vytvořit prostředek, vyhledejte „Azure Database Migration Service“ a pak v rozevíracím seznamu vyberte Azure Database Migration Service.

    Azure Marketplace

  2. Na obrazovce Azure Database Migration Service vyberte Vytvořit.

    Vytvoření instance služby Azure Database Migration Service

  3. Na obrazovce Vytvořit službu Migration Service zadejte název služby, předplatné a novou nebo existující skupinu prostředků.

  4. Vyberte umístění, ve kterém chcete vytvořit instanci Azure Database Migration Service.

  5. Vyberte existující virtuální síť nebo vytvořte novou.

    Virtuální síť poskytuje Azure Database Migration Service přístup ke zdrojové instanci PostgreSQL a cílové instanci Azure Database for PostgreSQL.

    Další informace o tom, jak vytvořit virtuální síť v Azure Portal, najdete v článku Vytvoření virtuální sítě pomocí Azure Portal.

  6. Vyberte cenovou úroveň. pro tuto online migraci nezapomeňte vybrat cenovou úroveň Premium: 4vCores.

    Konfigurace nastavení instance služby Azure Database Migration Service

  7. Vyberte Vytvořit a vytvořte službu.

Vytvoření projektu migrace

Po vytvoření služby ji vyhledejte na webu Azure Portal, otevřete ji a pak vytvořte nový projekt migrace.

  1. Na webu Azure Portal vyberte Všechny služby, vyhledejte „Azure Database Migration Service“ a pak vyberte Služby Azure Database Migration Service.

    Vyhledání všech instancí služby Azure Database Migration Service

  2. Na obrazovce Azure Database Migration Services vyhledejte název Azure Database Migration Service instance, kterou jste vytvořili, vyberte instanci a pak vyberte + Nový projekt migrace.

  3. Na obrazovce Nový projekt migrace zadejte název projektu, v textovém poli Typ zdrojového serveru vyberte AWS RDS for PostgreSQL a pak v textovém poli Typ cílového serveru vyberte Azure Database for PostgreSQL.

  4. V části Zvolte typ aktivity vyberte Online migrace dat.

    Důležité

    Nezapomeňte vybrat Online migrace dat. offline migrace nejsou pro tento scénář podporovány.

    Vytvoření projektu Database Migration Service

    Poznámka

    Případně můžete zvolit Vytvořit projekt jenom a vytvořit projekt migrace teď a provést migraci později.

  5. Vyberte Uložit.

  6. Vyberte Vytvořit a spustit aktivitu a vytvořte projekt a spusťte aktivitu migrace.

    Poznámka

    V okně vytvoření projektu si poznamenejte požadavky potřebné k nastavení online migrace.

Zadání podrobností o zdroji

  • Na obrazovce Přidat podrobnosti o zdroji zadejte podrobnosti o připojení pro zdrojovou instanci PostgreSQL.

    Podrobnosti o zdroji

Zadání podrobností o cíli

  1. Vyberte Uložit a pak na obrazovce Podrobnosti cíle zadejte podrobnosti o připojení pro cílový Azure Database for PostgreSQL server, který je předem zřízený a má schéma Zapůjčení DVD nasazené pomocí pg_dump.

    Údaje o cíli

  2. Vyberte Uložit a pak na obrazovce Mapovat na cílové databáze namapujte zdrojovou a cílovou databázi pro migraci.

    Pokud cílová databáze obsahuje stejný název databáze jako zdrojová databáze, Azure Database Migration Service ve výchozím nastavení vybere cílovou databázi.

    Mapování na cílové databáze

  3. Vyberte Uložit, na obrazovce Shrnutí migrace do textového pole Název aktivity zadejte název aktivity migrace a pak zkontrolujte souhrnné informace a ujistěte se, že podrobnosti zdroje a cíle odpovídají dříve zadaným informacím.

    Souhrn migrace

Spuštění migrace

  • Vyberte Spustit migraci.

    Zobrazí se okno aktivity migrace a Stav aktivity bude Inicializace.

Monitorování migrace

  1. Na obrazovce aktivity migrace vyberte Aktualizovat a aktualizujte zobrazení, dokud se Stav migrace nezmění na Spuštěno.

    Stav aktivity – spuštěno

  2. V části NÁZEV DATABÁZE vyberte konkrétní databázi, abyste získali stav migrace operací Úplné načtení dat a Přírůstková synchronizace dat .

    Úplné načtení dat zobrazuje stav migrace počátečního načtení, zatímco přírůstková synchronizace dat zobrazuje stav zachytávání dat změn (CDC).

    Obrazovka inventáře – úplné načtení dat

    Obrazovka inventáře – přírůstková synchronizace dat

Provedení přímé migrace

Po dokončení počátečního úplného načtení se databáze označí jako Připraveno k přímé migraci.

  1. Jakmile budete připraveni dokončit migraci databází, vyberte Spustit přímou migraci.

  2. Počkejte, dokud se čítač čekajících změn zobrazí 0 , aby se zajistilo, že všechny příchozí transakce do zdrojové databáze jsou zastavené, zaškrtněte políčko Potvrdit a pak vyberte Použít.

    Kompletní obrazovka přímé migrace

  3. Když se u migrace databáze zobrazí stav Dokončeno, připojte aplikace k nové cílové Azure Database for PostgreSQL databázi.

Vaše online migrace místní instance RDS PostgreSQL do Azure Database for PostgreSQL je teď dokončená.

Další kroky