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
  • Initiate a cutover
  • 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

  • Pluginen test_decoding tar emot Write-Ahead Logging (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ålinställningen

Innan du påbörjar migreringen måste du skapa en instans av Azure Database for PostgreSQL i Azure. The SKU that's provisioned for Azure Database for PostgreSQL flexible server should match the source.

Mer information finns i Skapa en flexibel Azure Database for PostgreSQL-server.

Aktivera CDC som källa

  • The test_decoding logical decoding plugin captures the changed records from the source.

  • 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å lagringsutrymme för att lagra loggar på den flexibla målservern, ska du se till att du har tillräckligt med utrymme i tabellområdet genom att använda 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 och som identifieras i PostgreSQL-källinstansen.

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

Note

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.

Disable high availability (reliability) and read replicas in the target

It's critical that you disable high availability (reliability) and read replicas in the target environment before you initiate migration. 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 en flexibel Azure Database for PostgreSQL-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. Go to your instance of Azure Database for PostgreSQL flexible server.

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

    Skärmbild som visar migreringsvalet i Azure-portalen.

  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.

    Skärmbild av migreringsvalet i Azure Portal.

Setup

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 innan migrering:

    • 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 migrering.

    För mer information, se Valideringar före migrering.

  • 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 driftservern

Migreringskörningsservern är en specialiserad funktion i migreringstjänsten. Körningsservern fungerar som en mellanliggande server under migreringen. Det är en separat instans av en flexibel Azure Database for PostgreSQL-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.

For more information, see Migration runtime server.

Skärmbild av fliken Migration Runtime Server.

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.

Screenshot of the Connect target migration tab.

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 panelen för Flexibel Server Instans Migrering. Tillståndsposten är InProgress och undertillståndet är PerformingPreRequisiteSteps. Arbetsflödet tar 2 till 3 minuter att konfigurera migreringsinfrastrukturen och kontrollera nätverksanslutningar.

Screenshot of the Monitor migration pane.

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

  • Namn
  • Status
  • Migreringsläge
  • Migreringstyp
  • Källserver
  • Typ av källserver
  • Databases
  • 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 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 databaserna som rör stöd för tillägg och sortering i Azure Database for PostgreSQL – flexibel server.

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

Screenshot of Details migration.

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. Waiting for a user to perform a cutover.

Migration substates

Substate beskrivning
PerformingPreRequisiteSteps Infrastrukturkonfiguration pågår för datamigrering.
Validering pågår Verifiering pågår.
MigratingData Datamigrering pågår.
CompletingMigration Migreringen är i slutfasen av slutförandet.
Slutförd Migreringen har slutförts.
Misslyckades Migreringen misslyckades.

Validation substates

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

Initiate a cutover

Om både Migrera och Verifiera och Migrera visas kräver slutförandet av onlinemigreringen ytterligare ett steg: att initiera en övergå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 övergången från portalen genom att välja migreringen.

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

  • Writes to the source are stopped.
  • Värdet latency minskar till 0 eller nära 0.

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

Screenshot of the Cutover migration pane.

Värdet latency anger när målet senast synkroniserades med källan. At this point, writing to the source can be stopped, and cutover can be initiated. Om det finns tung trafik på källservern rekommenderar vi att du stoppar skrivningar först så att latency kan komma nära 0. Then, initiate a cutover.

Övergångsoperationen tillämpar alla väntande ändringar från källan till målet och slutför migreringen. If you trigger a cutover, even with a nonzero value for latency, the replication stops at that point in time. All the data is on the source until the cutover point is applied to the target. For example, if latency is 15 minutes at the cutover point, all the changed data in the last 15 minutes is applied to the target. The time it takes the cutover to finish depends on the backlog of changes that occurred during those 15 minutes. Därför rekommenderar vi att svarstiden går till noll eller nära noll innan du utlöser övergången.

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

The migration moves to the Succeeded state when the Migrating Data substate or the cutover (in an online migration) finishes successfully. 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.