Dela via


Självstudier: Migrera RDS PostgreSQL till Azure Database for PostgreSQL online med hjälp av DMS

Viktigt!

Vi rekommenderar att du använder den nya migreringstjänsten i Azure Database for PostgreSQL för en mer effektiviserad och effektiv migreringsupplevelse. Den här tjänsten förenklar processen genom att stödja en mängd olika källmiljöer, vilket säkerställer en problemfri övergång till Azure Database for PostgreSQL.

Du kan använda Azure Database Migration Service för att migrera databaser från en RDS PostgreSQL-instans till Azure Database for PostgreSQL medan källdatabasen förblir online under migreringen. Med andra ord kan migrering uppnås med minimal stilleståndstid för programmet. I den här självstudien migrerar du exempeldatabasen DVD Rental från en instans av RDS PostgreSQL 9.6 till Azure Database for PostgreSQL med hjälp av onlinemigreringsaktiviteten i Azure Database Migration Service.

I den här självstudien lär du dig att:

  • Migrera exempelschemat med hjälp av verktyget pg_dump.
  • Skapa en instans av Azure Database Migration Service.
  • Skapa ett migreringsprojekt med hjälp av Azure Database Migration Service.
  • Köra migreringen.
  • Övervaka migreringen.
  • Utför snabb migrering.

Användning av Azure Database Migration Service för att utföra en onlinemigrering kräver att en instans skapas baserad på prisnivån Premium. Mer information finns i på prissättningssidan för Azure Database Migration Service. Vi krypterar disken för att förhindra datastöld under migreringsprocessen.

Viktigt!

För optimala migreringsfunktioner rekommenderar Microsoft att skapa en instans av Azure Database Migration Service i samma Azure-region som måldatabasen. Att flytta data mellan regioner eller geografiska områden kan göra migreringsprocessen långsammare och leda till fel.

Dricks

I Azure Database Migration Service kan du migrera dina databaser offline eller när de är online. Vid en offlinemigrering startar programmets stilleståndstid när migreringen startar. Om du vill begränsa stilleståndstiden till den tid det tar att skära ned till den nya miljön efter migreringen använder du en onlinemigrering . Vi rekommenderar att du testar en offlinemigrering för att avgöra om stilleståndstiden är acceptabel. Om den förväntade stilleståndstiden inte är acceptabel utför du en onlinemigrering.

Den här artikeln beskriver hur du utför en onlinemigrering från en lokal instans av PostgreSQL till Azure Database for PostgreSQL.

Förutsättningar

För att slutföra den här kursen behöver du:

  • Ladda ned och installera PostgreSQL Community Edition 9.5, 9.6 eller 10. PostgreSQL-källserverversionen måste vara 9.5.11, 9.6.7, 10 eller senare. Mer information finns i artikeln Versioner av PostgreSQL Database som stöds.

    Azure Database for PostgreSQL-målversionen måste vara lika med eller senare än RDS PostgreSQL-versionen. RDS PostgreSQL 9.6 kan till exempel bara migrera till Azure Database for PostgreSQL 9.6, 10 eller 11, men inte till Azure Database for PostgreSQL 9.5.

  • Skapa en instans av Azure Database for PostgreSQL – flexibel server.

  • Skapa ett virtuellt Azure-nätverk för Azure Database Migration Service genom att använda Azure Resource Manager-distributionsmodellen, som ger plats-till-plats-anslutning för dina lokala källservrar genom att använda antingen ExpressRoute eller VPN. Mer information om hur du skapar ett virtuellt nätverk finns i dokumentationen för virtuellt nätverk, och särskilt snabbstartsartiklarna med stegvis information.

  • Se till att reglerna för nätverkssäkerhetsgruppen för det virtuella nätverket inte blockerar utgående port 443 i ServiceTag för ServiceBus, Storage och AzureMonitor. Mer information om trafikfiltrering för virtuella nätverk NSG finns i artikeln Filtrera nätverkstrafik med nätverkssäkerhetsgrupper.

  • Konfigurera din Windows-brandvägg för databasmotoråtkomst.

  • Öppna Windows-brandväggen så att Azure Database Migration Service får åtkomst till PostgreSQL-källservern, som som standard är TCP-port 5432.

  • När du använder en brandväggsinstallation framför källdatabaserna kan du behöva lägga till brandväggsregler så att Azure Database Migration Service kan komma åt källdatabaserna för migrering.

  • Skapa en brandväggsregel på servernivå för Azure Database for PostgreSQL-servern för att ge Azure Database Migration Service åtkomst till måldatabaserna. Ange undernätsintervallet för det virtuella nätverk som används för Azure Database Migration Service.

Konfigurera AWS RDS PostgreSQL för replikering

  1. Om du vill skapa en ny parametergrupp följer du anvisningarna från AWS i artikeln Arbeta med DB-parametergrupper.

  2. Använd huvudanvändarnamnet för att ansluta till källan från Azure Database Migration Service. Om du använder ett annat konto än huvudanvändarkontot måste kontot ha rds_superuser roll och rds_replication roll. Rollen rds_replication ger behörighet att hantera logiska platser och strömma data med hjälp av logiska platser.

  3. Skapa en ny parametergrupp med följande konfiguration:

    • Ange parametern rds.logical_replication i din DB-parametergrupp till 1.

    • max_wal_senders = [antal samtidiga uppgifter]. Parametern max_wal_senders anger antalet samtidiga aktiviteter som kan köras. Rekommenderad inställning: 10.

    • max_replication_slots = [antal platser]. Rekommenderad inställning: 5.

  4. Associera parametergruppen som du skapade till RDS PostgreSQL-instansen.

Migrera schemat

  1. Extrahera schemat från källdatabasen och tillämpa på måldatabasen för att slutföra migreringen av alla databasobjekt, till exempel tabellscheman, index och lagrade procedurer.

    Det enklaste sättet att migrera endast schemat är att använda pg_dump med alternativet -s. Mer information finns i exemplen i självstudiekursen för Postgres pg_dump.

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

    Om du till exempel vill dumpa en schemafil för dvdrentaldatabasen använder du följande kommando:

    pg_dump -O -h localhost -U postgres -d dvdrental -s  > dvdrentalSchema.sql
    
  2. Skapa en tom databas i måltjänsten, som är Azure Database for PostgreSQL – flexibel server.

  3. Importera schemat till måltjänsten, som är Azure Database for PostgreSQL. Kör följande kommando för att återställa schemadumpfilen:

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

    Till exempel:

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

    Kommentar

    Migreringstjänsten hanterar internt aktivering/inaktivering av externa nycklar och utlösare för att säkerställa en tillförlitlig och robust datamigrering. Därför behöver du inte bekymra dig om att göra några ändringar i måldatabasschemat.

Registrera resursprovidern

Registrera resursprovidern Microsoft.DataMigration innan du skapar din första instans av Database Migration Service.

  1. Logga in på Azure-portalen. Sök efter och välj Prenumerationer.

    Skärmbild av Visa portalprenumerationer.

  2. Välj den prenumeration där du vill skapa instansen av Azure Database Migration Service och välj sedan Resursprovidrar.

    Skärmbild av Visa resursprovidrar.

  3. Sök efter migrering och välj sedan Registrera dig för Microsoft.DataMigration.

    Skärmbild av Registrera resursprovider.

Skapa en instans av Azure Database Migration Service

  1. I Azure Portal väljer du + Skapa en resurs, söker efter Azure Database Migration Service och väljer sedan Azure Database Migration Service i listrutan.

    Skärmbild som visar Azure Marketplace.

  2. På sidan Azure Database Migration Service väljer du Skapa.

    Skärmbild av Skapa Azure Database Migration Service-instans.

  3. På sidan Create Migration Service anger du ett namn för tjänsten, prenumerationen och en ny eller befintlig resursgrupp.

  4. Välj den plats där du vill skapa instansen av Azure Database Migration Service.

  5. Välj ett befintligt virtuellt nätverk eller skapa ett nytt.

    Det virtuella nätverket ger Azure Database Migration Service åtkomst till PostgreSQL-källinstansen och Azure Database for PostgreSQL-målinstansen.

    Mer information om hur du skapar ett virtuellt nätverk i Azure Portal finns i artikeln Skapa ett virtuellt nätverk med hjälp av Azure Portal.

  6. Välj en prisnivå. För den här onlinemigreringen väljer du prisnivån Premium: 4vCores.

    Skärmbild av instansinställningarna för Konfigurera Azure Database Migration Service.

  7. Välj Skapa för att skapa tjänsten.

Skapa ett migreringsprojekt

När tjänsten har skapats letar du reda på den i Azure Portal, öppnar den och skapar sedan ett nytt migreringsprojekt.

  1. I Azure Portal väljer du Alla tjänster, söker efter Azure Database Migration Service och väljer sedan Azure Database Migration Services.

    Skärmbild av Hitta alla instanser av Azure Database Migration Service.

  2. På skärmen Azure Database Migration Services söker du efter namnet på den Azure Database Migration Service-instans som du skapade, väljer instansen och väljer sedan + Nytt migreringsprojekt.

  3. På skärmen Nytt migreringsprojekt anger du ett namn för projektet. I textrutan Källservertyp väljer du AWS RDS för PostgreSQL och väljer sedan Azure Database for PostgreSQL i textrutan Målservertyp.

  4. I avsnittet Välj aktivitetstyp väljer du Online-datamigrering.

    Viktigt!

    Välj Online-datamigrering. Offlinemigreringar stöds inte för det här scenariot.

    Skärmbild av Projektet Skapa databasmigreringstjänst.

    Alternativt kan du välja Skapa projekt endast för att skapa migreringsprojektet nu och köra migreringen senare.

  5. Välj Spara.

  6. Välj Skapa och kör aktivitet för att skapa projektet och köra migreringsaktiviteten.

    Anteckna de förutsättningar som krävs för att konfigurera onlinemigrering i fönstret projektskapande.

Ange källinformation

På skärmen Lägg till källinformation anger du anslutningsinformationen för PostgreSQL-källinstansen.

Skärmbild av källinformation.

Ange målinformation

  1. Välj Spara och på skärmen Målinformation anger du anslutningsinformationen för Azure Database for PostgreSQL-målservern, som är företablerad och har dvd-uthyrningsschemat distribuerat med hjälp av pg_dump.

    Skärmbild av målinformation.

  2. Välj Spara och mappa sedan på sidan Mappa till måldatabaser käll- och måldatabasen för migrering.

    Om måldatabasen innehåller samma databasnamn som källdatabasen väljer Azure Database Migration Service måldatabasen som standard.

    Skärmbild av Mappa till måldatabaser.

  3. Välj Spara. I rutan Aktivitetsnamn på skärmen Migreringssammanfattning anger du ett namn för migreringsaktiviteten och granskar sedan sammanfattningen för att se till att informationen för källa och mål matchar det du angav tidigare.

    Skärmbild av migreringssammanfattning.

Köra migreringen

Välj Kör migrering.

Migreringsaktivitetsfönstret visas och Status för aktiviteten är Initieras.

Övervaka migreringen

  1. På migreringsaktivitetssidan väljer du Uppdatera för att uppdatera visningen tills Status för migreringen är Körs.

    Skärmbild av aktivitetsstatus – körs.

  2. Under DATABASNAMN väljer du en specifik databas för att komma till migreringsstatusen för åtgärder för fullständig datainläsning och inkrementell datasynkronisering .

    Fullständig datainläsning visar den inledande belastningsmigreringsstatusen, medan Inkrementell datasynkronisering visar cdc-status (change data capture).

    Skärmbild av inventeringsskärmen – fullständig datainläsning.

    Skärmbild av skärmen Inventering – inkrementell datasynkronisering.

Utföra snabbmigrering

När den första fullständiga belastningen har slutförts markeras databaserna som klara att klippas ut.

  1. När du är redo att slutföra databasmigreringen väljer du Starta snabb.

  2. Vänta tills räknaren Väntande ändringar visas 0 för att se till att alla inkommande transaktioner till källdatabasen har stoppats, markera kryssrutan Bekräfta och välj sedan Använd.

    Skärmbild av skärmen Fullständig snabbhet.

  3. När databasmigreringsstatusen är Slutförd ansluter du dina program till den nya Azure Database for PostgreSQL-måldatabasen.

Onlinemigreringen av en lokal instans av RDS PostgreSQL till Azure Database for PostgreSQL är nu klar.