sql >> Databáze >  >> RDS >> PostgreSQL

Tipy pro vzdálenou správu PostgreSQL

Při vzdálené správě databázových clusterů PostgreSQL máte k dispozici širokou škálu zdrojů. Se správnými nástroji není jeho vzdálená správa obtížným úkolem.

Použití plně spravovaných služeb pro PostgreSQL nabízí pozorovatelnost, která může poskytnout většinu toho, co ke správě databáze potřebujete. Poskytují vám výstražný systém, metriky, automatizaci časově náročných úloh správy systému, správu záloh atd.

Při spuštění on-prem je to jiná výzva. Tomu se budeme věnovat v tomto blogu. Podělíme se o tipy pro vzdálenou správu vašeho databázového clusteru PostgreSQL.

Pozorovatelnost databáze

Pojem pozorovatelnost nemusí být některým lidem známý. Pozorovatelnost není minulostí, je to trend při správě vašich databází (nebo dokonce aplikací PaaS nebo SaaS). Pozorovatelnost se zabývá monitorováním, ale do určité míry pokrývá schopnost určit stav zdraví a výkonu vaší databáze a má proaktivní a reaktivní schopnost, která rozhoduje na základě určitého stavu uzlů vaší databáze.

Dobrým příkladem toho je ClusterControl. Když ClusterControl zjistí varování na základě kontrol dané konfigurace, odešle výstrahy na poskytnuté kanály. Ty může nastavit a přizpůsobit správce systému nebo databáze.

Pokud byla vaše primární databáze degradována a není schopna zpracovat transakce (buď čtení nebo zápis), ClusterControl odpovídajícím způsobem zareaguje a začne spouštět převzetí služeb při selhání, aby nový uzel mohl zpracovat neoprávněnou příčinu přetečení provozu. Zatímco k tomu dojde, ClusterControl může upozornit inženýry, co se stalo, spuštěním alarmů a odesláním výstrah. Protokoly jsou také centralizované a které vyšetřovací a diagnostické úkoly lze provádět na jednom místě, což vám umožní poskytnout rychlý výsledek.

Ačkoli to nemusí znamenat, že ClusterControl je kompletní balíček pro Observability, je to jeden z mocných nástrojů. Existují nástroje, které jsou více architektonizované také pro správu, zejména v kontejnerových prostředích, jako je Rancher ve směsi s Datadog.

Jak vám to pomůže při správě na dálku?

Jedním ze základních principů řízení je mít klid. Pokud dojde k problému, nástroje, které používáte pro sledování, vás musí umět upozornit e-mailem, poslat vám SMS nebo pomocí pagerových aplikací (jako je PagerDuty), aby vás upozornily na stav vašeho clusteru databází,

nebo můžete dostávat upozornění jako níže...

Je velmi důležité, aby vás upozornil, když nastanou změny. Poté můžete zlepšit a analyzovat stav vaší infrastruktury a vyhnout se jakýmkoli dopadům, které mohou ovlivnit podnikání.

Automatizace databáze

Je velmi důležité, aby většina časově náročných úkolů byla automatizována. Automatizace umožňuje snížit počet pracovních sil. Co to znamená automatizovat vaše databázové clustery PostgreSQL?

Přepnutí při selhání

Failover je automatický přístup, ke kterému dochází, když dojde k bezprecedentnímu incidentu (jako je selhání hardwaru, selhání systému, výpadek napájení v hlavním primárním uzlu nebo ztráta sítě v celém datovém centru) . Vaše kapacita převzetí služeb při selhání musí být pravidelně testována a musí se řídit standardními průmyslovými postupy. Zjištění interního selhání služby musí dojít do bodu, kdy bylo určeno jako pravdivé a že k němu skutečně dochází.

V ClusterControl, když dojde k incidentu, spustí mechanismus převzetí služeb při selhání a podpoří nejaktualizovanější pohotovostní uzel a poté spustí alarmy, jak je vidět níže...

Pak to funguje na pozadí pro převzetí služeb při selhání, jak jste viděli níže , pokrok je v pohybu.

výsledek ponechám tak, jak bude níže...

Plánování zálohování

Zálohy jsou velmi důležitou součástí plánování po havárii a obnově (DRP). Zálohy slouží jako vaše páteř, když se data vašeho clusteru ztratí po setkání s rozděleným mozkem nebo síťovým oddílem. Existují určité příležitosti, kdy může být pg_rewind také prospěšné, ale automatizace vašich záloh je vždy velmi důležitá, abyste se vyhnuli takové obrovské ztrátě dat a menším RPO a RTO.

V ClusterControl můžete vzít nebo vytvořit zálohu bez jakýchkoli speciálních nástrojů nebo přidat pomocnou práci ke skriptování automatické zálohy. Všechny jsou k dispozici a bude na vaší organizaci, kdy bude záloha provedena a jaké jsou zásady vaší zálohy včetně jejího uchování. Ve skutečnosti je zde nejdůležitější to, že zálohování nebude zasahovat do vašeho produkčního prostředí a nezablokuje vaše uzly, když probíhá zálohování.

Velmi důležitou roli zde hraje také ověření zálohy. Ujišťujeme vás, že vaše záloha musí být platným typem zálohy a je spolehlivou kopií v případě krize. Přidání mechanismu pro uložení zálohy nejen ve vašich prostorách nebo datovém centru, ale také bezpečné uložení jinde, například v cloudu nebo do AWS S3 nebo Google Cloud Storage.

S ClusterControl to bylo provedeno snadno a jednou rukou na platformě pouhým sledováním GUI, jak je znázorněno níže,

To vám umožní vybrat si metodu zálohování, kterou si vyberete, uložit ji do cloudu, abyste získali větší zálohu a jistotu tím, že rozložíte záložní kopii nejen v jednom zdroji, ale také v cloudu. Poté máte možnost ověřit zálohu, jakmile dokončí vytváření zálohy, abyste ověřili, zda je platná nebo ne. Součástí je také to, že si můžete zvolit šifrování zálohy, což je velmi důležitý postup při ukládání dat v klidu a při dodržování bezpečnostních regulačních pokynů.

Zabezpečení databáze

Bezpečnost je obvykle primárním zájmem většiny, pokud jde o vzdálenou správu vašeho databázového clusteru PostgreSQL. Kdo bude mít přístup k databázi vzdáleně nebo by měla být pouze lokální? Jak přidat bezpečnostní omezení a jak spravovat uživatele a kontrolovat oprávnění uživatele bezpečnostním analytikem. Je velmi důležité mít na místě více nastavení a poskytnout jasný obrázek o vaší architektuře, aby bylo možné rozeznat, kde jsou mezery a jaké věci jsou nezbytné ke zlepšení nebo zpřísnění zabezpečení.

ClusterControl vám poskytuje přehled a správu vašich uživatelů PostgreSQL a poskytuje vám vizualizaci a editor pro váš pg_hba.conf, který spravuje, jak mohou být uživatelé autentizováni.

Pro správu uživatelů poskytuje přehled seznamu uživatelů a jejich oprávnění v databázovém clusteru. Umožňuje vám zde také upravit nebo změnit uživatelská oprávnění, pokud to není v souladu s vašimi bezpečnostními a firemními pokyny. Vzdálená správa vyžaduje, aby všichni vaši uživatelé měli specifická oprávnění a role a kdy je lze používat nebo k nim přistupovat, a omezuje roli, aby nedošlo k poškození vaší databáze.

Ve vašem PostgreSQL je také velmi důležité zkontrolovat a ověřit, že nedochází k žádným chybám s autentizací uživatele. Kdy to může být povoleno a jeho rozsah, aby se mohl připojit k serverům. Nejlepší je, aby to bylo vizualizováno jako níže,

Umožňuje vám to snadno ověřit a vyhnout se ověřování, které je u takových možných mezer přehlíženo že by se útočníkovi mohlo podařit přihlásit kvůli slabým pravidlům v ověřování.

Použití SSL a šifrování zvyšuje bezpečnost a robustnost při vzdáleném přístupu k databázi. Pokud však ke své databázi přistupujete vzdáleně mimo prostory vaší organizace, je nejlepší svá data zapouzdřit, jako je přihlášení přes VPN. Můžete se podívat na náš blog o Multi-DC PostgreSQL:Nastavení pohotovostního uzlu v jiné geografické poloze přes VPN.

Protokoly centralizované databáze

Centralizace agregovaných protokolů vám poskytuje velmi pohodlný způsob, jak prozkoumat a implementovat nástroj pro analýzu zabezpečení, abyste porozuměli vašim databázovým clusterům a jejich chování. To je velmi výhodné při správě vzdálených databází. Některé běžné přístupy využívají Logstash pomocí zásobníku ELK nebo výkonné open-source správy protokolů, Graylog.

Proč je důležité centralizovat protokoly databáze?

Pro případ, že potřebujete prozkoumat problém v celém clusteru a zjistit, co procházelo vašimi databázovými clustery, servery proxy nebo nástroji pro vyrovnávání zatížení. Je velmi pohodlné podívat se na jedno místo. Některé velmi bohaté a výkonné nástroje, jako jsem zmínil výše, vám umožňují vyhledávat dynamicky a v reálném čase. Poskytují také metriky a grafy, což je velmi pohodlný způsob analýzy.

ClusterControl poskytuje pohodlí při přístupu k protokolům. Přestože se protokoly neshromažďují a neukládají centrálně, nabízí vám přehled a možnost protokoly číst. Viz níže...

Můžete si dokonce prohlédnout úlohy toho, co ClusterControl zjistil a jednal buď na základě alarmů, nebo procházením úloh, jak je uvedeno níže,

Závěr

Vzdálená správa vašich databázových clusterů PostgreSQL může být skličující, zejména pokud jde o zabezpečení, monitorování a převzetí služeb při selhání. Pokud máte správné nástroje, průmyslové standardy a osvědčené postupy pro implementaci, zabezpečení a pozorovatelnost, můžete mít při správě databáze klid; bez ohledu na vaši polohu.


  1. SQL Network Interfaces, chyba:50 - Došlo k chybě za běhu místní databáze. Nelze vytvořit automatickou instanci

  2. Adminer – Pokročilý nástroj pro správu webových databází pro Linux

  3. PostgreSQL dotaz na zeměpisnou šířku a délku

  4. Jak získat přístup k Oracle DB ve VirtualBoxu z hostitele (Windows)