Share via


Zelfstudie: Migreren van AWS RDS PostgreSQL naar Azure Database for PostgreSQL met behulp van de migratieservice

VAN TOEPASSING OP: Azure Database for PostgreSQL - Flexibele server

In deze zelfstudie wordt u begeleid bij het migreren van een PostgreSQL-exemplaar van uw AWS RDS naar Azure Database for a PostgreSQL flexibele server met behulp van Azure Portal en Azure CLI.

De migratieservice in Azure Database for PostgreSQL is een volledig beheerde service die is geïntegreerd in Azure Portal en Azure CLI. Het is ontworpen om uw migratietraject naar flexibele Azure Database for PostgreSQL-server te vereenvoudigen.

  • Uw Flexibele Azure Database for PostgreSQL-server configureren
  • De migratietaak configureren
  • De migratie bewaken
  • De migratie annuleren
  • Na de migratie

Vereisten (offline)

Voordat u met de migratieservice in Azure Database for PostgreSQL begint, moet u voldoen aan de volgende vereisten, die van toepassing zijn op offlinemigratiescenario's.

De bronversie controleren

De bronversie van PostgreSQL moet zijn >= 9.5. Als de postgreSQL-bronversie kleiner is dan 9.5, voert u vóór de migratie een upgrade uit van de PostgreSQL-bronversie naar 9.5 of hoger.

Doelinstallatie

  • Azure Database for PostgreSQL moet vóór de migratie worden ingesteld in Azure.

  • De SKU die voor Azure Database for PostgreSQL is gekozen, moet overeenkomen met de specificaties van de brondatabase om compatibiliteit en adequate prestaties te garanderen.

  • Raadpleeg de volgende koppeling voor gedetailleerde instructies voor het maken van een nieuwe Azure Database for PostgreSQL: Quickstart: Server maken.

Netwerk instellen

De juiste netwerkconfiguratie is essentieel voor een geslaagde verbinding tussen de bron en het doel tijdens de migratie. Hier volgt een handleiding voor het tot stand brengen van de netwerkverbinding voor verschillende scenario's:

Netwerkvereisten voor migratie:

  • ExpressRoute/IPsec VPN/VPN-tunneling: bij het verbinden van uw on-premises/AWS-bron met Azure moet u mogelijk een ExpressRoute-, IPsec-VPN- of VPN-tunneling instellen om beveiligde gegevensoverdracht te vergemakkelijken.

  • VNET-peering: Peering van virtuele netwerken tot stand brengen tussen de twee afzonderlijke VNets om directe netwerkconnectiviteit mogelijk te maken, een vereiste voor migratie tussen de Virtuele Azure-machine en de Azure Database for PostgreSQL.

Verbinding maken iviteitsscenario's:

De volgende tabel kan helpen bij het instellen van het netwerk tussen de bron en het doel.

Source Target Verbinding maken iviteitstips
Openbaar Openbaar Er is geen andere actie vereist als de bron is opgenomen in de firewallregels van het doel.
Privé Openbaar Deze configuratie wordt niet ondersteund; gebruik pg_dump/pg_restore voor gegevensoverdracht.
Openbaar Persoonlijk Er is geen andere actie vereist als de bron is opgenomen in de firewallregels van het doel.
Privé Privé Stel een ExpressRoute-, IPsec-VPN-, VPN-tunneling of peering van virtuele netwerken tussen de bron en het doel in.
Privé Privé-eindpunt Deze configuratie wordt niet ondersteund; neem contact op met Microsoft Ondersteuning.

Aanvullende aandachtspunten voor netwerken:

  • pg_hba.conf-configuratie: om connectiviteit tussen de bron- en doelexemplaren van PostgreSQL te vergemakkelijken, is het essentieel om het bestand pg_hba.conf te verifiëren en te wijzigen. Dit bestand bevat clientverificatie en moet zo worden geconfigureerd dat de doelpostgreSQL verbinding kan maken met de bron. Voor wijzigingen in het bestand pg_hba.conf moet doorgaans opnieuw worden opgestart van het PostgreSQL-bronexemplaren.

Notitie

Het bestand pg_hba.conf bevindt zich in de gegevensmap van de PostgreSQL-installatie. Dit bestand moet worden gecontroleerd en geconfigureerd als de brondatabase een on-premises PostgreSQL-server of een PostgreSQL-server is die wordt gehost op een Azure-VM. Voor PostgreSQL-exemplaren op AWS RDS of vergelijkbare beheerde services is het bestand pg_hba.conf niet rechtstreeks toegankelijk of van toepassing. In plaats daarvan wordt de toegang beheerd via de geleverde beveiligings- en netwerktoegangsconfiguraties van de service.

Ga naar de netwerkhandleiding voor migratieservice in Azure Database for PostgreSQL - Flexible Server voor meer informatie over het instellen van netwerken.

Uitbreidingen

Extensies zijn extra functies die kunnen worden toegevoegd aan PostgreSQL om de functionaliteit ervan te verbeteren. Extensies worden ondersteund in Azure Database for PostgreSQL, maar moeten handmatig worden ingeschakeld. Volg deze stappen om extensies in te schakelen:

  • Gebruik de opdracht Selecteren in de bron om alle extensies weer te geven die worden gebruikt - select extname,extversion from pg_extension;

  • Zoek naar de serverparameter azure.extensions op de pagina Serverparameter op uw Azure Database for PostgreSQL. Schakel de extensies in de bron in PostgreSQL in.

  • Sla de parameterwijzigingen op en start de Azure Database for PostgreSQL opnieuw om zo nodig de nieuwe configuratie toe te passen.

    Schermopname van extensies.

  • Controleer of de lijst een van de volgende extensies bevat:

    • PG_CRON
    • PG_HINT_PLAN
    • PG_PARTMAN_BGW
    • PG_PREWARM
    • PG_STAT_STATEMENTS
    • PG_AUDIT
    • PGLOGICAL
    • WAL2JSON

Zo ja, zoekt u op de pagina met serverparameters naar de parameter shared_preload_libraries. Deze parameter geeft de set extensiebibliotheken aan die vooraf zijn geladen bij het opnieuw opstarten van de server.

Gebruikers en rollen

Wanneer u migreert naar Azure Database for PostgreSQL, is het essentieel om de migratie van gebruikers en rollen afzonderlijk aan te pakken, omdat hiervoor handmatige tussenkomst is vereist:

  • Handmatige migratie van gebruikers en rollen: gebruikers en hun bijbehorende rollen moeten handmatig worden gemigreerd naar azure Database for PostgreSQL. Om dit proces te vergemakkelijken, kunt u het pg_dumpall hulpprogramma met de --globals-only vlag gebruiken om globale objecten, zoals rollen en gebruikersaccounts, te exporteren. Voer de volgende opdracht uit, waarbij u <<username>> de werkelijke gebruikersnaam en <<filename>> de gewenste naam van het uitvoerbestand vervangt:

    pg_dumpall --globals-only -U <<username>> -f <<filename>>.sql
    
  • Beperking voor Superuser-rollen: Azure Database for PostgreSQL biedt geen ondersteuning voor supergebruikersrollen. Daarom moeten gebruikers met supergebruikersbevoegdheden deze bevoegdheden vóór de migratie verwijderen. Zorg ervoor dat u de machtigingen en rollen dienovereenkomstig aanpast.

Door deze stappen te volgen, kunt u ervoor zorgen dat gebruikersaccounts en -rollen correct worden gemigreerd naar Azure Database for PostgreSQL zonder problemen met betrekking tot supergebruikersbeperkingen.

Serverparameters

Deze parameters worden niet automatisch gemigreerd naar de doelomgeving en moeten handmatig worden geconfigureerd.

  • Koppel de serverparameterwaarden van de PostgreSQL-brondatabase aan de Azure Database for PostgreSQL door toegang te krijgen tot de sectie Serverparameters in Azure Portal en de waarden dienovereenkomstig handmatig bij te werken.

  • Sla de parameterwijzigingen op en start de Azure Database for PostgreSQL opnieuw om zo nodig de nieuwe configuratie toe te passen.

Hoge beschikbaarheid (betrouwbaarheid) en leesreplica's in het doel uitschakelen

  • Het uitschakelen van hoge beschikbaarheid (betrouwbaarheid) en leesreplica's in de doelomgeving is essentieel. Deze functies moeten alleen worden ingeschakeld nadat de migratie is voltooid.

  • Door deze richtlijnen te volgen, kunt u een soepel migratieproces garanderen zonder de toegevoegde variabelen die zijn geïntroduceerd door HA en Leesreplica's. Zodra de migratie is voltooid en de database stabiel is, kunt u doorgaan met het inschakelen van deze functies om de beschikbaarheid en schaalbaarheid van uw databaseomgeving in Azure te verbeteren.

U kunt migreren met behulp van Azure Portal.

De migratietaak configureren

De migratieservice wordt geleverd met een eenvoudige, wizardgebaseerde ervaring in Azure Portal.

  1. Open uw webbrowser en ga naar de portal. Voer uw referenties in om u aan te melden. De standaardweergave is uw service-dashboard.

  2. Ga naar uw Flexibele PostgreSQL-server in Azure Database for the PostgreSQL.

  3. Schuif op het tabblad Overzicht van de flexibele server in het linkermenu omlaag naar Migratie en selecteer deze.

    Schermopname van de migratieselectie.

  4. Selecteer de knop Maken om van AWS RDS naar een flexibele server te migreren.

    Notitie

    De eerste keer dat u de migratieservice gebruikt, wordt er een leeg raster weergegeven met een prompt om uw eerste migratie te starten.

    Als migraties naar uw flexibele serverdoel al zijn gemaakt, bevat het raster nu informatie over geprobeerde migraties.

  5. Selecteer de knop Maken om een reeks tabbladen op basis van een wizard te doorlopen om een migratie uit te voeren.

    Schermopname van de pagina migratie maken.

Instellingen

Het eerste tabblad is het tabblad Setup.

De gebruiker moet meerdere details opgeven met betrekking tot de migratie, zoals de migratienaam, het type bronserver, de optie en de modus.

  • De migratienaam is de unieke id voor elke migratie naar dit flexibele serverdoel. Dit veld accepteert alleen alfanumerieke tekens en accepteert geen speciale tekens, behalve een afbreekstreepje (-). De naam kan niet beginnen met een afbreekstreepje en moet uniek zijn voor een doelserver. Er kunnen geen twee migraties naar hetzelfde flexibele serverdoel dezelfde naam hebben.

  • Bronservertype : afhankelijk van uw PostgreSQL-bron, kunt u AWS RDS voor PostgreSQL selecteren.

  • Migratieoptie : hiermee kunt u validaties uitvoeren voordat u een migratie activeert. U kunt een van de volgende opties kiezen

    • Valideren : controleert de gereedheid van uw server en database voor migratie naar het doel.
    • Migreren : slaat validaties over en start migraties.
    • Valideren en migreren : voert validatie uit voordat een migratie wordt geactiveerd. Migratie wordt geactiveerd als er geen validatiefouten zijn.
      • Het kiezen van de optie Valideren of Valideren en migreren is altijd een goede gewoonte om premigratievalidaties uit te voeren voordat u de migratie uitvoert.

Ga naar premigratie voor meer informatie over de premigratievalidatie.

  • Met de migratiemodus kunt u de modus voor de migratie kiezen. Offline is de standaardoptie.

Selecteer de knop Volgende: Verbinding maken naar bron.

Schermopname van de pagina voor het instellen van de migratie.

Verbinding maken naar de bron

De Verbinding maken naar het tabblad Bron vraagt u om details te geven met betrekking tot de bron die is geselecteerd op het tabblad Setup, de bron van de databases.

  • Servernaam : geef de hostnaam of het IP-adres van het postgreSQL-bronexemplaren op

  • Poort - Poortnummer van de bronserver

  • Aanmeldingsnaam van de serverbeheerder - Gebruikersnaam van de postgreSQL-bronserver

  • Wachtwoord - Wachtwoord van de PostgreSQL-bronserver

  • SSL-modus : ondersteunde waarden hebben de voorkeur en zijn vereist. Wanneer de SSL op de PostgreSQL-bronserver IS UITGESCHAKELD, gebruikt u de SSLMODE=voorkeur. Als de SSL op de bronserver ON is, gebruikt u SSLMODE=require. SSL-waarden kunnen worden bepaald in het bestand postgresql.conf.

  • Test Verbinding maken ion: voert de connectiviteitstest tussen doel en bron uit. Zodra de verbinding tot stand is gebracht, kunnen gebruikers doorgaan met de volgende stap; ze moeten de netwerkproblemen tussen het doel en de bron identificeren en de gebruikersnaam/het wachtwoord voor de bron verifiëren. Testverbinding duurt enkele minuten om een verbinding tot stand te brengen tussen het doel en de bron.

Selecteer na de geslaagde testverbinding de knop Volgende: Migratiedoel selecteren .

Schermopname van de pagina Verbinding maken met de bron.

Verbinding maken naar het doel

Op het tabblad Migratiedoel selecteren worden metagegevens weergegeven voor het flexibele serverdoel, zoals abonnementsnaam, resourcegroep, servernaam, locatie en PostgreSQL-versie.

  • Beheer gebruikersnaam - Beheer gebruikersnaam van de PostgreSQL-doelserver

  • Wachtwoord - Wachtwoord van de PostgreSQL-doelserver

  • Test Verbinding maken ion: voert de connectiviteitstest tussen doel en bron uit. Zodra de verbinding is geslaagd, kunnen gebruikers doorgaan met de volgende stap. Anders moeten we de netwerkproblemen tussen het doel en de bron identificeren en de gebruikersnaam/het wachtwoord voor het doel verifiëren. Testverbinding duurt enkele minuten om een verbinding tot stand te brengen tussen het doel en de bron

Selecteer na de geslaagde testverbinding de volgende: Database(s) selecteren voor migratie

Schermopname van de pagina verbinding maken met de doelmigratie.

Databases selecteren voor migratie

Op het tabblad Database selecteren voor migratie kunt u een lijst kiezen met gebruikersdatabases die u wilt migreren vanaf de PostgreSQL-bronserver.
Nadat u de databases hebt geselecteerd, selecteert u de volgende:samenvatting

Schermopname van de fetchDB-migratiepagina.

Samenvatting

Het tabblad Samenvatting bevat een overzicht van alle bron- en doeldetails voor het maken van de validatie of migratie. Controleer de details en selecteer de knop Validatie en migratie starten.

Schermopname van de overzichtsmigratiepagina.

De migratie bewaken

Nadat u de knop Validatie en migratie starten hebt geselecteerd, verschijnt er een melding over een paar seconden om te zeggen dat de validatie of het maken van de migratie is geslaagd. U wordt automatisch omgeleid naar de pagina Migratie van flexibele server. De vermelding heeft de status InProgress en de substate PerformingPreRequisiteSteps . De werkstroom duurt 2-3 minuten om de migratie-infrastructuur in te stellen en netwerkverbindingen te controleren.

Schermopname van de migratiepagina van de monitor.

Het raster waarin de migraties worden weergegeven, bevat deze kolommen: Naam, Status, Migratiemodus, Migratietype, Bronserver, Bronservertype, Databases, Duur en Begintijd. De vermeldingen worden weergegeven in aflopende volgorde van de begintijd, met de meest recente vermelding bovenaan. U kunt de knop Vernieuwen gebruiken om de status van de validatie of migratieuitvoering te vernieuwen.

Migratiedetails

Selecteer de migratienaam in het raster om de bijbehorende details weer te geven.

Op het tabblad Setup hebben we de migratieoptie gevalideerd en migreren geselecteerd. In dit scenario worden validaties eerst uitgevoerd voordat de migratie wordt gestart. Nadat het substraat PerformingPreRequisiteSteps is voltooid, wordt de werkstroom verplaatst naar het substraat van Validatie in uitvoering.

  • Als de validatie fouten bevat, wordt de migratie verplaatst naar de status Mislukt .

  • Als de validatie zonder fouten is voltooid, wordt de migratie gestart en wordt de werkstroom verplaatst naar de substatus van Gegevens migreren.

Validatiedetails zijn beschikbaar op exemplaar- en databaseniveau.

  • Validatie op exemplaarniveau

    • Bevat validatie met betrekking tot de connectiviteitscontrole, bronversie, dat wil gezegd PostgreSQL-versie >= 9.5, serverparametercontrole, dat wil gezegd, als de extensies zijn ingeschakeld in de serverparameters van de Flexibele server van Azure Database for PostgreSQL.
  • Validatie op databaseniveau

    • Het bevat validatie van de afzonderlijke databases die betrekking hebben op extensies en sorteringen in Azure Database for PostgreSQL, een flexibele server.

U kunt de validatie en de migratiestatus bekijken op de pagina met migratiedetails.

Schermopname van de details met validatie en migratie.

Mogelijke migratiestatussen zijn:

  • InProgress: de installatie van de migratie-infrastructuur wordt uitgevoerd of de werkelijke gegevensmigratie wordt uitgevoerd.
  • Geannuleerd: de migratie wordt geannuleerd of verwijderd.
  • Mislukt: de migratie is mislukt.
  • Validatie mislukt : de validatie is mislukt.
  • Geslaagd: de migratie is voltooid en is voltooid.
  • WaitingForUserAction: alleen van toepassing voor onlinemigratie. Wacht totdat de actie van de gebruiker cutover uitvoert.

Mogelijke migratiesubstates zijn:

  • PerformingPreRequisiteSteps: De installatie van de infrastructuur wordt uitgevoerd voor gegevensmigratie.
  • Validatie wordt uitgevoerd: validatie wordt uitgevoerd.
  • MigrationingData: Gegevensmigratie wordt uitgevoerd.
  • CompletingMigration: Migratie bevindt zich in de laatste fasen van voltooiing.
  • Voltooid: de migratie is voltooid.
  • Mislukt: migratie is mislukt.

Mogelijke validatiesubstates zijn:

  • Mislukt: validatie is mislukt.
  • Geslaagd: validatie is geslaagd.
  • Waarschuwing: validatie bevindt zich in Waarschuwing. Waarschuwingen zijn informatieve berichten die u moet onthouden tijdens het plannen van de migratie.

De migratie annuleren met behulp van de portal

U kunt lopende validaties of migraties annuleren. De werkstroom moet de status InProgress hebben om te worden geannuleerd. U kunt een validatie of migratie die de status Geslaagd of Mislukt heeft niet annuleren.

  • Als u een validatie annuleert, wordt verdere validatieactiviteit gestopt en wordt de validatie verplaatst naar de status Geannuleerd.
  • Als u een migratie annuleert, wordt verdere migratieactiviteit op uw doelserver gestopt en wordt de status Geannuleerd . Met de actie Annuleren worden alle wijzigingen die door de migratieservice op uw doelserver zijn aangebracht, teruggedraaid.

Na de migratie

Nadat u de databases hebt voltooid, moet u de gegevens tussen de bron en het doel handmatig valideren en controleren of alle objecten in de doeldatabase zijn gemaakt.

Na de migratie kunt u de volgende taken uitvoeren:

  • Controleer de gegevens op uw flexibele server en zorg ervoor dat dit een exacte kopie is van het bronexemplaar.

  • Schakel na verificatie de optie voor hoge beschikbaarheid in op uw flexibele server indien nodig.

  • Wijzig de SKU van de flexibele server zodat deze overeenkomt met de toepassingsbehoeften. Voor deze wijziging moet de databaseserver opnieuw worden opgestart.

  • Als u serverparameters wijzigt van de standaardwaarden in het bronexemplaar, kopieert u die serverparameterwaarden in de flexibele server.

  • Kopieer andere serverinstellingen, zoals tags, waarschuwingen en firewallregels (indien van toepassing) van het bronexemplaar naar de flexibele server.

  • Breng wijzigingen aan in uw toepassing om de verbindingsreeks s te laten verwijzen naar een flexibele server.

  • Bewaak de prestaties van de database nauwkeurig om te zien of er prestatieafstemming nodig is.