Udostępnij za pośrednictwem


Samouczek: migrowanie online z usługi Amazon Aurora PostgreSQL do usługi Azure Database for PostgreSQL za pomocą usługi migracji

W tym artykule opisano sposób migrowania bazy danych PostgreSQL z usługi Amazon Aurora do usługi Azure Database for PostgreSQL w trybie online.

Usługa migracji w usłudze Azure Database for PostgreSQL to w pełni zarządzana usługa zintegrowana z witryną Azure Portal i interfejsem wiersza polecenia platformy Azure. Została zaprojektowana tak, aby uprościć migrację do usługi Azure Database for PostgreSQL.

W tym samouczku zostały wykonane następujące czynności:

  • Pełne wymagania wstępne
  • Inicjowanie migracji
  • Monitorowanie migracji
  • Inicjowanie migracji jednorazowej
  • Weryfikowanie migracji

Wymagania wstępne

Przed rozpoczęciem migracji przy użyciu usługi migracji w usłudze Azure Database for PostgreSQL należy spełnić następujące wymagania wstępne. Te wymagania wstępne zostały specjalnie zaprojektowane na potrzeby scenariuszy migracji online.

Weryfikowanie wersji źródłowej

Źródłowa wersja serwera PostgreSQL musi być w wersji 9.5 lub nowszej. Jeśli źródłowa wersja bazy danych PostgreSQL jest starsza niż 9.5, przed rozpoczęciem migracji uaktualnij wersję do wersji 9.5 lub nowszej.

Instalowanie test_decoding na potrzeby instalacji źródłowej

  • Wtyczka test_decoding odbiera rejestrowanie zapisu z wyprzedzeniem (WAL) za pomocą mechanizmu dekodowania logicznego. Wtyczka dekoduje plik WAL do reprezentacji tekstowych wykonywanych operacji.
  • W usłudze Amazon RDS for PostgreSQL wtyczka test_decoding jest wstępnie zainstalowana i gotowa do replikacji logicznej. Można łatwo skonfigurować gniazda replikacji logicznej i przesyłać strumieniowo zmiany WAL, na przykład w celu przechwytywania zmian danych (CDC) lub replikacji do systemów zewnętrznych.

Aby uzyskać więcej informacji na temat wtyczki test_decoding, zobacz dokumentację bazy danych PostgreSQL.

Konfigurowanie konfiguracji docelowej

Przed rozpoczęciem migracji należy utworzyć wystąpienie usługi Azure Database for PostgreSQL na platformie Azure. Jednostka SKU aprowizowana dla usługi Azure Database for PostgreSQL — serwer elastyczny powinna być zgodna ze źródłem.

Aby uzyskać więcej informacji, zobacz Tworzenie wystąpienia usługi Azure Database for PostgreSQL.

Włączanie usługi CDC jako źródła

  • Wtyczka dekodowania logicznego test_decoding przechwytuje zmienione rekordy ze źródła.

  • Aby zezwolić użytkownikowi migracji na dostęp do uprawnień replikacji, wykonaj następujące polecenie:

    GRANT rds_replication TO <username>;
    
  • W źródłowym wystąpieniu bazy danych PostgreSQL zmodyfikuj następujące parametry w grupie parametrów klastrów baz danych, tworząc nową grupę parametrów:

    • Ustaw wartość opcji rds.logical_replication na 1.
    • Ustaw max_replication_slots wartość większą niż 1. Wartość powinna być większa niż liczba baz danych wybranych do migracji.
    • Ustaw max_wal_senders wartość większą niż 1. Powinna to być co najmniej ta sama wartość co wartość parametru max_replication_slots, a także liczba nadawców używanych już w twoim wystąpieniu.
    • Parametr wal_sender_timeout kończy nieaktywne połączenia replikacji, które są dłuższe niż określona liczba milisekund. Wartość domyślna dla wystąpienia usługi Amazon Aurora PostgreSQL to 30000 milliseconds (30 seconds). Ustawienie wartości w celu 0 (zero) wyłączenia mechanizmu przekroczenia limitu czasu i jest prawidłowym ustawieniem migracji.
  • Na docelowym serwerze elastycznym, aby zapobiec wyczerpaniu magazynu w trybie online w celu przechowywania dzienników, upewnij się, że masz wystarczający magazyn w przestrzeni tabel przy użyciu aprowizowanego dysku zarządzanego. Wyłącz parametr azure.enable_temp_tablespaces_on_local_ssd serwera na czas trwania migracji. Przywróć parametr do oryginalnego stanu po migracji.

Konfigurowanie konfiguracji sieci

Konfiguracja sieci ma kluczowe znaczenie dla usługi migracji do poprawnego działania. Upewnij się, że źródłowy serwer PostgreSQL może komunikować się z serwerem docelowym w usłudze Azure Database for PostgreSQL.

Aby uzyskać informacje na temat konfiguracji sieci, zobacz Scenariusze sieciowe dla usługi migracji.

Włączanie rozszerzeń

Aby zapewnić pomyślną migrację przy użyciu usługi migracji w usłudze Azure Database for PostgreSQL, może być konieczne zweryfikowanie rozszerzeń w źródłowym wystąpieniu bazy danych PostgreSQL. Rozszerzenia udostępniają funkcje i funkcje, które mogą być wymagane dla aplikacji. Przed zainicjowaniem procesu migracji upewnij się, że rozszerzenia są weryfikowane w źródłowym wystąpieniu bazy danych PostgreSQL.

W docelowym wystąpieniu usługi Azure Database for PostgreSQL — serwer elastyczny włącz obsługiwane rozszerzenia, które są identyfikowane w źródłowym wystąpieniu bazy danych PostgreSQL.

Aby uzyskać więcej informacji, zobacz Rozszerzenia w usłudze Azure Database for PostgreSQL.

Uwaga

Ponowne uruchomienie jest wymagane po wprowadzeniu jakichkolwiek zmian w parametrze shared_preload_libraries .

Sprawdzanie parametrów serwera

Parametry serwera nie są automatycznie migrowane do środowiska docelowego i muszą być skonfigurowane ręcznie.

  • Dopasuj wartości parametrów serwera ze źródłowej bazy danych PostgreSQL do wystąpienia usługi Azure Database for PostgreSQL. W witrynie Azure Portal przejdź do pozycji Parametry serwera i ręcznie zaktualizuj wartości.

  • Zapisz zmiany parametru i uruchom ponownie wystąpienie usługi Azure Database for PostgreSQL, aby w razie potrzeby zastosować nową konfigurację.

Sprawdzanie użytkowników i ról

W przypadku migracji do usługi Azure Database for PostgreSQL niezbędne jest oddzielne rozwiązanie migracji użytkowników i ról, ponieważ wymagają one interwencji ręcznej.

  • Ręczna migracja użytkowników i ról: użytkownicy i skojarzone z nimi role muszą zostać ręcznie zmigrowane do wystąpienia usługi Azure Database for PostgreSQL. Aby ułatwić ten proces, możesz użyć narzędzia pg_dumpall z flagą --globals-only w celu wyeksportowania obiektów globalnych, takich jak role i konta użytkowników.

    Uruchom następujące polecenie. Zastąp <username> ciąg rzeczywistą nazwą użytkownika i zastąp <filename> ciąg nazwą, której chcesz użyć dla pliku wyjściowego.

    pg_dumpall --globals-only -U <username> -f <filename>.sql
    
  • Ograniczenie ról administratora: usługa Azure Database for PostgreSQL nie obsługuje ról administratora. Przed migracją należy usunąć uprawnienia administratora. Upewnij się, że odpowiednio dostosujesz uprawnienia i role.

Wykonując te kroki, możesz upewnić się, że konta użytkowników i role są prawidłowo migrowane do usługi Azure Database for PostgreSQL bez problemów związanych z ograniczeniami administratora.

Wyłączanie wysokiej dostępności (niezawodności) i replik do odczytu w obiekcie docelowym

Przed rozpoczęciem migracji należy wyłączyć wysoką dostępność (niezawodność) i repliki do odczytu w środowisku docelowym. Te funkcje powinny być włączone dopiero po zakończeniu migracji.

Inicjowanie migracji

Migrację można przeprowadzić przy użyciu witryny Azure Portal lub interfejsu wiersza polecenia platformy Azure.

Witryna Azure Portal oferuje proste i intuicyjne środowisko oparte na kreatorze, które przeprowadzi Cię przez migrację. Wykonując kroki opisane w tym samouczku, możesz bezproblemowo przenieść bazę danych do usługi Azure Database for PostgreSQL — serwer elastyczny i korzystać z zaawansowanych funkcji i skalowalności.

Aby przeprowadzić migrację przy użyciu witryny Azure Portal, najpierw skonfiguruj zadanie migracji. Następnie połącz się ze źródłem i obiektem docelowym i zainicjuj migrację.

Konfigurowanie zadania migracji

Aby skonfigurować zadanie migracji w witrynie Azure Portal:

  1. Otwórz przeglądarkę internetową i przejdź do witryny Azure Portal. Wprowadź swoje poświadczenia, aby się zalogować.

  2. Przejdź do wystąpienia usługi Azure Database for PostgreSQL — serwer elastyczny.

  3. W menu usługi wybierz pozycję Migracja.

    Zrzut ekranu przedstawiający wybór opcji Migracja.

  4. Wybierz pozycję Utwórz , aby przeprowadzić migrację z usługi Amazon Aurora do serwera elastycznego.

    Przy pierwszym użyciu usługi migracji zostanie wyświetlona pusta siatka z monitem o rozpoczęcie pierwszej migracji. Jeśli migracje do obiektu docelowego serwera elastycznego zostały już utworzone, siatka zawiera informacje o próbach migracji.

  5. Wybierz pozycję Utwórz , aby przejść przez serię kart, aby skonfigurować migrację.

    zrzut ekranu przedstawiający wybór migracji w witrynie Azure Portal.

Ustawienia

Wprowadź lub wybierz następujące informacje:

  • Nazwa migracji: wprowadź unikatowy identyfikator dla każdej migracji do tego obiektu docelowego serwera elastycznego. W nazwie migracji można używać tylko znaków alfanumerycznych i łączników (-). Nazwa nie może zaczynać się od łącznika i musi być unikatowa dla serwera docelowego. Brak dwóch migracji do tego samego obiektu docelowego serwera elastycznego może mieć taką samą nazwę.

  • Typ serwera źródłowego: wybierz typ źródła, który odpowiada źródle bazy danych PostgreSQL, takie jak oparta na chmurze usługa PostgreSQL, konfiguracja lokalna lub maszyna wirtualna.

  • Opcja migracji: wybierz jedną z następujących opcji weryfikacji premii:

    • Zweryfikuj. Sprawdza gotowość serwera i bazy danych do migracji do źródła docelowego.
    • Migrowanie. Pomija walidację i rozpoczyna migrację.
    • Weryfikowanie i migrowanie. Przeprowadza walidację przed wyzwoleniem migracji. Jeśli nie ma żadnych niepowodzeń walidacji, migracja zostanie wyzwolona.

    Dobrym rozwiązaniem jest wybranie opcji Weryfikuj lub Zweryfikuj i migruj na potrzeby weryfikacji premigracji.

    Aby uzyskać więcej informacji, zobacz Weryfikacje premigration.

  • Tryb migracji: wybierz tryb migracji. Opcja domyślna to Offline.

Wybierz pozycję Dalej: Połącz ze źródłem.

Zrzut ekranu przedstawiający kartę Konfiguracja migracji w witrynie Azure Portal.

Wybierz serwer środowiska uruchomieniowego

Serwer środowiska uruchomieniowego migracji to wyspecjalizowana funkcja usługi migracji. Serwer środowiska uruchomieniowego działa jako serwer pośredniczący podczas migracji. Jest to oddzielne wystąpienie usługi Azure Database for PostgreSQL — serwer elastyczny, który nie jest serwerem docelowym. Serwer środowiska uruchomieniowego ułatwia migrację baz danych ze środowiska źródłowego, które jest dostępne tylko za pośrednictwem sieci prywatnej.

Aby uzyskać więcej informacji, zobacz Serwer środowiska uruchomieniowego migracji.

Zrzut ekranu przedstawiający kartę Serwer środowiska uruchomieniowego migracji.

Nawiązywanie połączenia ze źródłem

Na karcie Połącz ze źródłem wprowadź lub wybierz następujące informacje dla źródła bazy danych:

  • Nazwa serwera: wprowadź nazwę hosta lub adres IP źródłowego wystąpienia bazy danych PostgreSQL.
  • Port: wprowadź numer portu serwera źródłowego.
  • Nazwa logowania administratora serwera: wprowadź nazwę użytkownika źródłowego serwera PostgreSQL.
  • Hasło: wprowadź hasło źródłowego serwera PostgreSQL.
  • Tryb SSL: Obsługiwane wartości to Preferuj i Wymagaj. Gdy protokół SSL (Secure Sockets Layer) na źródłowym serwerze PostgreSQL jest wyłączony, wybierz pozycję Preferuj. Jeśli protokół SSL na serwerze źródłowym jest włączony, wybierz pozycję Wymagaj. Wartości SSL są ustawiane w pliku postgresql.conf .
  • Połączenie testowe: inicjuje test łączności między miejscem docelowym a źródłem. Po pomyślnym nawiązaniu połączenia przejdź do następnego kroku, aby zidentyfikować problemy z siecią między elementem docelowym i źródłem oraz zweryfikować nazwę użytkownika i hasło dla źródła. Nawiązywanie połączenia testowego trwa kilka minut.

Po pomyślnym połączeniu testowym wybierz pozycję Dalej: wybierz docelową migrację.

Zrzut ekranu przedstawiający kartę Połącz z źródłem.

Wybierz cel migracji

Na karcie Wybieranie miejsca docelowego migracji wprowadź lub wybierz następujące informacje dotyczące obiektu docelowego serwera elastycznego, oprócz subskrypcji, grupy zasobów i nazwy serwera:

  • Nazwa użytkownika administratora: nazwa użytkownika administratora docelowego serwera PostgreSQL.
  • Hasło: hasło docelowego serwera PostgreSQL.
  • Niestandardowa nazwa FQDN/adres IP (opcjonalnie): niestandardowe pole FQDN/IP jest opcjonalne i może być używane, gdy obiekt docelowy znajduje się za niestandardowym serwerem DNS lub ma niestandardowe przestrzenie nazw DNS, dzięki czemu jest dostępny tylko za pośrednictwem określonych nazw FQDN lub adresów IP. Na przykład może to obejmować wpisy, takie jak flexibleserver.example.com, 198.1.0.2lub nazwa FQDN postgreSQL, takie jak flexibleserver.postgres.database.azure.com, jeśli niestandardowy serwer DNS zawiera strefę postgres.database.azure.com DNS lub przekazuje zapytania dla tej strefy do 168.63.129.16, gdzie nazwa FQDN jest rozpoznawana w publicznej lub prywatnej strefie DNS platformy Azure.
  • Połączenie testowe: inicjuje test łączności między miejscem docelowym a źródłem. Po pomyślnym nawiązaniu połączenia przejdź do następnego kroku, aby zidentyfikować problemy z siecią między obiektem docelowym i źródłem oraz zweryfikować nazwę użytkownika i hasło serwera docelowego. Nawiązywanie połączenia testowego trwa kilka minut.

Po pomyślnym połączeniu testowym wybierz pozycję Dalej: wybierz bazy danych do migracji.

Zrzut ekranu przedstawiający kartę Połącz migrację docelową.

Wybieranie baz danych na potrzeby migracji

Na karcie Wybierz bazę danych do migracji wybierz z listy baz danych użytkowników, które mają być migrowane z źródłowego serwera PostgreSQL.

Po wybraniu baz danych wybierz pozycję Dalej: Podsumowanie.

Zrzut ekranu przedstawiający kartę Wybieranie baz danych na potrzeby migracji.

Podsumowanie

Karta Podsumowanie zawiera podsumowanie wszystkich szczegółów źródłowych i docelowych dotyczących tworzenia walidacji lub migracji. Przejrzyj szczegóły, a następnie wybierz pozycję Rozpocznij walidację i migrację.

Zrzut ekranu przedstawiający kartę Podsumowanie migracji.

Monitorowanie migracji

W ciągu kilku sekund po wybraniu pozycji Rozpocznij walidację i migrację zostanie wyświetlone powiadomienie informujące o pomyślnym zakończeniu weryfikacji lub utworzenia migracji. Nastąpi przekierowanie do okienka Migracja wystąpienia serwera elastycznego. Wpis stanu to InProgress , a podstan to PerformingPreRequisiteSteps. Skonfigurowanie infrastruktury migracji i sprawdzenie połączeń sieciowych w przepływie pracy trwa od 2 do 3 minut.

Zrzut ekranu przedstawiający okienko Monitorowanie migracji.

Siatka zawierająca migracje zawiera następujące kolumny:

  • Nazwa/nazwisko
  • Stan
  • Tryb migracji
  • Typ migracji
  • Serwer źródłowy
  • Typ serwera źródłowego
  • Bazy danych
  • Czas trwania
  • Godzina rozpoczęcia

Wpisy są wyświetlane w kolejności malejącej czasu rozpoczęcia z najnowszym wpisem u góry. Możesz wybrać pozycję Odśwież na pasku menu, aby odświeżyć stan weryfikacji lub uruchomienia migracji.

Szczegóły migracji

Na liście migracji wybierz nazwę migracji, aby wyświetlić skojarzone szczegóły.

Na karcie Instalator wybierz opcję migracji Zweryfikuj i migruj. W tym scenariuszu walidacje są wykonywane przed rozpoczęciem migracji. Po zakończeniu podstanu PerformingPreRequisiteSteps przepływ pracy przechodzi do podstanu Walidacja w toku .

  • Jeśli walidacja zawiera błędy, migracja zostanie przeniesiona do stanu Niepowodzenie.

  • Jeśli walidacja zostanie ukończona bez żadnego błędu, migracja zostanie uruchomiona, a przepływ pracy przejdzie do podstanu Migrowanie danych.

Szczegóły weryfikacji można sprawdzić na poziomie wystąpienia i na poziomie bazy danych:

  • Walidacja na poziomie wystąpienia:

    • Sprawdź walidację związaną z sprawdzaniem łączności dla wersji źródłowej ( PostgreSQL version >= 9.5 sprawdzanie parametru serwera), czy rozszerzenia są włączone w parametrach serwera wystąpienia usługi Azure Database for PostgreSQL — serwer elastyczny.
  • Walidacja na poziomie bazy danych:

    • Sprawdź walidację poszczególnych baz danych związanych z obsługą rozszerzeń i sortowania w usłudze Azure Database for PostgreSQL — serwer elastyczny.

Bieżący stan migracji i walidacji można wyświetlić w okienku szczegółów migracji.

Zrzut ekranu przedstawiający migrację szczegółów.

W poniższych tabelach opisano niektóre możliwe stany i podstany migracji.

Stany migracji

Stan opis
Ruch przychodzący Trwa konfigurowanie infrastruktury migracji lub trwa rzeczywista migracja danych.
Anulowane Migracja zostanie anulowana lub usunięta.
Nie działa Migracja nie powiodła się.
Walidacja nie powiodła się Walidacja nie powiodła się.
Powodzenie Migracja zakończyła się pomyślnie i została ukończona.
OczekiwanieForUserAction Dotyczy tylko migracji online. Oczekiwanie na wykonanie migracji jednorazowej przez użytkownika.

Podstany migracji

Podstan opis
PerformingPreRequisiteSteps Trwa konfigurowanie infrastruktury na potrzeby migracji danych.
Walidacja w toku Walidacja jest w toku.
Migrowanie danych Migracja danych jest w toku.
UkończenieMigration Migracja jest na ostatnim etapie ukończenia.
Zakończono Migracja została ukończona.
Nie działa Migracja nie powiodła się.

Podstany walidacji

Podstan opis
Nie działa Sprawdzanie poprawności nie powiodło się.
Powodzenie Walidacja zakończyła się pomyślnie.
Ostrzeżenie Walidacja wyświetla ostrzeżenie.

Inicjowanie migracji jednorazowej

W przypadku wyświetlenia obu opcji Migracja i Weryfikowanie i Migrowanie ukończenie migracji online wymaga dodatkowego kroku inicjowania migracji jednorazowej. Po zakończeniu kopiowania i klonowania danych podstawowych migracja zostanie przeniesiona do stanu WaitingForUserAction i podstanu WaitingForCutoverTrigger . W tym stanie użytkownik może wyzwolić migrację jednorazową z portalu, wybierając migrację.

Przed zainicjowaniem migracji jednorazowej należy upewnić się, że:

  • Operacje zapisu w źródle są zatrzymywane.
  • Wartość latency zmniejsza się do 0 lub blisko 0.

Możesz uzyskać latency wartość w okienku szczegółów migracji:

Zrzut ekranu przedstawiający okienko migracji jednorazowej.

Wartość latency wskazuje, kiedy element docelowy został ostatnio zsynchronizowany ze źródłem. W tym momencie można zatrzymać zapisywanie w źródle i zainicjowanie migracji jednorazowej. Jeśli na serwerze źródłowym występuje duży ruch, zalecamy, aby najpierw zatrzymać zapisy, aby latency zbliżyć się do wartości 0. Następnie zainicjuj migrację jednorazową.

Operacja migracji jednorazowej stosuje wszystkie oczekujące zmiany ze źródła do elementu docelowego i kończy migrację. Jeśli wyzwalasz migrację jednorazową, nawet z wartością inną niżzerowa dla latency, replikacja zostanie zatrzymana w tym momencie w czasie. Wszystkie dane są w źródle do momentu zastosowania punktu jednorazowego do obiektu docelowego. Jeśli na przykład opóźnienie wynosi 15 minut w punkcie migracji jednorazowej, wszystkie zmienione dane w ciągu ostatnich 15 minut zostaną zastosowane do wartości docelowej. Czas potrzebny na zakończenie migracji jednorazowej zależy od listy prac zmian, które wystąpiły w ciągu tych 15 minut. Dlatego zalecamy, aby opóźnienie przechodziło do zera lub zbliżonego do zera przed wyzwoleniem migracji jednorazowej.

Zrzut ekranu przedstawiający okno dialogowe z potwierdzeniem przejścia jednorazowego podczas migracji.

Migracja zostanie przeniesiona do stanu Powodzenie , gdy podstan Migrowanie danych lub migracja jednorazowa (w migracji online) zakończy się pomyślnie. Jeśli wystąpił problem w podstanie Migrowanie danych , migracja zostanie przeniesiona do stanu Niepowodzenie .

Zrzut ekranu przedstawiający wyniki pomyślnej migracji w witrynie Azure Portal.

Weryfikowanie migracji

Po zakończeniu migracji bazy danych ręcznie zweryfikuj dane między źródłem a obiektem docelowym. Sprawdź, czy wszystkie obiekty w docelowej bazie danych zostały pomyślnie utworzone.

Po migracji można wykonać następujące zadania:

  • Sprawdź dane na serwerze elastycznym i upewnij się, że jest to dokładna kopia wystąpienia źródłowego.
  • Po weryfikacji włącz opcję wysokiej dostępności na serwerze elastycznym zgodnie z potrzebami.
  • Zmień jednostkę SKU (wersja) serwera elastycznego, aby odpowiadała potrzebom aplikacji. Ta zmiana wymaga ponownego uruchomienia serwera bazy danych.
  • Jeśli zmienisz jakiekolwiek parametry serwera z ich wartości domyślnych w wystąpieniu źródłowym, skopiuj te wartości parametrów serwera do serwera elastycznego.
  • Skopiuj inne ustawienia serwera, takie jak tagi, alerty i reguły zapory (jeśli dotyczy), z wystąpienia źródłowego do serwera elastycznego.
  • Wprowadź zmiany w aplikacji, aby wskazać parametry połączenia serwerowi elastycznemu.
  • Uważnie monitoruj wydajność bazy danych, aby sprawdzić, czy wymaga dostrajania wydajności.