Szeroki zakres zasobów jest dostępny podczas zdalnego zarządzania klastrami baz danych PostgreSQL. Przy odpowiednich narzędziach zarządzanie nim zdalnie nie jest trudnym zadaniem.
Korzystanie z w pełni zarządzanych usług dla PostgreSQL zapewnia obserwowalność, która może dostarczyć większość tego, czego potrzebujesz do zarządzania bazą danych. Zapewniają system ostrzegania, metryki, automatyzację czasochłonnych zadań administracyjnych systemu, zarządzanie kopiami zapasowymi itp.
W przypadku uruchamiania lokalnego jest to inne wyzwanie. To właśnie omówimy na tym blogu. Podzielimy się wskazówkami dotyczącymi zdalnego zarządzania klastrem bazy danych PostgreSQL.
Obserwowalność bazy danych
Niektórym osobom termin obserwowalność może nie być znany. Obserwowalność nie należy do przeszłości, to trend w zarządzaniu bazami danych (a nawet aplikacjami PaaS lub SaaS). Obserwowalność zajmuje się monitorowaniem, ale w pewnym stopniu obejmuje możliwość określenia stanu kondycji i wydajności bazy danych oraz ma zdolność proaktywną i reaktywną, która decyduje o pewnym stanie węzłów bazy danych.
Dobrym tego przykładem jest ClusterControl. Gdy ClusterControl wykryje ostrzeżenia na podstawie sprawdzenia danej konfiguracji, wyśle alerty do podanych kanałów. Mogą być one konfigurowane i dostosowywane przez system lub administratora bazy danych.
Jeśli Twoja podstawowa baza danych uległa degradacji i nie jest w stanie przetwarzać transakcji (odczyt lub zapis), ClusterControl zareaguje odpowiednio i zacznie wyzwalać przełączenie awaryjne, aby nowy węzeł mógł przetworzyć nieuzasadnioną przyczynę przepełnienia ruchu. W takim przypadku ClusterControl może powiadomić inżynierów o tym, co się stało, wyzwalając alarmy i wysyłając alerty. Dzienniki są również scentralizowane, a zadania dochodzeniowe i diagnostyczne można wykonać w jednym miejscu, co pozwala na szybkie uzyskanie wyników.
Chociaż może to nie oznaczać, że ClusterControl jest kompletnym pakietem do obserwacji, jest to jedno z potężnych narzędzi. Istnieją narzędzia, które są bardziej zbudowane również do zarządzania, szczególnie w środowiskach kontenerowych, takich jak Rancher zmieszany z Datadog.
Jak to pomaga w zdalnym zarządzaniu?
Jedną z podstawowych zasad zarządzania jest spokój ducha. Jeśli wystąpi problem, narzędzia, których używasz do obserwacji, muszą być w stanie powiadomić Cię za pośrednictwem poczty e-mail, wysłać SMS-a lub za pośrednictwem aplikacji pagera (takich jak PagerDuty), aby ostrzec Cię o stanie klastra baz danych,
lub możesz otrzymywać alerty takie jak poniżej...
Bardzo ważne jest, aby powiadamiał o zmianach. Następnie możesz ulepszyć i przeanalizować stan swojej infrastruktury i uniknąć wszelkich wpływów, które mogą wpłynąć na biznes.
Automatyzacja bazy danych
Bardzo ważne jest, aby większość czasochłonnych zadań była zautomatyzowana. Automatyzacja pozwala na zmniejszenie siły roboczej. Co to znaczy zautomatyzować klastry baz danych PostgreSQL?
Przełączanie awaryjne
Przełączanie awaryjne to automatyczne podejście, które występuje w przypadku bezprecedensowego incydentu (takiego jak awaria sprzętu, awaria systemu, utrata zasilania w głównym węźle głównym lub utrata sieci w całym centrum danych) . Twoja zdolność przełączania awaryjnego musi być regularnie testowana i postępować zgodnie ze standardowymi praktykami branżowymi. Wykrycie wewnętrznej awarii usługi musi dojść do punktu, w którym zostało uznane za prawdziwe i faktycznie się dzieje.
W ClusterControl, gdy wystąpi incydent, uruchamia mechanizm przełączania awaryjnego i promuje najbardziej zaktualizowany węzeł gotowości, a następnie wyzwala alarmy, jak pokazano poniżej...
Następnie działa w tle podczas przełączania awaryjnego, jak widać poniżej , postęp jest w ruchu.
pozostawiając wynik poniżej...
Harmonogram kopii zapasowych
Kopie zapasowe są bardzo ważną częścią planowania awaryjnego i odzyskiwania danych (DRP). Kopie zapasowe służą jako szkielet, gdy dane klastra dryfują po napotkaniu podzielonego mózgu lub partycji sieciowej. Są pewne sytuacje, w których pg_rewind może być również korzystny, ale automatyzacja kopii zapasowych jest zawsze bardzo ważna, aby uniknąć tak dużej utraty danych i mniejszego RPO i RTO.
W ClusterControl możesz wykonać lub utworzyć kopię zapasową bez żadnych specjalnych narzędzi lub dodać pracę narzędziową do skryptu automatycznej kopii zapasowej. Wszystkie są dostępne i od Twojej organizacji będzie zależeć, kiedy zostanie wykonana kopia zapasowa i jakie są zasady dotyczące kopii zapasowej, w tym jej przechowywania. W rzeczywistości najważniejszą rzeczą jest tutaj to, że kopia zapasowa nie powinna kolidować ze środowiskiem produkcyjnym i nie powinna blokować węzłów podczas tworzenia kopii zapasowej.
Weryfikacja kopii zapasowej również odgrywa tutaj bardzo ważną rolę. Zapewniamy, że kopia zapasowa musi być prawidłowym typem kopii zapasowej i jest niezawodną kopią w przypadku wystąpienia kryzysu. Dodanie mechanizmu do przechowywania kopii zapasowej nie tylko w Twojej siedzibie lub centrum danych, ale także do bezpiecznego przechowywania w innym miejscu, na przykład w chmurze lub AWS S3 lub Google Cloud Storage.
Dzięki ClusterControl zostało to zrobione łatwo i samodzielnie na platformie, po prostu podążając za GUI, jak pokazano poniżej,
Dzięki temu możesz wybrać wybraną metodę tworzenia kopii zapasowej, przechowywać ją w chmurze, aby zwiększyć retencję i bezpieczeństwo kopii zapasowych, rozpowszechniając kopię zapasową nie tylko w jednym źródle, ale także w chmurze. Następnie możesz zweryfikować kopię zapasową po zakończeniu tworzenia kopii zapasowej, aby sprawdzić, czy jest ona prawidłowa, czy nie. Częścią tego jest również to, że możesz wybrać szyfrowanie kopii zapasowej, co jest bardzo ważną praktyką podczas przechowywania danych w spoczynku i przestrzegania wytycznych dotyczących bezpieczeństwa.
Bezpieczeństwo bazy danych
Bezpieczeństwo jest zwykle głównym problemem większości, jeśli chodzi o zdalne zarządzanie klastrem bazy danych PostgreSQL. Kto będzie mógł uzyskać zdalny dostęp do bazy danych, czy ma ona być tylko lokalna? Jak dodać ograniczenia bezpieczeństwa oraz jak zarządzać użytkownikami i przeglądać uprawnienia użytkownika przez analityka bezpieczeństwa. Bardzo ważne jest, aby mieć więcej ustawień i zapewnić jasny obraz swojej architektury, aby można było przeanalizować, gdzie są luki i jakie są niezbędne rzeczy, aby poprawić lub wzmocnić bezpieczeństwo.
ClusterControl zapewnia przegląd i zarządzanie użytkownikami PostgreSQL oraz zapewnia wizualizację i edytor dla pliku pg_hba.conf, który zarządza sposobem uwierzytelniania użytkowników.
Dla zarządzania użytkownikami zapewnia przegląd listy użytkowników i ich uprawnień w klastrze bazy danych. Umożliwia także modyfikację lub zmianę uprawnień użytkownika, jeśli nie jest to zgodne z wytycznymi dotyczącymi bezpieczeństwa i firmy. Zdalne zarządzanie wymaga, aby wszyscy użytkownicy mieli określone uprawnienia i role, a także kiedy można z nich korzystać lub uzyskać do nich dostęp, a także ogranicza rolę, aby uniknąć uszkodzenia bazy danych.
W twoim PostgreSQL bardzo ważne jest również sprawdzenie i sprawdzenie, czy nie ma błędów z uwierzytelnieniem użytkownika. Kiedy można na to zezwolić i jego zakres, aby móc łączyć się z serwerami. Najlepiej jest to zobrazować tak, jak poniżej,
Umożliwia to łatwą weryfikację i uniknięcie przeoczenia uwierzytelniania w przypadku takich możliwych luk że atakujący może się zalogować z powodu słabych zasad uwierzytelniania.
Korzystanie z SSL i szyfrowania zapewnia większe bezpieczeństwo i niezawodność podczas zdalnego dostępu do bazy danych. Ale jeśli uzyskujesz zdalny dostęp do bazy danych poza terenem swojej organizacji, najlepiej jest enkapsulować swoje dane, na przykład logując się przez VPN. Możesz sprawdzić nasz blog na temat Multi-DC PostgreSQL:Konfigurowanie węzła gotowości w innej lokalizacji geograficznej przez VPN.
Dzienniki scentralizowanej bazy danych
Centralizacja zagregowanych dzienników zapewnia bardzo wygodny sposób badania i implementacji narzędzia do analizy bezpieczeństwa w celu zrozumienia klastrów bazy danych i ich zachowania. Jest to bardzo korzystne przy zarządzaniu zdalnymi bazami danych. Niektóre typowe podejścia wykorzystują Logstash przy użyciu stosu ELK lub zaawansowanego zarządzania dziennikami typu open source, Graylog.
Dlaczego centralizacja dzienników bazy danych jest ważna?
W przypadku, gdy musisz zbadać problem dotyczący całego klastra i zobaczyć, co przechodzi przez klastry bazy danych, serwery proxy lub systemy równoważenia obciążenia. Bardzo wygodnie jest po prostu spojrzeć na jedno miejsce. Niektóre bardzo bogate i potężne narzędzia, takie jak wspomniałem powyżej, pozwalają wyszukiwać dynamicznie i w czasie rzeczywistym. Dostarczają również metryki i wykresy, co jest bardzo wygodnym sposobem analizy.
ClusterControl zapewnia wygodę podczas uzyskiwania dostępu do dzienników. Chociaż dzienniki nie są gromadzone i przechowywane centralnie, oferuje przegląd i możliwość odczytywania dzienników. Zobacz poniżej...
Możesz nawet przejrzeć zadania wykryte przez ClusterControl i podjęte w oparciu o alarmy lub przechodząc przez zadania, tak jak poniżej,
Wnioski
Zdalne zarządzanie klastrami baz danych PostgreSQL może być trudne, zwłaszcza jeśli chodzi o bezpieczeństwo, monitorowanie i przełączanie awaryjne. Jeśli dysponujesz odpowiednimi narzędziami, standardami branżowymi i najlepszymi praktykami w zakresie wdrażania, bezpieczeństwa i obserwowalności, możesz mieć spokój podczas zarządzania bazą danych; niezależnie od Twojej lokalizacji.