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
Om du vill skapa en ny parametergrupp följer du anvisningarna från AWS i artikeln Arbeta med DB-parametergrupper.
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.
Skapa en ny parametergrupp med följande konfiguration:
Ange parametern
rds.logical_replication
i din DB-parametergrupp till1
.max_wal_senders
= [antal samtidiga uppgifter]. Parameternmax_wal_senders
anger antalet samtidiga aktiviteter som kan köras. Rekommenderad inställning:10
.max_replication_slots
= [antal platser]. Rekommenderad inställning:5
.
Associera parametergruppen som du skapade till RDS PostgreSQL-instansen.
Migrera schemat
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
Skapa en tom databas i måltjänsten, som är Azure Database for PostgreSQL – flexibel server.
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.
Logga in på Azure-portalen. Sök efter och välj Prenumerationer.
Välj den prenumeration där du vill skapa instansen av Azure Database Migration Service och välj sedan Resursprovidrar.
Sök efter migrering och välj sedan Registrera dig för Microsoft.DataMigration.
Skapa en instans av Azure Database Migration Service
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.
På sidan Azure Database Migration Service väljer du Skapa.
På sidan Create Migration Service anger du ett namn för tjänsten, prenumerationen och en ny eller befintlig resursgrupp.
Välj den plats där du vill skapa instansen av Azure Database Migration Service.
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.
Välj en prisnivå. För den här onlinemigreringen väljer du prisnivån Premium: 4vCores.
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.
I Azure Portal väljer du Alla tjänster, söker efter Azure Database Migration Service och väljer sedan Azure Database Migration Services.
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.
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.
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.
Alternativt kan du välja Skapa projekt endast för att skapa migreringsprojektet nu och köra migreringen senare.
Välj Spara.
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.
Ange målinformation
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.
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.
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.
Köra migreringen
Välj Kör migrering.
Migreringsaktivitetsfönstret visas och Status för aktiviteten är Initieras.
Övervaka migreringen
På migreringsaktivitetssidan väljer du Uppdatera för att uppdatera visningen tills Status för migreringen är Körs.
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).
Utföra snabbmigrering
När den första fullständiga belastningen har slutförts markeras databaserna som klara att klippas ut.
När du är redo att slutföra databasmigreringen väljer du Starta snabb.
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.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.