Samouczek: Migrowanie bazy danych RDS PostgreSQL do usługi Azure Database for PostgreSQL w trybie online przy użyciu usługi DMS
Ważne
Zalecamy użycie nowej usługi migracji w usłudze Azure Database for PostgreSQL w celu uzyskania bardziej usprawnionego i wydajnego środowiska migracji. Ta usługa upraszcza proces, obsługując różne środowiska źródłowe, zapewniając bezproblemowe przejście do usługi Azure Database for PostgreSQL.
Za pomocą usługi Azure Database Migration Service można migrować bazy danych z wystąpienia usługi RDS PostgreSQL do usługi Azure Database for PostgreSQL , podczas gdy źródłowa baza danych pozostaje w trybie online podczas migracji. Innymi słowy, migrację można osiągnąć z minimalnym przestojem w aplikacji. W tym samouczku przeprowadzisz migrację DVD Rental
przykładowej bazy danych z wystąpienia usługi RDS PostgreSQL 9.6 do usługi Azure Database for PostgreSQL przy użyciu działania migracji online w usłudze Azure Database Migration Service.
Z tego samouczka dowiesz się, jak wykonywać następujące czynności:
- Przeprowadź migrację przykładowego schematu przy użyciu narzędzia pg_dump.
- Utwórz wystąpienie usługi Azure Database Migration Service.
- Utwórz projekt migracji przy użyciu usługi Azure Database Migration Service.
- Uruchamianie migracji.
- Monitoruj migrację.
- Przeprowadź migrację jednorazową.
Przeprowadzenie migracji online przy użyciu usługi Azure Database Migration Service wymaga utworzenia wystąpienia opartego na warstwie cenowej Premium. Więcej informacji znajduje się na stronie cennika usługi Azure Database Migration Service. Szyfrujemy dysk, aby zapobiec kradzieży danych podczas procesu migracji.
Ważne
W celu uzyskania optymalnego środowiska migracji firma Microsoft zaleca utworzenie wystąpienia usługi Azure Database Migration Service w tym samym regionie platformy Azure, w którym znajduje się docelowa baza danych. Przenoszenie danych między regionami lub lokalizacjami geograficznymi może spowalniać proces migracji i powodować błędy.
Napiwek
W usłudze Azure Database Migration Service możesz migrować bazy danych w trybie offline lub w trybie online. Podczas migracji w trybie offline przestój aplikacji rozpoczyna się po rozpoczęciu migracji. Aby ograniczyć przestój do czasu potrzebnego na przejście do nowego środowiska po migracji, użyj migracji online . Zalecamy przetestowanie migracji w trybie offline w celu określenia, czy przestój jest akceptowalny. Jeśli oczekiwany przestój nie jest akceptowalny, wykonaj migrację online.
W tym artykule opisano sposób przeprowadzania migracji online z lokalnego wystąpienia bazy danych PostgreSQL do usługi Azure Database for PostgreSQL.
Wymagania wstępne
Do ukończenia tego samouczka niezbędne są następujące elementy:
Pobierz i zainstaluj program PostgreSQL Community Edition w wersji 9.5, 9.6 lub 10. Źródłowy serwer PostgreSQL Server musi być w wersji 9.5.11, 9.6.7, 10 lub nowszej. Aby uzyskać więcej informacji, zobacz artykuł Obsługiwane wersje bazy danych PostgreSQL.
Docelowa wersja usługi Azure Database for PostgreSQL musi być równa lub nowsza niż wersja usługi RDS PostgreSQL. Na przykład usługa RDS PostgreSQL 9.6 może migrować tylko do usługi Azure Database for PostgreSQL 9.6, 10 lub 11, ale nie do usługi Azure Database for PostgreSQL 9.5.
Utwórz wystąpienie usługi Azure Database for PostgreSQL — serwer elastyczny.
Utworzenie usługi Microsoft Azure Virtual Network dla usługi Azure Database Migration Service przy użyciu modelu wdrożenia usługi Azure Resource Manager, która zapewnia łączność między lokacjami dla lokalnych serwerów źródłowych, z użyciem usługi ExpressRoute lub sieci VPN. Aby uzyskać więcej informacji na temat tworzenia sieci wirtualnej, zobacz dokumentację sieci wirtualnej, a zwłaszcza artykuły Szybki start ze szczegółowymi informacjami krok po kroku.
Upewnij się, że reguły sieciowej grupy zabezpieczeń sieci wirtualnej nie blokują portu wychodzącego 443 elementu ServiceTag dla usług ServiceBus, Storage i AzureMonitor. Aby uzyskać więcej informacji na temat filtrowania ruchu sieciowej grupy zabezpieczeń sieci wirtualnej, zapoznaj się z artykułem Filtrowanie ruchu sieciowego przy użyciu sieciowych grup zabezpieczeń.
Zapora sytemu Windows skonfigurowana pod kątem dostępu do aparatu bazy danych.
Otwórz zaporę systemu Windows, aby zezwolić usłudze Azure Database Migration Service na dostęp do źródłowego serwera PostgreSQL, który domyślnie jest portem TCP 5432.
W przypadku korzystania z urządzenia zapory przed źródłowymi bazami danych może być konieczne dodanie reguł zapory, aby umożliwić usłudze Azure Database Migration Service dostęp do źródłowych baz danych na potrzeby migracji.
Utwórz regułę zapory na poziomie serwera dla serwera usługi Azure Database for PostgreSQL, aby umożliwić usłudze Azure Database Migration Service dostęp do docelowych baz danych. Podaj zakres podsieci sieci wirtualnej używanej dla usługi Azure Database Migration Service.
Konfigurowanie usługi AWS RDS PostgreSQL na potrzeby replikacji
Aby utworzyć nową grupę parametrów, postępuj zgodnie z instrukcjami podanymi przez platformę AWS w artykule Praca z grupami parametrów bazy danych.
Użyj nazwy użytkownika głównego, aby nawiązać połączenie ze źródłem z usługi Azure Database Migration Service. Jeśli używasz konta innego niż konto użytkownika głównego, konto musi mieć rolę rds_superuser i rolę rds_replication. Rola rds_replication przyznaje uprawnienia do zarządzania miejscami logicznymi i przesyłania strumieniowego danych przy użyciu miejsc logicznych.
Utwórz nową grupę parametrów z następującą konfiguracją:
rds.logical_replication
Ustaw parametr w grupie parametrów bazy danych na1
wartość .max_wal_senders
= [liczba współbieżnych zadań]. Parametrmax_wal_senders
ustawia liczbę współbieżnych zadań, które mogą być uruchamiane. Zalecane ustawienie:10
.max_replication_slots
= [liczba miejsc]. Zalecane ustawienie:5
.
Skojarz grupę parametrów utworzoną z wystąpieniem usługi RDS PostgreSQL.
Migrowanie schematu
Wyodrębnij schemat ze źródłowej bazy danych i zastosuj się do docelowej bazy danych, aby ukończyć migrację wszystkich obiektów bazy danych, takich jak schematy tabel, indeksy i procedury składowane.
Najprostszym sposobem migracji tylko schematu jest użycie pg_dump z opcją -s. Aby uzyskać więcej informacji, zobacz przykłady w samouczku dotyczącym usługi Postgres pg_dump.
pg_dump -O -h hostname -U db_username -d db_name -s > your_schema.sql
Aby na przykład zrzucić plik schematu dla bazy danych dvdrental , użyj następującego polecenia:
pg_dump -O -h localhost -U postgres -d dvdrental -s > dvdrentalSchema.sql
Utwórz pustą bazę danych w usłudze docelowej, która jest serwerem elastycznym usługi Azure Database for PostgreSQL.
Zaimportuj schemat do usługi docelowej, która jest usługą Azure Database for PostgreSQL. Aby przywrócić plik zrzutu schematu, uruchom następujące polecenie:
psql -h hostname -U db_username -d db_name < your_schema.sql
Na przykład:
psql -h mypgserver-20170401.postgres.database.azure.com -U postgres -d dvdrental < dvdrentalSchema.sql
Uwaga
Usługa migracji wewnętrznie obsługuje włączanie/wyłączanie kluczy obcych i wyzwalaczy w celu zapewnienia niezawodnej i niezawodnej migracji danych. W związku z tym nie musisz martwić się o wprowadzanie żadnych modyfikacji docelowego schematu bazy danych.
Rejestrowanie dostawcy zasobów
Przed utworzeniem pierwszego wystąpienia usługi Database Migration Service zarejestruj dostawcę zasobów Microsoft.DataMigration.
Zaloguj się w witrynie Azure Portal. Wyszukaj i wybierz pozycję Subskrypcje.
Wybierz subskrypcję, w której chcesz utworzyć wystąpienie usługi Azure Database Migration Service, a następnie wybierz pozycję Dostawcy zasobów.
Wyszukaj pozycję migracja, a następnie wybierz pozycję Zarejestruj dla pozycji Microsoft.DataMigration.
Tworzenie wystąpienia usługi Azure Database Migration Service
W witrynie Azure Portal wybierz pozycję + Utwórz zasób, wyszukaj pozycję Azure Database Migration Service, a następnie wybierz pozycję Azure Database Migration Service z listy rozwijanej.
Na ekranie Azure Database Migration Service wybierz polecenie Utwórz.
Na ekranie Tworzenie usługi migracji określ nazwę usługi, subskrypcję oraz nową lub istniejącą grupę zasobów.
Wybierz lokalizację, w której chcesz utworzyć wystąpienie usługi Azure Database Migration Service.
Wybierz istniejącą sieć wirtualną lub utwórz nową.
Sieć wirtualna zapewnia usłudze Azure Database Migration Service dostęp do źródłowego wystąpienia bazy danych PostgreSQL i docelowego wystąpienia usługi Azure Database for PostgreSQL.
Aby uzyskać więcej informacji na temat tworzenia sieci wirtualnej w witrynie Azure Portal, zobacz artykuł Tworzenie sieci wirtualnej przy użyciu witryny Azure Portal.
Wybierz warstwę cenową. Na potrzeby tej migracji online wybierz warstwę cenową Premium: 4vCores.
Wybierz pozycję Utwórz, aby utworzyć usługę.
Tworzenie projektu migracji
Po utworzeniu usługi znajdź ją w witrynie Azure Portal, otwórz ją, a następnie utwórz nowy projekt migracji.
W witrynie Azure Portal wybierz pozycję Wszystkie usługi, wyszukaj usługę Azure Database Migration Service, a następnie wybierz pozycję Azure Database Migration Services.
Na ekranie Azure Database Migration Services wyszukaj nazwę utworzonego wystąpienia usługi Azure Database Migration Service, wybierz wystąpienie, a następnie wybierz pozycję + Nowy projekt migracji.
Na ekranie Nowy projekt migracji określ nazwę projektu, w polu tekstowym Typ serwera źródłowego wybierz pozycję AWS RDS for PostgreSQL, a następnie w polu tekstowym Typ serwera docelowego wybierz pozycję Azure Database for PostgreSQL.
W sekcji Wybierz typ działania wybierz pozycję Migracja danych w trybie online.
Ważne
Wybierz pozycję Migracja danych online. Migracje w trybie offline nie są obsługiwane w tym scenariuszu.
Alternatywnie możesz wybrać opcję Utwórz projekt tylko w celu utworzenia projektu migracji teraz i wykonania migracji później.
Wybierz pozycję Zapisz.
Wybierz polecenie Utwórz i uruchom działanie, aby utworzyć projekt i uruchomić działanie migracji.
Zanotuj wymagania wstępne wymagane do skonfigurowania migracji online w okienku tworzenia projektu.
Określanie szczegółów źródła
Na ekranie Dodawanie szczegółów źródła określ szczegóły połączenia dla źródłowego wystąpienia bazy danych PostgreSQL.
Określanie szczegółów elementu docelowego
Wybierz pozycję Zapisz, a następnie na ekranie Szczegóły elementu docelowego określ szczegóły połączenia dla docelowego serwera usługi Azure Database for PostgreSQL, który jest wstępnie aprowizacji i ma schemat wypożyczania dysków DVD wdrożony przy użyciu pg_dump.
Wybierz polecenie Zapisz, a następnie na ekranie Mapuj do docelowych baz danych, określ mapowanie źródłowej i docelowej bazy danych na potrzeby migracji.
Jeśli docelowa baza danych zawiera taką samą nazwę bazy danych jak źródłowa baza danych, usługa Azure Database Migration Service domyślnie wybiera docelową bazę danych.
Wybierz pozycję Zapisz. Na ekranie Podsumowanie migracji w polu tekstowym Nazwa działania określ nazwę działania migracji, a następnie sprawdź podsumowanie, aby upewnić się, że szczegółowe informacje źródłowe i docelowe pasują do wcześniej podanych.
Uruchamianie migracji
Wybierz polecenie Uruchom migrację.
Zostanie wyświetlone okno działania migracji, a Stan działania będzie określony jako Inicjowanie.
Monitorowanie migracji
Na ekranie działania migracji wybieraj polecenie Odśwież, aby zaktualizować ekran, aż do momentu, gdy Stan migracji zmieni się na Uruchomiono.
W obszarze NAZWA BAZY DANYCH wybierz określoną bazę danych, aby przejść do stanu migracji dla operacji pełnego ładowania danych i operacji synchronizacji danych przyrostowych.
Pełne ładowanie danych pokazuje stan migracji początkowej obciążenia, podczas gdy synchronizacja danych przyrostowych pokazuje stan przechwytywania zmian (CDC).
Przeprowadzanie migracji jednorazowej
Po zakończeniu początkowego pełnego ładowania bazy danych są oznaczone jako Gotowe do migracji jednorazowej.
Gdy wszystko jest gotowe do zakończenia migracji bazy danych, wybierz pozycję Rozpocznij migrację jednorazową.
Poczekaj na wyświetlenie licznika Oczekujące zmiany, aby upewnić się, że wszystkie transakcje przychodzące do źródłowej bazy danych zostaną zatrzymane, zaznacz pole wyboru Potwierdź, a następnie wybierz pozycję Zastosuj.
0
Gdy stan migracji bazy danych ma wartość Ukończono, połącz aplikacje z nową docelową bazą danych usługi Azure Database for PostgreSQL.
Migracja online lokalnego wystąpienia usługi RDS PostgreSQL do usługi Azure Database for PostgreSQL została ukończona.