Dela via


Självstudie: Migrera online från Amazon Aurora PostgreSQL till Azure Database for PostgreSQL med migreringstjänsten

Den här artikeln beskriver hur du migrerar din PostgreSQL-databas från Amazon Aurora till Azure Database for PostgreSQL online.

Migreringstjänsten i Azure Database for PostgreSQL är en fullständigt hanterad tjänst som är integrerad i Azure Portal och Azure CLI. Den är utformad för att förenkla migreringsresan till Azure Database for PostgreSQL.

I den här kursen får du:

  • Fullständiga krav
  • Initiera migreringen
  • Övervaka migreringen
  • Initiera en snabb
  • Verifiera migreringen

Förutsättningar

Innan du påbörjar en migrering med hjälp av migreringstjänsten i Azure Database for PostgreSQL är det viktigt att du uppfyller följande krav. Dessa förutsättningar är särskilt utformade för onlinemigreringsscenarier.

Verifiera källversionen

PostgreSQL-källserverversionen måste vara 9.5 eller senare. Om postgreSQL-källversionen är tidigare än 9.5 uppgraderar du versionen till 9.5 eller senare innan du påbörjar migreringen.

Installera test_decoding för källkonfiguration

  • Plugin-programmet test_decoding tar emot write-ahead-loggning (WAL) via den logiska avkodningsmekanismen. Plugin-programmet avkodar WAL till textrepresentationer av de åtgärder som utförs.
  • I Amazon RDS för PostgreSQL är plugin-programmet test_decoding förinstallerat och redo för logisk replikering. Du kan enkelt konfigurera logiska replikeringsfack och strömma WAL-ändringar, till exempel för ändringsdatainsamling (CDC) eller för replikering till externa system.

Mer information om plugin-programmet test_decoding finns i PostgreSQL-dokumentationen.

Konfigurera målkonfigurationen

Innan du påbörjar migreringen måste du skapa en instans av Azure Database for PostgreSQL i Azure. Den SKU som har etablerats för Azure Database for PostgreSQL – flexibel server ska matcha källan.

Mer information finns i Skapa en instans av Azure Database for PostgreSQL – flexibel server.

Aktivera CDC som källa

  • Plugin-programmet test_decoding logisk avkodning samlar in ändrade poster från källan.

  • Kör följande kommando för att tillåta migreringsanvändaren att komma åt replikeringsbehörigheter:

    GRANT rds_replication TO <username>;
    
  • I PostgreSQL-källinstansen ändrar du följande parametrar i parametergruppen för databaskluster genom att skapa en ny parametergrupp:

    • Ställ in rds.logical_replication1.
    • Ange max_replication_slots till ett värde som är större än 1. Värdet ska vara större än det antal databaser som du väljer för migrering.
    • Ange max_wal_senders till ett värde som är större än 1. Det bör vara minst samma värde som värdet för max_replication_slots, plus antalet avsändare som redan används i din instans.
    • Parametern wal_sender_timeout avslutar inaktiva replikeringsanslutningar som är längre än det angivna antalet millisekunder. Standardvärdet för en Amazon Aurora PostgreSQL-instans är 30000 milliseconds (30 seconds). Om du anger värdet till 0 (zero) inaktiveras tidsgränsmekanismen och är en giltig inställning för migrering.
  • För att förhindra att onlinemigreringen tar slut på lagring för att lagra loggarna på den flexibla målservern ska du se till att du har tillräckligt med lagringsutrymme i tabellområdet med hjälp av en etablerad hanterad disk. Inaktivera serverparametern azure.enable_temp_tablespaces_on_local_ssd under hela migreringen. Återställ parametern till det ursprungliga tillståndet efter migreringen.

Konfigurera nätverkskonfigurationen

Nätverkskonfigurationen är avgörande för att migreringstjänsten ska fungera korrekt. Kontrollera att PostgreSQL-källservern kan kommunicera med målservern i Azure Database for PostgreSQL.

Information om nätverkskonfiguration finns i Nätverksscenarier för migreringstjänsten.

Aktivera tillägg

För att säkerställa en lyckad migrering med hjälp av migreringstjänsten i Azure Database for PostgreSQL kan du behöva verifiera tillägg till postgreSQL-källinstansen. Tillägg innehåller funktioner och funktioner som kan krävas för ditt program. Kontrollera att du verifierar tilläggen på PostgreSQL-källinstansen innan du påbörjar migreringsprocessen.

I målinstansen av Azure Database for PostgreSQL – flexibel server aktiverar du tillägg som stöds som identifieras i postgreSQL-källinstansen.

Mer information finns i Tillägg i Azure Database for PostgreSQL.

Kommentar

En omstart krävs när du gör ändringar i parametern shared_preload_libraries .

Kontrollera serverparametrar

Serverparametrar migreras inte automatiskt till målmiljön och måste konfigureras manuellt.

  • Matcha serverparametervärden från PostgreSQL-källdatabasen till instansen av Azure Database for PostgreSQL. I Azure Portal går du till Serverparametrar och uppdaterar värdena manuellt.

  • Spara parameterändringarna och starta om instansen av Azure Database for PostgreSQL för att tillämpa den nya konfigurationen om det behövs.

Kontrollera användare och roller

När du migrerar till Azure Database for PostgreSQL är det viktigt att hantera migreringen av användare och roller separat eftersom de kräver manuella åtgärder.

  • Manuell migrering av användare och roller: Användare och deras associerade roller måste migreras manuellt till instansen av Azure Database for PostgreSQL. För att underlätta den här processen kan du använda verktyget pg_dumpall med --globals-only flaggan för att exportera globala objekt som roller och användarkonton.

    Kör följande kommando. Ersätt <username> med det faktiska användarnamnet och ersätt <filename> med det namn som du vill använda för utdatafilen.

    pg_dumpall --globals-only -U <username> -f <filename>.sql
    
  • Begränsning av superanvändarroller: Azure Database for PostgreSQL stöder inte superanvändarroller. Superanvändarbehörigheter måste tas bort före migreringen. Se till att du justerar behörigheterna och rollerna i enlighet med detta.

Genom att utföra de här stegen kan du se till att användarkonton och roller migreras korrekt till Azure Database for PostgreSQL utan problem som rör begränsningar för superanvändare.

Inaktivera hög tillgänglighet (tillförlitlighet) och läsrepliker i målet

Det är viktigt att du inaktiverar hög tillgänglighet (tillförlitlighet) och läsrepliker i målmiljön innan du påbörjar migreringen. Dessa funktioner bör aktiveras först när migreringen har slutförts.

Initiera migreringen

Du kan migrera med hjälp av Azure Portal eller Azure CLI.

Azure Portal erbjuder en enkel och intuitiv guidebaserad upplevelse som vägleder dig genom migrering. Genom att slutföra de steg som beskrivs i den här självstudien kan du sömlöst överföra databasen till Azure Database for PostgreSQL – flexibel server och dra nytta av dess kraftfulla funktioner och skalbarhet.

Om du vill migrera med hjälp av Azure Portal konfigurerar du först migreringsuppgiften. Anslut sedan till källan och målet och initiera migreringen.

Konfigurera migreringsuppgiften

Så här konfigurerar du migreringsuppgiften i Azure Portal:

  1. Öppna webbläsaren och gå till Azure Portal. Ange dina autentiseringsuppgifter för att logga in.

  2. Gå till din instans av Azure Database for PostgreSQL – flexibel server.

  3. På tjänstmenyn väljer du Migrering.

    Skärmbild av migreringsvalet.

  4. Välj Skapa för att migrera från Amazon Aurora till en flexibel server.

    Första gången du använder migreringstjänsten visas ett tomt rutnät med en uppmaning om att påbörja din första migrering. Om migreringar till ditt flexibla servermål redan har skapats innehåller rutnätet information om migreringsförsök.

  5. Välj Skapa för att gå igenom en serie flikar för att konfigurera en migrering.

    creenshot av migreringsvalet i Azure Portal.

Ställ in

Ange eller välj följande information:

  • Migreringsnamn: Ange en unik identifierare för varje migrering till det här flexibla servermålet. Du kan bara använda alfanumeriska tecken och bindestreck (-) i migreringsnamnet. Namnet kan inte börja med ett bindestreck och det måste vara unikt för en målserver. Inga två migreringar till samma flexibla servermål kan ha samma namn.

  • Källservertyp: Välj den källtyp som motsvarar din PostgreSQL-källa, till exempel en molnbaserad PostgreSQL-tjänst, en lokal installation eller en virtuell dator.

  • Migreringsalternativ: Välj något av följande alternativ för en validering före utvandring:

    • Verifiera. Kontrollerar serverns och databasens beredskap för migrering till målkällan.
    • Migrera. Hoppar över valideringar och startar migreringen.
    • Verifiera och migrera. Utför validering innan en migrering utlöses. Om det inte finns några verifieringsfel utlöses migreringen.

    En bra idé är att välja alternativet Verifiera eller verifiera och migrera för validering före utvandring.

    Mer information finns i Verifiering av förflyttning.

  • Migreringsläge: Välj läget för migreringen. Standardalternativet är Offline.

Välj Nästa: Anslut till källan.

Skärmbild av fliken Installation av migrering i Azure Portal.

Välj körningsservern

Migreringskörningsservern är en specialiserad funktion i migreringstjänsten. Körningsservern fungerar som en mellanliggande server under migreringen. Det är en separat instans av Azure Database for PostgreSQL – flexibel server som inte är målservern. Körningsservern underlättar migrering av databaser från en källmiljö som endast är tillgänglig via ett privat nätverk.

Mer information finns i Migreringskörningsserver.

Skärmbild av fliken Migreringskörningsserver.

Ansluta till källan

På fliken Anslut till källa anger eller väljer du följande information för databaskällan:

  • Servernamn: Ange värdnamnet eller IP-adressen för postgreSQL-källinstansen.
  • Port: Ange källserverns portnummer.
  • Inloggningsnamn för serveradministratör: Ange användarnamnet för PostgreSQL-källservern.
  • Lösenord: Ange lösenordet för PostgreSQL-källservern.
  • SSL-läge: Värden som stöds är Föredrar och Kräv. När Secure Sockets Layer (SSL) på PostgreSQL-källservern är inaktiverat väljer du Föredrar. Om SSL på källservern är på väljer du Kräv. SSL-värden anges i filen postgresql.conf .
  • Testanslutning: Initierar ett anslutningstest mellan målet och källan. När anslutningen lyckas går du till nästa steg för att identifiera nätverksproblem mellan målet och källan och verifiera användarnamnet och lösenordet för källan. Det tar några minuter att upprätta en testanslutning.

Efter en lyckad testanslutning väljer du Nästa: Välj migreringsmål.

Skärmbild av fliken Anslut till källa.

Välj migreringsmålet

På fliken Välj migreringsmål anger eller väljer du följande information för det flexibla servermålet, förutom prenumeration, resursgrupp och servernamn:

  • Administratörsanvändarnamn: Administratörsanvändarnamnet för PostgreSQL-målservern.
  • Lösenord: Lösenordet för PostgreSQL-målservern.
  • Anpassat FQDN/IP (valfritt): Det anpassade FQDN/IP-fältet är valfritt och kan användas när målet ligger bakom en anpassad DNS-server eller har anpassade DNS-namnområden, vilket gör det endast tillgängligt via specifika FQDN eller IP-adresser. Detta kan till exempel innehålla poster som flexibleserver.example.com, 198.1.0.2eller ett PostgreSQL FQDN, flexibleserver.postgres.database.azure.comtill exempel , om den anpassade DNS-servern innehåller DNS-zonen postgres.database.azure.com eller vidarebefordrar frågor för den här zonen till 168.63.129.16, där FQDN löses i den offentliga eller privata DNS-zonen i Azure.
  • Testanslutning: Initierar ett anslutningstest mellan målet och källan. När anslutningen lyckas går du till nästa steg för att identifiera nätverksproblem mellan målet och källan och verifiera användarnamnet och lösenordet för målservern. Det tar några minuter att upprätta en testanslutning.

Efter en lyckad testanslutning väljer du Nästa: Välj databaser för migrering.

Skärmbild av fliken Anslut målmigrering.

Välj databaser för migrering

På fliken Välj databas för migrering väljer du från en lista över användardatabaser som ska migreras från postgreSQL-källservern.

När du har valt databaserna väljer du Nästa: Sammanfattning.

Skärmbild av fliken Välj databaser för migrering.

Sammanfattning

Fliken Sammanfattning sammanfattar all käll- och målinformation för att skapa verifieringen eller migreringen. Granska informationen och välj sedan Starta validering och migrering.

Skärmbild av fliken Migreringssammanfattning.

Övervaka migreringen

Inom några sekunder efter att du har valt Starta validering och migrering verkar ett meddelande säga att verifieringen eller migreringen har skapats. Du omdirigeras till fönstret Flexibel serverinstansmigrering. Tillståndsposten är InProgress och undertillståndet är PerformingPreRequisiteSteps. Arbetsflödet tar 2 till 3 minuter att konfigurera migreringsinfrastrukturen och kontrollera nätverksanslutningar.

Skärmbild av fönstret Övervaka migrering.

Rutnätet som visar migreringarna har följande kolumner:

  • Namn
  • Status
  • Migreringsläge
  • Migreringstyp
  • Källserver
  • Typ av källserver
  • Databaser
  • Varaktighet
  • Starttid

Posterna visas i fallande ordning efter starttid, med den senaste posten överst. Du kan välja Uppdatera i menyraden för att uppdatera statusen för verifierings- eller migreringskörningen.

Information om migrering

I listan över migreringar väljer du namnet på en migrering för att se associerad information.

På fliken Installation väljer du migreringsalternativet Verifiera och migrera. I det här scenariot slutförs valideringarna innan migreringen startar. När undertillståndet PerformingPreRequisiteSteps har slutförts flyttas arbetsflödet till undertillståndet Validering i pågår .

  • Om verifieringen har fel flyttas migreringen till ett feltillstånd .

  • Om verifieringen är klar utan fel startar migreringen och arbetsflödet flyttas till undertillståndet Migrera data.

Du kan kontrollera verifieringsinformationen på instansnivå och på databasnivå:

  • Validering på instansnivå:

    • Kontrollera verifieringen som är relaterad till anslutningskontrollen för källversionen ( PostgreSQL version >= 9.5 kontroll av serverparametern) om tilläggen är aktiverade i serverparametrarna för instansen av Azure Database for PostgreSQL – flexibel server.
  • Verifiering på databasnivå:

    • Kontrollera valideringen av de enskilda databaser som är relaterade till tillägg och sorteringsstöd i Azure Database for PostgreSQL – flexibel server.

Du kan se aktuell status för migrering och validering i fönstret migreringsinformation.

Skärmbild av informationsmigrering.

I följande tabeller beskrivs några möjliga migreringstillstånd och undertillstånd.

Migreringstillstånd

Stat/län beskrivning
InProgress Installationen av migreringsinfrastrukturen pågår eller så pågår den faktiska datamigreringen.
Avbruten Migreringen avbryts eller tas bort.
Misslyckades Migreringen misslyckades.
Verifieringen misslyckades Verifieringen misslyckades.
Lyckades Migreringen lyckades och har slutförts.
WaitingForUserAction Gäller endast vid onlinemigreringar. Väntar på att en användare ska utföra en snabb användning.

Undertillstånd för migrering

Undertillstånd beskrivning
PerformingPreRequisiteSteps Infrastrukturkonfiguration pågår för datamigrering.
Validering pågår Verifiering pågår.
MigreraData Datamigrering pågår.
Slutföra migrering Migreringen är i slutfasen av slutförandet.
Slutförd Migreringen har slutförts.
Misslyckades Migreringen misslyckades.

Undertillstånd för validering

Undertillstånd beskrivning
Misslyckades Verifieringen misslyckades.
Lyckades Valideringen har slutförts.
Varning! Verifieringen visar en varning.

Initiera en snabb

Om både Migrera och Verifiera och Migrera visas kräver slutförandet av onlinemigreringen ytterligare ett steg för att initiera en snabb genomgång. När kopieringen och klonen av basdata har slutförts flyttas migreringen till waitingForUserAction-tillståndet och undertillståndet WaitingForCutoverTrigger . I det här tillståndet kan användaren utlösa snabbkopplingen från portalen genom att välja migreringen.

Innan du påbörjar en snabbklippning är det viktigt att se till att:

  • Skrivningar till källan stoppas.
  • Värdet latency minskar till 0 eller nära 0.

Du kan hämta värdet i latency fönstret med migreringsinformation:

Skärmbild av fönstret Snabbmigrering.

Värdet latency anger när målet senast synkroniserades med källan. Nu kan du stoppa skrivning till källan och snabbinitiering kan initieras. Om det finns tung trafik på källservern rekommenderar vi att du stoppar skrivningar först så att latency du kan komma nära 0. Initiera sedan en snabb.

Snabbåtgärden tillämpar alla väntande ändringar från källan till målet och slutför migreringen. Om du utlöser en snabb användning, även med ett värde som inte är noll för latency, stoppas replikeringen vid den tidpunkten. Alla data finns på källan tills brytpunkten tillämpas på målet. Om svarstiden till exempel är 15 minuter vid snabbpunkten tillämpas alla ändrade data under de senaste 15 minuterna på målet. Den tid det tar för snabbheten att slutföra beror på kvarvarande ändringar som inträffade under dessa 15 minuter. Därför rekommenderar vi att svarstiden går till noll eller nära noll innan du utlöser snabbheten.

Skärmbild som visar dialogrutan där du bekräftar en snabb övergång under migreringen.

Migreringen flyttas till tillståndet Lyckades när undertillståndet Migrera data eller snabbmigreringen (i en onlinemigrering) har slutförts. Om det finns ett problem i undertillståndet Migrera data flyttas migreringen till ett feltillstånd .

Skärmbild som visar resultatet av en lyckad migrering i Azure Portal.

Verifiera migreringen

När databasmigreringen är klar verifierar du manuellt data mellan källan och målet. Kontrollera att alla objekt i måldatabasen har skapats.

Efter migreringen kan du utföra följande uppgifter:

  • Verifiera data på den flexibla servern och se till att det är en exakt kopia av källinstansen.
  • Efter verifieringen aktiverar du alternativet med hög tillgänglighet på den flexibla servern efter behov.
  • Ändra SKU:n (version) för den flexibla servern så att den matchar programmets behov. Den här ändringen kräver en omstart av databasservern.
  • Om du ändrar några serverparametrar från deras standardvärden i källinstansen kopierar du dessa serverparametervärden till den flexibla servern.
  • Kopiera andra serverinställningar, till exempel taggar, aviseringar och brandväggsregler (om tillämpligt), från källinstansen till den flexibla servern.
  • Gör ändringar i ditt program för att peka anslutningssträng till en flexibel server.
  • Övervaka databasens prestanda noggrant för att se om det kräver prestandajustering.