PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Wdrożenie klastra PostgreSQL Multi-Cloud Cluster

Środowisko wielochmurowe jest dobrą opcją dla planu odzyskiwania po awarii (DRP), ale może to być czasochłonne zadanie, ponieważ musisz skonfigurować łączność między różnymi dostawcami usług w chmurze, następnie musisz wdrożyć i zarządzać klastrem bazy danych w dwóch różnych miejscach.

W tym blogu pokażemy, jak przeprowadzić wdrożenie multi-cloud dla PostgreSQL w dwóch najpopularniejszych obecnie dostawcach usług w chmurze, AWS i Google Cloud. W tym zadaniu użyjemy niektórych funkcji oferowanych przez ClusterControl, takich jak skalowanie i replikacja między klastrami.

Założymy, że masz uruchomioną instalację ClusterControl i utworzyłeś już dwa różne konta dostawców chmury.

Przygotowywanie środowiska chmury

Najpierw musisz utworzyć swoje środowisko w głównym dostawcy chmury. W tym przypadku użyjemy AWS z 2 węzłami PostgreSQL:

Upewnij się, że ruch SSH i PostgreSQL z serwera ClusterControl jest dozwolony przez edytowanie grupy bezpieczeństwa:

Następnie przejdź do dodatkowego dostawcy chmury i utwórz co najmniej jedną maszynę wirtualną to będzie węzeł podrzędny. Użyjemy Google Cloud Platform z 1 węzłem PostgreSQL.

I ponownie upewnij się, że zezwalasz na ruch SSH i PostgreSQL z ClusterControl serwer:

W tym przypadku zezwalamy na ruch bez żadnych ograniczeń w źródle , ale to tylko przykład i nie jest zalecane w prawdziwym życiu.

Wdróż klaster PostgreSQL w chmurze

Będziemy używać ClusterControl do tego zadania, więc zakładamy, że masz go zainstalowany.

Przejdź do serwera ClusterControl i wybierz opcję „Wdróż”. Jeśli masz już uruchomioną instancję PostgreSQL, musisz zamiast tego wybrać opcję „Importuj istniejący serwer/bazę danych”.

Wybierając PostgreSQL, musisz określić Użytkownika, Klucz lub Hasło oraz port do łączenia się przez SSH z węzłami PostgreSQL. Potrzebna jest również nazwa nowego klastra i jeśli chcesz, aby ClusterControl zainstalował dla Ciebie odpowiednie oprogramowanie i konfiguracje.

Sprawdź wymagania użytkownika ClusterControl, aby uzyskać więcej informacji na temat tego kroku.

Po skonfigurowaniu informacji dostępowych SSH należy zdefiniować użytkownika bazy danych, wersja i katalog danych (opcjonalnie). Możesz również określić, którego repozytorium chcesz użyć. W następnym kroku musisz dodać swoje serwery do klastra, który zamierzasz utworzyć.

Podczas dodawania serwerów możesz podać adres IP lub nazwę hosta. W tym kroku możesz również dodać węzeł umieszczony w dodatkowym dostawcy chmury, ponieważ ClusterControl nie ma żadnych ograniczeń dotyczących używanej sieci, ale aby było to bardziej przejrzyste, dodamy go w następnej sekcji. Jedynym wymogiem jest posiadanie dostępu SSH do węzła.

W ostatnim kroku możesz wybrać, czy twoja replikacja będzie synchroniczna, czy Asynchroniczny.

Jeśli dodajesz tutaj swój węzeł zdalny, ważne jest, aby użyć replikacji asynchronicznej, jeśli nie, na klaster mogą mieć wpływ opóźnienia lub problemy z siecią.

Możesz monitorować stan tworzenia w monitorze aktywności ClusterControl.

Po zakończeniu zadania możesz zobaczyć swój nowy klaster PostgreSQL w główny ekran ClusterControl.

Dodawanie zdalnego węzła podrzędnego w chmurze

Po utworzeniu klastra możesz wykonać na nim kilka zadań, takich jak wdrażanie/importowanie systemu równoważenia obciążenia lub węzła podrzędnego replikacji.

Przejdź do działań klastra i wybierz „Dodaj urządzenie podrzędne replikacji”:

Skorzystajmy z opcji „Dodaj nowe urządzenie podrzędne replikacji”, ponieważ zakładamy, że węzeł zdalny to nowa instalacja, jeśli nie, możesz zamiast tego użyć opcji „Importuj istniejący moduł replikacji”.

Tutaj wystarczy wybrać serwer główny, wprowadzić adres IP dla nowego serwera podrzędnego oraz port bazy danych. Następnie możesz wybrać, czy chcesz, aby ClusterControl zainstalował oprogramowanie i czy urządzenie podrzędne replikacji powinno być synchroniczne czy asynchroniczne. Ponownie, jeśli dodajesz węzeł w innym centrum danych, powinieneś użyć replikacji asynchronicznej, aby uniknąć problemów związanych z wydajnością sieci.

W ten sposób możesz dodać dowolną liczbę replik i rozłożyć między nimi ruch odczytu za pomocą modułu równoważenia obciążenia, który możesz również zaimplementować za pomocą ClusterControl.

Możesz monitorować tworzenie urządzenia podrzędnego replikacji w monitorze aktywności ClusterControl.

I sprawdź ostateczną topologię w sekcji Widok topologii.

Replikacja między klastrami w chmurze

Zamiast korzystać z opcji „Dodaj urządzenie podrzędne replikacji”, aby mieć środowisko Multi-Cloud, możesz użyć funkcji ClusterControl Cluster-to-Cluster Replication, aby dodać zdalny klaster. W tej chwili ta funkcja ma ograniczenie dla PostgreSQL, które pozwala na posiadanie tylko jednego węzła zdalnego, więc jest to bardzo podobne do poprzedniego sposobu, ale pracujemy nad usunięciem tego ograniczenia wkrótce w przyszłej wersji.

Aby utworzyć nowy klaster Slave, przejdź do ClusterControl -> Wybierz Cluster -> Cluster Actions -> Create Slave Cluster.

Klaster Slave zostanie utworzony przez strumieniowe przesyłanie danych z bieżącego klastra głównego.

W tej sekcji należy wybrać węzeł główny bieżącego klastra z które dane zostaną zreplikowane.

Gdy przejdziesz do następnego kroku, musisz określić Użytkownika, Klucz lub Hasło i port do połączenia przez SSH z Twoimi serwerami. Potrzebujesz również nazwy dla swojego klastra Slave i jeśli chcesz, aby ClusterControl zainstalował dla Ciebie odpowiednie oprogramowanie i konfiguracje.

Po skonfigurowaniu informacji dostępowych SSH należy zdefiniować wersję bazy danych, datadir, port i poświadczenia administratora. Ponieważ będzie korzystać z replikacji strumieniowej, upewnij się, że używasz tej samej wersji bazy danych i poświadczeń, które są używane w Master Cluster. Możesz także określić, którego repozytorium chcesz użyć.

W tym kroku musisz dodać serwer dla nowego klastra Slave . W tym zadaniu możesz wprowadzić zarówno adres IP, jak i nazwę hosta węzła bazy danych.

Możesz monitorować tworzenie klastra podrzędnego w monitorze aktywności ClusterControl. Po zakończeniu zadania możesz zobaczyć klaster na głównym ekranie ClusterControl.

Wnioski

Te funkcje ClusterControl pozwolą Ci szybko skonfigurować replikację między różnymi dostawcami chmury dla bazy danych PostgreSQL (i różnych technologii) oraz zarządzać konfiguracją w łatwy i przyjazny sposób. Jeśli chodzi o komunikację między dostawcami chmury, ze względów bezpieczeństwa należy ograniczyć ruch tylko ze znanych źródeł, a więc tylko od dostawcy chmury 1 do dostawcy chmury 2 i odwrotnie.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Użyj połączenia PostgreSQL SSL w rdzy z certyfikatami z podpisem własnym

  2. Powolne proste zapytanie o aktualizację w bazie danych PostgreSQL z 3 milionami wierszy

  3. Jak zwrócić tablicę jsonb i tablicę obiektów z moich danych?

  4. Zakończ zawieszone zapytanie (bezczynne w transakcji)

  5. Tworzenie nowych modułów za pomocą rozszerzenia PostgreSQL Create