Udostępnij za pośrednictwem


Samouczek: migrowanie usługi RDS PostgreSQL do usługi Azure DB for PostgreSQL w trybie online przy użyciu usługi DMS

Ważne

Zaleca się 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ę przykładowej bazy danych dvd rental 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ą.

Uwaga

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.

    Należy również pamiętać, że 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 lub Azure Database for PostgreSQL — Hiperskala (Citus). Zapoznaj się z tą sekcją dokumentu, aby uzyskać szczegółowe informacje na temat nawiązywania połączenia z serwerem PostgreSQL przy użyciu narzędzia pgAdmin.

  • 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łową bazą danych konieczne może być dodanie reguł zapory, aby zezwolić usłudze Azure Database Migration Service na dostęp do źródłowej bazy danych podczas 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

  1. Aby utworzyć nową grupę parametrów, postępuj zgodnie z instrukcjami podanymi przez platformę AWS w artykule Praca z grupami parametrów bazy danych.

  2. 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.

  3. Utwórz nową grupę parametrów z następującą konfiguracją:

    a. Ustaw parametr rds.logical_replication w grupie parametrów bazy danych na 1.

    b. max_wal_senders =[liczba współbieżnych zadań] — parametr max_wal_senders ustawia liczbę współbieżnych zadań, które mogą być uruchamiane, zaleca 10 zadań.

    c. max_replication_slots – = [liczba miejsc], zaleca się ustawienie na pięć miejsc.

  4. Skojarz grupę parametrów utworzoną z wystąpieniem usługi RDS PostgreSQL.

Migrowanie schematu

  1. 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
    
  2. Utwórz pustą bazę danych w usłudze docelowej, która jest usługą Azure Database for PostgreSQL. Aby nawiązać połączenie i utworzyć bazę danych, zapoznaj się z jednym z następujących artykułów:

  3. 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.

  1. Zaloguj się w witrynie Azure Portal. Wyszukaj i wybierz pozycję Subskrypcje.

    Wyświetlanie subskrypcji w portalu

  2. Wybierz subskrypcję, w której chcesz utworzyć wystąpienie usługi Azure Database Migration Service, a następnie wybierz pozycję Dostawcy zasobów.

    Wyświetlanie dostawców zasobów

  3. Wyszukaj pozycję migracja, a następnie wybierz pozycję Zarejestruj dla pozycji Microsoft.DataMigration.

    Rejestrowanie dostawcy zasobów

Tworzenie wystąpienia usługi Azure Database Migration Service

  1. W witrynie Azure Portal wybierz pozycję + Utwórz zasób, wyszukaj usługę Azure Database Migration Service, a następnie wybierz usługę Azure Database Migration Service na liście rozwijanej.

    Azure Marketplace

  2. Na ekranie Azure Database Migration Service wybierz polecenie Utwórz.

    Tworzenie wystąpienia usługi Azure Database Migration Service

  3. Na ekranie Tworzenie usługi migracji określ nazwę usługi, subskrypcję oraz nową lub istniejącą grupę zasobów.

  4. Wybierz lokalizację, w której chcesz utworzyć wystąpienie usługi Azure Database Migration Service.

  5. 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.

  6. Wybierz warstwę cenową; w przypadku tej migracji online wybierz warstwę cenową Premium: 4vCores.

    Konfigurowanie ustawień wystąpienia usługi Azure Database Migration Service

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

  1. 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.

    Znajdowanie wszystkich wystąpień usługi Azure Database Migration Service

  2. 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.

  3. 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.

  4. W sekcji Wybierz typ działania wybierz pozycję Migracja danych w trybie online.

    Ważne

    Pamiętaj, aby wybrać pozycję Migracja danych online. Migracje offline nie są obsługiwane w tym scenariuszu.

    Tworzenie projektu usługi Database Migration Service

    Uwaga

    Alternatywnie możesz wybrać opcję Utwórz projekt tylko w celu utworzenia projektu migracji teraz i wykonania migracji później.

  5. Wybierz pozycję Zapisz.

  6. Wybierz polecenie Utwórz i uruchom działanie, aby utworzyć projekt i uruchomić działanie migracji.

    Uwaga

    Zanotuj wymagania wstępne wymagane do skonfigurowania migracji online w bloku 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.

    Szczegóły źródła

Określanie szczegółów elementu docelowego

  1. 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.

    Szczegóły elementu docelowego

  2. 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.

    Mapowanie do docelowych baz danych

  3. 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.

    Podsumowanie migracji

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

  1. Na ekranie działania migracji wybieraj polecenie Odśwież, aby zaktualizować ekran, aż do momentu, gdy Stan migracji zmieni się na Uruchomiono.

    Stan działania — uruchomione

  2. 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).

    Ekran spisu — pełne ładowanie danych

    Ekran spisu — synchronizacja danych przyrostowych

Przeprowadzanie migracji jednorazowej

Po zakończeniu początkowego pełnego ładowania bazy danych są oznaczone jako Gotowe do migracji jednorazowej.

  1. Gdy wszystko jest gotowe do zakończenia migracji bazy danych, wybierz pozycję Rozpocznij migrację jednorazową.

  2. Poczekaj , aż licznik Oczekujące zmiany wyświetli wartość 0 , aby upewnić się, że wszystkie przychodzące transakcje w źródłowej bazie danych zostaną zatrzymane, zaznacz pole wyboru Potwierdź , a następnie wybierz pozycję Zastosuj.

    Pełny ekran migracji jednorazowej

  3. 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.

Następne kroki