Wirtualne punkty końcowe w usłudze Azure Database for PostgreSQL — serwer elastyczny

Wirtualne punkty końcowe to punkty końcowe odbiornika połączeń do odczytu i zapisu oraz tylko do odczytu, które pozostają niezmienne niezależnie od bieżącej roli elastycznego serwera Azure Database for PostgreSQL. Ta spójność oznacza, że nie trzeba aktualizować parametrów połączenia aplikacji po wykonaniu akcji podniesienia do roli serwera podstawowego. Punkty końcowe automatycznie wskazują prawidłowy serwer po zmianie roli.

Wszystkie operacje związane z wirtualnymi punktami końcowymi, niezależnie od tego, czy chodzi o ich dodawanie, edytowanie czy usuwanie, wykonujesz w kontekście serwera głównego. W witrynie Azure Portal zarządzasz tymi punktami końcowymi na stronie serwera podstawowego. Podobnie w przypadku korzystania z narzędzi takich jak interfejs wiersza polecenia, interfejs API REST lub inne narzędzia, polecenia i akcje są przeznaczone dla serwera podstawowego na potrzeby zarządzania punktami końcowymi.

Wirtualne punkty końcowe oferują dwa różne typy punktów połączenia:

Punkt końcowy zapisu (odczyt/zapis): ten punkt końcowy zawsze wskazuje aktualny serwer główny. Gwarantuje to, że operacje zapisu są kierowane do poprawnego serwera, niezależnie od jakichkolwiek operacji promowania wyzwalanych przez użytkowników. Nie można zmienić tego punktu końcowego w taki sposób, aby wskazywał replikę.

Punkt końcowy tylko do odczytu: ten punkt końcowy można skonfigurować tak, aby wskazywał replikę do odczytu lub serwer podstawowy. Jednak może on być przeznaczony tylko dla jednego serwera jednocześnie. Nie obsługuje równoważenia obciążenia między wieloma serwerami. Serwer docelowy dla tego punktu końcowego można dostosować w dowolnym momencie, niezależnie od tego, czy przed, czy po przekierowaniu.

Uwaga / Notatka

Można utworzyć tylko jeden punkt końcowy zapisu i jeden punkt końcowy tylko do odczytu dla serwera podstawowego i jednej z jego replik.

Wirtualne punkty końcowe i podwyższanie poziomu zachowania

Gdy wywołasz akcję promowania, te punkty końcowe będą zachowywać się w przewidywalny sposób. Poniższe sekcje wyjaśniają, jak te punkty końcowe reagują zarówno w scenariuszu promowania na serwer podstawowy, jak i promowania na serwer niezależny.

Wirtualny punkt końcowy Oryginalny element docelowy Zachowanie w przypadku wyzwolenia opcji "Awansowanie na serwer główny" Zachowanie podczas uruchamiania funkcji "Promocja na niezależny serwer"
Punkt końcowy zapisywania Primary Wskazuje nowy serwer podstawowy. Pozostaje niezmieniona.
Punkt końcowy tylko do odczytu Replica Wskazuje nową replikę (była podstawowa). Wskazuje serwer podstawowy.
Punkt końcowy tylko do odczytu Primary Niewspierane. Pozostaje niezmieniona.

Zachowanie po uruchomieniu funkcji "Promowanie do serwera głównego"

  • Punkt końcowy zapisu: ten punkt końcowy jest aktualizowany tak, aby wskazywał nowy serwer główny, co odzwierciedla zmianę ról.
  • Punkt końcowy tylko do odczytu
    • Jeśli punkt końcowy tylko do odczytu wskazuje replikę: po operacji promocji punkt końcowy tylko do odczytu wskazuje nową replikę (dawną instancję podstawową).
    • Jeśli punkt końcowy tylko do odczytu wskazuje serwer podstawowy: aby awansowanie działało poprawnie, punkt końcowy tylko do odczytu musi wskazywać serwer przeznaczony do awansowania. Wskazywanie na serwer podstawowy nie jest obsługiwane. Należy ponownie skonfigurować punkt końcowy tak, aby przed promocją wskazywał na replikę.

Zachowanie po wyzwoleniu polecenia "Podniesienie do niezależnego serwera i usunięcie z replikacji"

  • Punkt końcowy modułu zapisywania: ten punkt końcowy pozostaje niezmieniony. Nadal kieruje ruch do serwera, przechowując rolę podstawową.
  • Punkt końcowy tylko do odczytu
    • Jeśli punkt końcowy tylko do odczytu wskazuje na replikę: punkt końcowy tylko do odczytu zostaje przekierowany z promowanej repliki tak, aby wskazywał serwer podstawowy.
    • Jeśli punkt końcowy tylko do odczytu wskazuje na serwer podstawowy: punkt końcowy tylko do odczytu pozostaje niezmieniony i nadal wskazuje na ten sam serwer.

Użyj wirtualnych punktów końcowych, aby zachować stałą nazwę hosta podczas odtwarzania do punktu w czasie (PITR) lub przywracania z migawki

W tej sekcji wyjaśniono, jak używać wirtualnych punktów końcowych na serwerze elastycznym Azure Database for PostgreSQL, aby zachować spójną nazwę hosta podczas odzyskiwania do punktu w czasie (PITR) lub przywracania migawek, zapewniając, że parametry połączenia aplikacji pozostają niezmienione. Wykonaj te kroki:

  1. Dodaj wirtualny punkt końcowy do serwera podstawowego:

    • Przejdź do serwera podstawowego w portalu Azure.
    • Przejdź do karty Replikacja . W obszarze Wirtualne punkty końcowe wybierz pozycję Dodaj wirtualny punkt końcowy.
    • Skonfiguruj wirtualny punkt końcowy przy użyciu spójnej nazwy hosta, takiej jak mydb-virtual-endpoint.postgres.database.azure.com.
    • Zapisz konfigurację.
    • Zaktualizuj aplikację, aby używała tego wirtualnego punktu końcowego w ciągu połączenia.
  2. Wykonaj przywracanie do punktu w czasie (PITR) lub przywracanie migawki:

    • Inicjowanie odzyskiwania:
      • Przejdź do sekcji Kopie zapasowe serwera podstawowego.
      • Wybierz odpowiednią opcję przywracania (PITR lub snapshot) i określ żądany punkt w czasie.
    • Aktualizowanie wirtualnego punktu końcowego:
      • Po utworzeniu nowego serwera wróć do starej karty Replikacja serwera podstawowego.
      • Usuń wirtualny punkt końcowy z oryginalnego serwera podstawowego. Oryginalny serwer główny musi być w stanie succeeded, aby usunąć wirtualny punkt końcowy.
      • Dodaj ten sam wirtualny punkt końcowy do nowo utworzonego serwera.
  3. Walidacja:

    • Upewnij się, że aplikacja łączy się przy użyciu wirtualnego punktu końcowego i sprawdź operacje bazy danych po odzyskaniu.