Samouczek: migrowanie z usługi AWS RDS PostgreSQL do usługi Azure Database for PostgreSQL przy użyciu usługi migracji

DOTYCZY: Azure Database for PostgreSQL — serwer elastyczny

Ten samouczek przeprowadzi Cię przez proces migracji wystąpienia bazy danych PostgreSQL z usług AWS RDS do usługi Azure Database for a PostgreSQL — serwer elastyczny przy użyciu witryny Azure Portal i interfejsu wiersza polecenia platformy Azure.

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 serwera elastycznego usługi Azure Database for PostgreSQL.

  • Konfigurowanie serwera elastycznego usługi Azure Database for PostgreSQL
  • Konfigurowanie zadania migracji
  • Monitorowanie migracji
  • Anulowanie migracji
  • Po migracji

Wymagania wstępne (offline)

Przed rozpoczęciem migracji z usługą migracji w usłudze Azure Database for PostgreSQL należy spełnić następujące wymagania wstępne, które mają zastosowanie do scenariuszy migracji w trybie offline.

Weryfikowanie wersji źródłowej

Źródłowa wersja bazy danych PostgreSQL powinna mieć wartość >= 9.5. Jeśli źródłowa wersja bazy danych PostgreSQL jest mniejsza niż 9.5, uaktualnij źródłową wersję bazy danych PostgreSQL do 9.5 lub nowszej przed migracją.

Konfiguracja docelowa

  • Przed migracją należy skonfigurować usługę Azure Database for PostgreSQL na platformie Azure.

  • Jednostka SKU wybrana dla usługi Azure Database for PostgreSQL powinna odpowiadać specyfikacjom źródłowej bazy danych w celu zapewnienia zgodności i odpowiedniej wydajności.

  • Aby uzyskać szczegółowe instrukcje dotyczące tworzenia nowej usługi Azure Database for PostgreSQL, zapoznaj się z następującym linkiem: Szybki start: tworzenie serwera.

Konfiguracja sieci

Właściwa konfiguracja sieci jest niezbędna do zapewnienia pomyślnej łączności między źródłem i miejscem docelowym podczas migracji. Oto przewodnik ułatwiający nawiązanie połączenia sieciowego w różnych scenariuszach:

Wymagania dotyczące sieci na potrzeby migracji:

  • Tunelowanie sieci VPN/VPN protokołu ExpressRoute/IPsec: podczas łączenia lokalnego źródła/platformy AWS z platformą Azure może być konieczne skonfigurowanie tunelowania expressRoute, IPsec VPN lub VPN w celu ułatwienia bezpiecznego transferu danych.

  • Komunikacja równorzędna sieci wirtualnych: ustanów komunikację równorzędną sieci wirtualnych między dwiema odrębnymi sieciami wirtualnymi, aby umożliwić bezpośrednią łączność sieciową, a warunkiem wstępnym migracji między maszyną wirtualną platformy Azure a usługą Azure Database for PostgreSQL.

scenariusze Połączenie ivity:

Poniższa tabela może pomóc w skonfigurowaniu sieci między źródłem a obiektem docelowym.

Lokalizacja źródłowa Target Połączenie ivity Wskazówki
Publiczne Publiczne Nie jest wymagana żadna inna akcja, jeśli źródło znajduje się na liście dozwolonych w regułach zapory obiektu docelowego.
Prywatne Publiczne Ta konfiguracja nie jest obsługiwana; użyj pg_dump/pg_restore do transferu danych.
Publiczne Prywatny Nie jest wymagana żadna inna akcja, jeśli źródło znajduje się na liście dozwolonych w regułach zapory obiektu docelowego.
Prywatne Prywatne Ustanów usługę ExpressRoute, sieć VPN IPsec, tunelowanie sieci VPN lub komunikację równorzędną sieci wirtualnych między źródłem a obiektem docelowym.
Prywatne Prywatny punkt końcowy Ta konfiguracja nie jest obsługiwana; skontaktuj się z pomocą techniczną firmy Microsoft.

Dodatkowe zagadnienia dotyczące sieci:

  • pg_hba.conf Configuration: aby ułatwić łączność między źródłowymi i docelowymi wystąpieniami bazy danych PostgreSQL, należy zweryfikować i potencjalnie zmodyfikować plik pg_hba.conf. Ten plik zawiera uwierzytelnianie klienta i musi być skonfigurowany tak, aby umożliwić docelowej usłudze PostgreSQL nawiązywanie połączenia ze źródłem. Zmiany w pliku pg_hba.conf zwykle wymagają ponownego uruchomienia źródłowego wystąpienia postgreSQL.

Uwaga

Plik pg_hba.conf znajduje się w katalogu danych instalacji bazy danych PostgreSQL. Ten plik należy sprawdzić i skonfigurować, jeśli źródłowa baza danych jest lokalnym serwerem PostgreSQL lub serwerem PostgreSQL hostowanym na maszynie wirtualnej platformy Azure. W przypadku wystąpień postgreSQL w usługach AWS RDS lub podobnych usługach zarządzanych plik pg_hba.conf nie jest bezpośrednio dostępny lub ma zastosowanie. Zamiast tego dostęp jest kontrolowany za pośrednictwem zapewnianych przez usługę konfiguracji zabezpieczeń i dostępu do sieci.

Aby uzyskać więcej informacji na temat konfiguracji sieci, zobacz Przewodnik po sieci dla usługi migracji w usłudze Azure Database for PostgreSQL — serwer elastyczny.

Rozszerzenia

Rozszerzenia to dodatkowe funkcje, które można dodać do bazy danych PostgreSQL, aby zwiększyć jej funkcjonalność. Rozszerzenia są obsługiwane w usłudze Azure Database for PostgreSQL, ale muszą być włączone ręcznie. Aby włączyć rozszerzenia, wykonaj następujące kroki:

  • Użyj polecenia select w źródle, aby wyświetlić listę wszystkich używanych rozszerzeń — select extname,extversion from pg_extension;

  • Wyszukaj parametr serwera azure.extensions na stronie Parametr serwera w usłudze Azure Database for PostgreSQL. Włącz rozszerzenia znalezione w źródle w usłudze PostgreSQL.

  • Zapisz zmiany parametrów i uruchom ponownie usługę Azure Database for PostgreSQL, aby w razie potrzeby zastosować nową konfigurację.

    Zrzut ekranu przedstawiający rozszerzenia.

  • Sprawdź, czy lista zawiera dowolne z następujących rozszerzeń:

    • PG_CRON
    • PG_HINT_PLAN
    • PG_PARTMAN_BGW
    • PG_PREWARM
    • PG_STAT_STATEMENTS
    • PG_AUDIT
    • PGLOGICAL
    • WAL2JSON

Jeśli tak, wyszukaj stronę parametrów serwera dla parametru shared_preload_libraries. Ten parametr wskazuje zestaw bibliotek rozszerzeń, które są wstępnie ładowane podczas ponownego uruchamiania serwera.

Użytkownicy i role

Podczas 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 usługi Azure Database for PostgreSQL. Aby ułatwić ten proces, możesz użyć pg_dumpall narzędzia z flagą --globals-only w celu wyeksportowania obiektów globalnych, takich jak role i konta użytkowników. Wykonaj następujące polecenie, zastępując <<username>> ciąg rzeczywistą nazwą użytkownika i <<filename>> żądaną nazwą pliku wyjściowego:

    pg_dumpall --globals-only -U <<username>> -f <<filename>>.sql
    
  • Ograniczenie ról superużytkownika: usługa Azure Database for PostgreSQL nie obsługuje ról administratora. W związku z tym użytkownicy z uprawnieniami administratora muszą mieć te uprawnienia usunięte przed migracją. 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 napotykania problemów związanych z ograniczeniami administratora.

Parametry serwera

Te parametry 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 usługi Azure Database for PostgreSQL, korzystając z sekcji "Parametry serwera" w witrynie Azure Portal i ręcznie aktualizując odpowiednio wartości.

  • Zapisz zmiany parametrów i uruchom ponownie usługę Azure Database for PostgreSQL, aby w razie potrzeby zastosować nową konfigurację.

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

  • Wyłączenie wysokiej dostępności (niezawodności) i odczytywanie replik w środowisku docelowym jest niezbędne. Te funkcje powinny być włączone dopiero po zakończeniu migracji.

  • Postępując zgodnie z tymi wytycznymi, można zapewnić bezproblemowy proces migracji bez dodanych zmiennych wprowadzonych przez wysoką dostępność i repliki do odczytu. Po zakończeniu migracji i stabilnej bazie danych możesz włączyć te funkcje, aby zwiększyć dostępność i skalowalność środowiska bazy danych na platformie Azure.

Migrację można przeprowadzić za pomocą witryny Azure Portal.

Konfigurowanie zadania migracji

Usługa migracji zawiera proste środowisko oparte na kreatorze w witrynie Azure Portal.

  1. Otwórz przeglądarkę internetową i przejdź do portalu. Wprowadź swoje poświadczenia, aby się zalogować. Widok domyślny to pulpit nawigacyjny usług.

  2. Przejdź do usługi Azure Database for the PostgreSQL — serwer elastyczny.

  3. Na karcie Przegląd serwera elastycznego w menu po lewej stronie przewiń w dół do pozycji Migracja i wybierz go.

    Zrzut ekranu przedstawiający wybór migracji.

  4. Wybierz przycisk Utwórz, aby przeprowadzić migrację z usług AWS RDS do serwera elastycznego.

    Uwaga

    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 teraz informacje o próbach migracji.

  5. Wybierz przycisk Utwórz, aby przejść przez serię kart opartych na kreatorze w celu przeprowadzenia migracji.

    Zrzut ekranu przedstawiający stronę tworzenia migracji.

Ustawienia

Pierwsza karta to karta konfiguracji.

Użytkownik musi podać wiele szczegółów związanych z migracją, takich jak nazwa migracji, typ serwera źródłowego, opcja i tryb.

  • Nazwa migracji jest unikatowym identyfikatorem każdej migracji do tego docelowego serwera elastycznego. To pole akceptuje tylko znaki alfanumeryczne i nie akceptuje żadnych znaków specjalnych z wyjątkiem łącznika (-). Nazwa nie może zaczynać się od łącznika i powinna 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 — w zależności od źródła postgreSQL można wybrać usługę AWS RDS for PostgreSQL.

  • Opcja migracji — umożliwia przeprowadzenie walidacji przed wyzwoleniem migracji. Możesz wybrać dowolną z następujących opcji

    • Weryfikacja — sprawdza gotowość serwera i bazy danych do migracji do miejsca docelowego.
    • Migrowanie — pomija walidacje i uruchamia migracje.
    • Weryfikowanie i migrowanie — przeprowadza walidację przed wyzwoleniem migracji. Migracja zostanie wyzwolona, jeśli nie wystąpią błędy walidacji.
      • Wybranie opcji Weryfikuj lub Zweryfikuj i zmigrowanie jest zawsze dobrym rozwiązaniem do przeprowadzania weryfikacji premii przed uruchomieniem migracji.

Aby dowiedzieć się więcej na temat weryfikacji premigration, odwiedź stronę premigration.

  • Tryb migracji umożliwia wybranie trybu migracji. Tryb offline jest opcją domyślną.

Wybierz przycisk Dalej: Połączenie do źródła.

Zrzut ekranu przedstawiający stronę migracji konfiguracji.

Połączenie do źródła

Karta Połączenie do źródła wyświetla monit o podanie szczegółów dotyczących źródła wybranego na karcie Konfiguracja, czyli źródła baz danych.

  • Nazwa serwera — podaj nazwę hosta lub adres IP źródłowego wystąpienia bazy danych PostgreSQL

  • Port — numer portu serwera źródłowego

  • Nazwa logowania administratora serwera — nazwa użytkownika źródłowego serwera PostgreSQL

  • Hasło — hasło źródłowego serwera PostgreSQL

  • Tryb SSL — obsługiwane wartości są preferowane i wymagane. Gdy źródłowy serwer PostgreSQL jest wyłączony, użyj parametru SSLMODE=prefer. Jeśli protokół SSL na serwerze źródłowym jest włączony, użyj parametru SSLMODE=require. Wartości SSL można określić w pliku postgresql.conf.

  • Test Połączenie ion — wykonuje test łączności między miejscem docelowym i źródłem. Po pomyślnym nawiązaniu połączenia użytkownicy będą mogli wykonać kolejny krok. muszą zidentyfikować problemy z siecią między elementem docelowym a źródłem i zweryfikować nazwę użytkownika/hasło dla źródła. Połączenie testowe trwa kilka minut, aby nawiązać połączenie między obiektem docelowym a źródłem.

Po pomyślnym połączeniu testowym wybierz przycisk Dalej: wybierz pozycję Docelowy migracji.

Zrzut ekranu przedstawiający stronę nawiązywania połączenia ze źródłem.

Połączenie do obiektu docelowego

Na karcie Wybierz miejsce docelowe migracji są wyświetlane metadane elementu docelowego serwera elastycznego, takie jak nazwa subskrypcji, grupa zasobów, nazwa serwera, lokalizacja i wersja bazy danych PostgreSQL.

  • nazwa użytkownika Administracja — Administracja nazwę użytkownika docelowego serwera PostgreSQL

  • Hasło — hasło docelowego serwera PostgreSQL

  • Test Połączenie ion — wykonuje test łączności między miejscem docelowym i źródłem. Po pomyślnym nawiązaniu połączenia użytkownicy mogą przejść do następnego kroku. W przeciwnym razie musimy zidentyfikować problemy z siecią między obiektem docelowym a źródłem i zweryfikować nazwę użytkownika/hasło dla elementu docelowego. Połączenie testowe trwa kilka minut, aby nawiązać połączenie między obiektem docelowym a źródłem

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

Zrzut ekranu przedstawiający stronę migracji docelowej połączenia.

Wybieranie baz danych na potrzeby migracji

Na karcie Wybierz bazę danych do migracji możesz wybrać listę baz danych użytkowników do migracji ze źródłowego serwera PostgreSQL.
Po wybraniu baz danych wybierz pozycję Dalej:Podsumowanie

Zrzut ekranu przedstawiający stronę migracji bazy danych fetchDB.

Podsumowanie

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

Zrzut ekranu przedstawiający stronę migracji podsumowania.

Monitorowanie migracji

Po wybraniu przycisku Rozpocznij walidację i migrację zostanie wyświetlone powiadomienie w ciągu kilku sekund, aby stwierdzić, że weryfikacja lub tworzenie migracji zakończy się pomyślnie. Nastąpi automatyczne przekierowanie do strony Migracja serwera elastycznego. Wpis znajduje się w stanie InProgress i podstanu PerformingPreRequisiteSteps . Skonfigurowanie infrastruktury migracji i sprawdzenie połączeń sieciowych w przepływie pracy trwa 2–3 minuty.

Zrzut ekranu przedstawiający stronę monitorowania migracji.

Siatka wyświetlającą migracje ma następujące kolumny: Nazwa, Stan, Tryb migracji, Typ migracji, Serwer źródłowy, Typ serwera źródłowego, Bazy danych, Czas trwania i Godzina rozpoczęcia. Wpisy są wyświetlane w kolejności malejącej godziny rozpoczęcia z najnowszym wpisem u góry. Możesz użyć przycisku odświeżania, aby odświeżyć stan weryfikacji lub uruchomienia migracji.

Szczegóły migracji

Wybierz nazwę migracji w siatce, aby wyświetlić skojarzone szczegóły.

Na karcie Konfiguracja wybraliśmy opcję migracji jako Weryfikuj i migruj. W tym scenariuszu walidacje są wykonywane najpierw przed rozpoczęciem migracji. Po zakończeniu podłożenia PerformingPreRequisiteSteps przepływ pracy przechodzi do gruntu 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 są dostępne na poziomie wystąpienia i bazy danych.

  • Walidacja na poziomie wystąpienia

    • Zawiera sprawdzanie poprawności związane z sprawdzaniem łączności, wersją źródłową, czyli wersją >bazy danych PostgreSQL = 9.5, sprawdzanie parametru serwera, czyli jeśli rozszerzenia są włączone w parametrach serwera usługi Azure Database for PostgreSQL — serwer elastyczny.
  • Walidacja na poziomie bazy danych

    • Zawiera walidację poszczególnych baz danych związanych z rozszerzeniami i obsługą sortowania w usłudze Azure Database for PostgreSQL— elastycznym serwerze.

Stan weryfikacji i migracji można wyświetlić na stronie szczegółów migracji.

Zrzut ekranu przedstawiający szczegóły weryfikacji i migracji.

Możliwe stany migracji obejmują:

  • InProgress: Trwa konfigurowanie infrastruktury migracji lub trwa rzeczywista migracja danych.
  • Anulowano: migracja została anulowana lub usunięta.
  • Niepowodzenie: 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 akcji jednorazowej przez użytkownika.

Możliwe podstany migracji obejmują:

  • PerformingPreRequisiteSteps: konfiguracja infrastruktury jest w toku na potrzeby migracji danych.
  • Walidacja w toku: Trwa walidacja.
  • Migrowanie danych: trwa migracja danych.
  • UkończenieMigration: Migracja znajduje się na ostatnim etapie ukończenia.
  • Ukończono: migracja została ukończona.
  • Niepowodzenie: migracja nie powiodła się.

Możliwe podstany sprawdzania poprawności obejmują:

  • Niepowodzenie: walidacja nie powiodła się.
  • Powodzenie: Weryfikacja zakończyła się pomyślnie.
  • Ostrzeżenie: Walidacja jest w obszarze Ostrzeżenie. Ostrzeżenia są komunikatami informacyjnymi, które należy pamiętać podczas planowania migracji.

Anulowanie migracji przy użyciu portalu

Możesz anulować wszelkie trwające walidacje lub migracje. Aby anulować przepływ pracy, musi być w stanie InProgress . Nie można anulować walidacji ani migracji w stanie Powodzenie lub Niepowodzenie .

  • Anulowanie walidacji powoduje zatrzymanie dalszego działania weryfikacji, a walidacja zostanie przeniesiona do stanu Anulowano .
  • Anulowanie migracji powoduje zatrzymanie dalszych działań migracji na serwerze docelowym i przejście do stanu Anulowano . Akcja anulowania spowoduje wycofanie wszystkich zmian wprowadzonych przez usługę migracji na serwerze docelowym.

Po migracji

Po ukończeniu baz danych należy ręcznie zweryfikować dane między źródłem a obiektem docelowym i sprawdzić, 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 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 na serwerze elastycznym.

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