Delen via


Zelfstudie: RDS PostgreSQL online migreren naar Azure Database for PostgreSQL met behulp van DMS

Belangrijk

U wordt aangeraden de nieuwe migratieservice in Azure Database for PostgreSQL te gebruiken voor een meer gestroomlijnde en efficiënte migratie-ervaring. Deze service vereenvoudigt het proces door ondersteuning te bieden voor verschillende bronomgevingen, waardoor u probleemloos kunt overstappen naar Azure Database for PostgreSQL.

U kunt Azure Database Migration Service gebruiken om databases met minimale downtime te migreren van een RDS PostgreSQL-exemplaar naar Azure Database for PostgreSQL terwijl de brondatabase online blijft tijdens de migratie. Met andere woorden, de migratie is mogelijk met minimale downtime van de toepassing. In deze zelfstudie migreert u de DVD Rental voorbeelddatabase van een exemplaar van RDS PostgreSQL 9.6 naar Azure Database for PostgreSQL met behulp van de onlinemigratieactiviteit in Azure Database Migration Service.

In deze zelfstudie leert u het volgende:

  • Migreer het voorbeeldschema met behulp van het hulpprogramma pg_dump.
  • Maak een exemplaar van de Azure Database Migration Service.
  • Maak een migratieproject met behulp van Azure Database Migration Service.
  • De migratie uitvoeren.
  • Houd de migratie in de gaten.
  • Voer de migratie-cutover uit.

Als u Azure Database Migration Service gebruikt om een onlinemigratie uit te voeren, is het vereist dat u een exemplaar maakt op basis van de prijscategorie Premium. Zie de pagina met prijzen van Azure Database Migration Service voor meer informatie. De schijf wordt versleuteld om diefstal van gegevens tijdens het migratieproces te voorkomen.

Belangrijk

Voor een optimale migratie-ervaring raadt Microsoft u aan een exemplaar van de Azure Database Migration Service te maken in dezelfde Azure-regio als de doeldatabase. Het verplaatsen van gegevens naar regio's of geografieën kan het migratieproces vertragen en fouten veroorzaken.

Tip

In Azure Database Migration Service kunt u uw databases offline migreren of terwijl ze online zijn. Bij een offlinemigratie wordt de downtime van toepassingen gestart wanneer de migratie wordt gestart. Als u de downtime wilt beperken tot de tijd die nodig is om na de migratie over te gaan naar de nieuwe omgeving, gebruikt u een onlinemigratie . U wordt aangeraden een offlinemigratie te testen om te bepalen of de downtime acceptabel is. Als de verwachte downtime niet acceptabel is, voert u een onlinemigratie uit.

In dit artikel wordt beschreven hoe u een onlinemigratie uitvoert vanaf een on-premises exemplaar van PostgreSQL naar Azure Database for PostgreSQL.

Vereisten

Voor het voltooien van deze zelfstudie hebt u het volgende nodig:

  • Download en installeer PostgreSQL Community Edition 9.5, 9.6 of 10. De bronversie van PostgreSQL Server moet versie 9.5.11, 9.6.7, 10 of hoger zijn. Zie voor meer informatie het artikel Supported PostgreSQL Database Versions (Ondersteunde versies van de PostgreSQL-database).

    De doelversie van Azure Database for PostgreSQL moet gelijk zijn aan of hoger zijn dan de RDS PostgreSQL-versie. RDS PostgreSQL 9.6 kan bijvoorbeeld alleen worden gemigreerd naar Azure Database for PostgreSQL 9.6, 10 of 11 maar niet naar Azure Database for PostgreSQL 9.5.

  • Maak een exemplaar van Azure Database for PostgreSQL - Flexible Server.

  • Maak een Microsoft Azure Virtual Network voor Azure Database Migration Service met behulp van het Azure Resource Manager-implementatiemodel. Dit geeft site-naar-site-verbinding met uw on-premises bronservers met behulp van ExpressRoute of VPN. Voor meer informatie over het maken van een virtueel netwerk raadpleegt u de Documentatie over virtuele netwerken en dan met name de quickstart-artikelen met stapsgewijze informatie.

  • Zorg ervoor dat de regels voor uw virtuele netwerkbeveiligingsgroep de uitgaande poort 443 van ServiceTag voor ServiceBus, Storage en AzureMonitor niet blokkeren. Zie het artikel Netwerkverkeer filteren met netwerkbeveiligingsgroepen voor meer informatie over verkeer filteren van verkeer via de netwerkbeveiligingsgroep voor virtuele netwerken.

  • Configureer uw Windows Firewall voor toegang tot de database-engine.

  • Open uw Windows Firewall om Azure Database Migration Service toegang te geven tot de postgreSQL-bronserver, die standaard TCP-poort 5432 is.

  • Wanneer u een firewallapparaat voor uw brondatabases gebruikt, moet u mogelijk firewallregels toevoegen om de Azure Database Migration Service toegang te geven tot de brondatabases voor migratie.

  • Maak een firewallregel op serverniveau voor de Azure Database for PostgreSQL-server om Azure Database Migration Service toegang te bieden tot de doeldatabases. Geef het subnetbereik van het virtuele netwerk op dat wordt gebruikt voor Azure Database Migration Service.

AWS RDS PostgreSQL instellen voor replicatie

  1. Als u een nieuwe parametergroep wilt maken, volgt u de instructies van AWS in het artikel Working with DB Parameter Groups (Met DB-parametergroepen werken).

  2. Gebruik de naam van de hoofdgebruiker om vanuit Azure Database Migration Service verbinding te maken met de bron. Als u een ander account dan het hoofdgebruikersaccount gebruikt, moet het account beschikken over de rollen rds_superuser en rds_replication. De rol rds_replication verleent machtigingen voor het beheren van logische sleuven en het streamen van gegevens met behulp van logische sleuven.

  3. Maak een nieuwe parametergroep met de volgende configuratie:

    • Stel de rds.logical_replication parameter in uw DB-parametergroep in op 1.

    • max_wal_senders = [aantal gelijktijdige taken]. Met de max_wal_senders parameter wordt het aantal gelijktijdige taken ingesteld dat kan worden uitgevoerd. Aanbevolen instelling: 10.

    • max_replication_slots = [aantal sleuven]. Aanbevolen instelling: 5.

  4. Koppel de parametergroep die u hebt gemaakt aan het RDS PostgreSQL-exemplaar.

Het schema migreren

  1. Extraheer het schema uit de brondatabase en pas het toe op de doeldatabase om de migratie van alle databaseobjecten zoals tabelschema’s, indexen en opgeslagen procedures te voltooien.

    De eenvoudigste manier om alleen het schema te migreren, is pg_dump te gebruiken met de optie -s. Zie de voorbeelden in de zelfstudie voor Postgres pg_dump voor meer informatie.

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

    Gebruik bijvoorbeeld de volgende opdracht om een schemabestand te dumpen voor de database dvdrental:

    pg_dump -O -h localhost -U postgres -d dvdrental -s  > dvdrentalSchema.sql
    
  2. Maak een lege database in de doelservice. Dit is Azure Database for PostgreSQL- Flexibele server.

  3. Importeer het schema naar de doelservice (Azure Database for PostgreSQL). Voer de volgende opdracht uit om het schemadumpbestand te herstellen:

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

    Bijvoorbeeld:

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

    Notitie

    De migratieservice verwerkt intern de in-/uitschakelen van refererende sleutels en triggers om een betrouwbare en robuuste gegevensmigratie te garanderen. Als gevolg hiervan hoeft u zich geen zorgen te maken over het aanbrengen van wijzigingen in het doeldatabaseschema.

De resourceprovider registreren

Registreer de Microsoft.DataMigration-resourceprovider voordat u uw eerste Database Migration Service-exemplaar maakt.

  1. Meld u aan bij het Azure-portaal. Zoek en selecteer Abonnementen.

    Schermopname van Portalabonnementen weergeven.

  2. Selecteer het abonnement waarin u het Azure Database Migration Service-exemplaar wilt maken en selecteer vervolgens Resourceproviders.

    Schermopname van Resourceproviders weergeven.

  3. Zoek naar migratie en selecteer Registreren voor Microsoft.DataMigration.

    Schermopname van resourceprovider registreren.

Een exemplaar maken van Azure Database Migration Service

  1. Selecteer in Azure Portal + Een resource maken, zoek naar Azure Database Migration Service en selecteer vervolgens Azure Database Migration Service in de vervolgkeuzelijst.

    Schermopname van Azure Marketplace.

  2. Selecteer in het scherm Azure Database Migration ServiceMaken.

    Schermopname van het Azure Database Migration Service-exemplaar maken.

  3. Geef in het scherm Migratieservice maken een naam op voor de service, het abonnement en een nieuwe of bestaande resourcegroep.

  4. Selecteer de locatie waarop u het exemplaar van Azure Database Migration Service wilt maken.

  5. Selecteer een bestaand virtueel netwerk of maak een nieuw netwerk.

    Het virtuele netwerk biedt Azure Database Migration Service toegang tot het bronexemplaar van PostgreSQL en het doelexemplaar van Azure Database for PostgreSQL.

    Zie het artikel Een virtueel netwerk maken met de Azure-portal voor meer informatie over het maken van een virtueel netwerk in de Azure-portal.

  6. Selecteer een prijscategorie. Selecteer voor deze onlinemigratie de prijscategorie Premium: 4vCores.

    Schermopname van de instantie-instellingen van Azure Database Migration Service configureren.

  7. Selecteer Maken om de dienst te maken.

Een migratieproject maken

Nadat de service is gemaakt, zoek deze op in de Azure-portal, open hem en maak vervolgens een nieuw migratieproject.

  1. Selecteer in het Azure Portal Alle diensten, zoek naar Azure Database Migration Service, en selecteer vervolgens Azure Database Migration Service.

    Schermopname van Alle exemplaren van de Azure Database Migration Service zoeken.

  2. Zoek in het scherm Azure Database Migration Services naar de naam van het Azure Database Migration Service-exemplaar dat u hebt gemaakt, selecteer deze en selecteer vervolgens + Nieuw migratieproject.

  3. Geef in het scherm Nieuw migratieproject een naam op voor het project, selecteer in het tekstvak Bronservertype de optie AWS RDS voor PostgreSQL en selecteer in het tekstvak Doelservertype de optie Azure Database for PostgreSQL.

  4. Selecteer in de sectie Het type activiteit kiezen de optie Onlinegegevensmigratie.

    Belangrijk

    Selecteer Onlinegegevensmigratie. Offlinemigraties worden niet ondersteund voor dit scenario.

    Schermopname van Database Migration Service-project maken.

    U kunt ook Alleen project maken kiezen om het migratieproject nu te maken en de migratie later uit te voeren.

  5. Selecteer Opslaan.

  6. Selecteer Maken en uitvoeren van de activiteit om het project te maken en de migratieactiviteit uit te voeren.

    Noteer de vereisten die nodig zijn om onlinemigratie in te stellen in het deelvenster project maken.

Brondetails opgeven

Geef in het scherm Brondetails toevoegen de verbindingsgegevens op voor het bronexemplaar van PostgreSQL.

Schermopname van brondetails.

Doeldetails opgeven

  1. Selecteer Opslaan en geef vervolgens in het scherm Doeldetails de verbindingsgegevens op voor de Azure Database for PostgreSQL-doelserver. Dit is het vooraf ingerichte exemplaar waarin het schema DVD Rentals is geïmplementeerd met behulp van pg_dump.

    Schermopname van doeldetails.

  2. Selecteer Opslaan, en klik vervolgens in het scherm Toewijzen aan doeldatabases, wijs de bron- en de doeldatabase voor de migratie toe.

    Als de doeldatabase de naam van de dezelfde database als de bron-database bevat, wordt in Azure Database Migration Service de doeldatabase standaard geselecteerd.

    Schermopname van Toewijzen aan doeldatabases.

  3. Selecteer Opslaan, geef in het scherm Migratieoverzicht in het tekstvak Naam activiteit een naam op voor de migratieactiviteit en controleer het overzicht om ervoor te zorgen dat de bron- en doeldetails overeenkomen met wat u eerder hebt opgegeven.

    Schermopname van migratieoverzicht.

De migratie uitvoeren

Selecteer Migratie uitvoeren.

Het venster van de migratieactiviteit wordt weergegeven en de Status van de activiteit is Initialiseren.

De migratie bewaken

  1. Selecteer in het scherm van de activiteitenmigratie Vernieuwen om de weergave bij te werken totdat de Status van de migratie als Actief wordt weergegeven.

    Schermopname van de activiteitsstatus die wordt uitgevoerd.

  2. Selecteer onder DATABASENAAM een specifieke database om de migratiestatus voor de bewerkingen Alle gegevens worden geladen en Incrementele gegevenssynchronisatie te bekijken.

    Alle gegevens worden geladen toont de migratiestatus van de eerste lading terwijl Incrementele gegevenssynchronisatie de CDC-status (Change Data Capture) toont.

    Schermopname van het scherm Inventaris- volledige gegevensbelasting.

    Schermopname van het scherm Inventaris- incrementele gegevenssynchronisatie.

Migratie-cutover uitvoeren

Nadat de eerste volledige laadbewerking is voltooid, worden de databases gemarkeerd als Gereed voor cutover.

  1. Wanneer u klaar bent om de databasemigratie te voltooien, selecteert u Cutover starten.

  2. Wacht totdat het item Wijzigingen in behandeling wordt weergegeven 0 om ervoor te zorgen dat alle binnenkomende transacties naar de brondatabase zijn gestopt, schakel het selectievakje Bevestigen in en selecteer Vervolgens Toepassen.

    Schermopname van het scherm Complete cutover.

  3. Wanneer de databasemigratie de status Voltooid heeft, verbindt u uw toepassingen met de nieuwe doeldatabase voor Azure Database for PostgreSQL.

Uw onlinemigratie van een on-premises exemplaar van RDS PostgreSQL naar Azure Database for PostgreSQL is nu voltooid.