sql >> Databasteknik >  >> RDS >> PostgreSQL

Tips för att hantera PostgreSQL på distans

En lång rad resurser är tillgängliga för dig när du fjärrhanterar dina PostgreSQL-databaskluster. Med rätt verktyg är det ingen svår uppgift att hantera det på distans.

Att använda fullt hanterade tjänster för PostgreSQL erbjuder en observerbarhet som kan leverera det mesta du behöver för att hantera din databas. De ger dig ett varningssystem, mätvärden, automatisering av tidskrävande systemadministrationsuppgifter, hantering av dina säkerhetskopior, etc.

När man kör på plats är det en annan utmaning. Det är vad vi kommer att ta upp i den här bloggen. Vi kommer att dela tips om hur du hanterar ditt PostgreSQL-databaskluster på distans.

Databasobservbarhet

Begreppet observerbarhet kanske inte är en bekant sak för vissa människor. Observerbarhet är inte ett minne blott, det är trenden när du hanterar dina databaser (eller till och med PaaS- eller SaaS-applikationer). Observerbarhet handlar om övervakning, men till viss del täcker den förmågan att bestämma tillståndet för din databas hälsa och prestanda och har en proaktiv och reaktiv förmåga som bestämmer baserat på en viss status för dina databasnoder.

Ett bra exempel på detta finns i ClusterControl. När ClusterControl upptäcker varningar baserat på kontrollerna på en given konfiguration kommer den att skicka varningar till de tillhandahållna kanalerna. Dessa kan ställas in och anpassas av systemet eller databasadministratören.

Om din primära databas har försämrats och inte kan bearbeta transaktioner (antingen läsa eller skriva) kommer ClusterControl att reagera därefter och börja utlösa en failover så att en ny nod kan bearbeta den obefogade orsaken till överfull trafik. Medan detta inträffar kan ClusterControl meddela ingenjörerna vad som hände genom att utlösa larm och skicka varningar. Loggar är också centraliserade och vilka utredningar och diagnostiska uppgifter kan göras på ett ställe, vilket gör att du kan ge ett snabbt resultat.

Även om detta kanske inte betyder att ClusterControl är ett komplett paket för observerbarhet, är det ett av de kraftfulla verktygen. Det finns verktyg som är mer arkitektonerade också för att hantera speciellt i containermiljöer som Rancher blandat med Datadog.

Hur hjälper detta dig att hantera på distans?

En grundläggande princip för ledning är att ha sinnesfrid. Om ett problem uppstår måste verktygen du använder för observerbarhet kunna meddela dig via e-post, skicka SMS till dig eller genom ett personsökarprogram (som PagerDuty) för att uppmärksamma dig på statusen för ditt databaskluster,

eller så kan du få varningar som nedan...

Det är mycket viktigt att den meddelar dig när ändringar sker. Du kan sedan förbättra och analysera tillståndet för din infrastruktur och undvika alla effekter som kan påverka verksamheten.

Databasautomatisering

Det är mycket viktigt att de flesta av de tidskrävande uppgifterna är automatiserade. Automatisering gör att du kan minska personalstyrkan. Vad innebär det att automatisera dina PostgreSQL-databaskluster?

Failover

Failover är ett automatiskt tillvägagångssätt som inträffar när en aldrig tidigare skådad incident inträffar (som ett maskinvarufel, en systemkrasch, strömavbrott i din primära nod eller ett nätverksbortfall i hela datacentret) . Din failover-kapacitet måste testas regelbundet och följa branschstandardpraxis. Serviceupptäckten av ett internt fel måste gå till den punkt att det har fastställts som sant och att det faktiskt händer.

I ClusterControl, när en incident inträffar utlöser den failover-mekanismen och främjar den mest uppdaterade standbynoden och utlöser sedan larm som visas nedan...

Då fungerar det i bakgrunden för en failover som du har sett nedan , framstegen är i rörelse.

lämnar resultatet när det slutar nedan...

Säkerhetskopieringsplanering

Säkerhetskopiering är en mycket viktig del av Disaster and Recovery Planning (DRP). Säkerhetskopieringar fungerar som din ryggrad när dina klusterdata går i drift efter att en delad hjärna eller nätverkspartition stöter på. Det finns vissa tillfällen där pg_rewind också kan vara fördelaktigt men automatisering av dina säkerhetskopior är alltid mycket viktigt för att undvika sådana enorma förluster av data och mindre RPO och RTO.

I ClusterControl kan du ta eller skapa en säkerhetskopia utan några speciella verktyg eller lägga till verktygsarbete för att skripta en automatisk säkerhetskopia. Alla finns där och det kommer att vara upp till din organisation när säkerhetskopieringen kommer att äga rum och vad är policyerna för din säkerhetskopiering inklusive dess lagring. Faktum är att det viktigaste här är att säkerhetskopiering inte ska störa din produktionsmiljö och inte låsa dina noder när säkerhetskopiering sker.

Verifiering av säkerhetskopiering spelar också en mycket viktig roll här. Var säker, din säkerhetskopia måste vara en giltig typ av säkerhetskopia och är en pålitlig kopia när en kris inträffar. Att lägga till mekanismen för att lagra din säkerhetskopia inte bara i dina lokaler eller datacenter, utan också lagra den säkert någon annanstans, som i molnet eller till AWS S3 eller Google Cloud Storage till exempel.

Med ClusterControl har detta tagits enkelt och ensamt på plattformen genom att bara följa GUI som visas nedan,

Detta gör att du kan hämta säkerhetskopieringsmetoden du väljer, lagra den i molnet för att lägga till mer säkerhetskopiering och säkerhet genom att sprida din säkerhetskopia inte bara i en källa utan också i molnet. Sedan har du ett alternativ att verifiera säkerhetskopian när den är klar med att skapa säkerhetskopian för att verifiera om den är giltig eller inte. En del av det är också att du kan välja att kryptera din säkerhetskopia, vilket är en mycket viktig praxis när du lagrar dina data i vila och följer säkerhetsreglerna.

Databassäkerhet

Säkerhet är vanligtvis majoritetens primära angelägenhet när det kommer till att hantera ditt PostgreSQL-databaskluster på distans. Vem kommer att kunna komma åt databasen på distans eller ska den bara vara lokal? Hur man lägger till säkerhetsbegränsningar och hur man hanterar användarna och granskar användarens tillstånd av en säkerhetsanalytiker. Det är mycket viktigt att ha en mer inställd på plats och ge en tydlig bild av din arkitektur så att den kan dissekeras var kryphålen finns och vad som behövs för att förbättra eller skärpa säkerheten.

ClusterControl ger dig en översikt över och hantering av dina PostgreSQL-användare och ger dig en visualisering och en editor för din pg_hba.conf, som hanterar hur användarna kan autentiseras.

För användarhantering ger den en översikt över listan över användare och dess privilegier i databasklustret. Det låter dig också här ändra eller ändra användarens privilegier om det inte är i enlighet med din säkerhet och företagets riktlinjer. Att hantera på distans kräver att alla dina användare måste ha specifika behörigheter och roller och när det bara kan användas eller nås och begränsar rollen för att undvika skador i din databas.

Det är också mycket viktigt i din PostgreSQL att granska och verifiera att det inte finns några förfallodagar med användarens autentisering. När det kan tillåtas och dess omfattning att kunna ansluta till servrarna. Det är bäst att detta visualiseras som vi har nedan,

Detta låter dig enkelt verifiera och undvika att autentiseringen förbises för sådana möjliga kryphål att en angripare kanske kan logga in på grund av svaga regler i autentisering.

Att använda SSL och kryptering ger mer säkerhet och robusthet när din databas nås på distans. Men om du får åtkomst till din databas på distans utanför din organisations lokal, är det bäst att kapsla in dina data som att logga in via ett VPN. Du kan kolla in vår blogg om Multi-DC PostgreSQL:Setting Up a Standby Node at a Different Geo-Location Over a VPN.

Centraliserade databasloggar

Centralisering av aggregerade loggar ger dig ett mycket bekvämt sätt att undersöka och implementera ett säkerhetsanalysverktyg för att förstå dina databaskluster och hur de beter sig. Detta är mycket fördelaktigt när du hanterar fjärrdatabaser. Några vanliga metoder är att använda Logstash med hjälp av ELK-stacken eller den kraftfulla öppen källkodshantering för loggar, Graylog.

Varför är det viktigt att centralisera dina databasloggar?

Om du behöver undersöka ett klusteromfattande problem och se vad som har gått igenom dina databaskluster, proxyservrar eller lastbalanserare. Det är väldigt bekvämt att bara titta på ett ställe. Några mycket rika och kraftfulla verktyg som jag nämnde ovan låter dig söka dynamiskt och i realtid. De tillhandahåller även mätvärden och grafer vilket är ett mycket bekvämt sätt att analysera.

Med ClusterControl finns det en bekvämlighet för att komma åt loggarna. Även om loggarna inte samlas in och lagras centralt, ger det dig en överblick och möjlighet att läsa loggarna. Se nedan...

Du kan till och med granska jobben för vad ClusterControl upptäckte och hade agerat antingen baserat på larmen eller genom att gå igenom jobben precis som nedan,

Slutsats

Att hantera dina PostgreSQL-databaskluster på distans kan vara skrämmande, särskilt när det kommer till säkerhet, övervakning och failover. Om du har rätt verktyg, branschstandarder och bästa praxis för implementering, säkerhet och observerbarhet kan du känna dig lugn när du hanterar din databas; oavsett var du befinner dig.


  1. Spelar ordningsföljden på tabellerna i en koppling någon roll när LEFT (yttre) kopplingar används?

  2. Hur man installerar ArangoDB på Ubuntu 20.04

  3. UPPDATERING med CASE och IN - Oracle

  4. Hur man infogar Excel- eller CSV-data i tabell med hjälp av grafiskt användargränssnitt i SQL Server - SQL Server / TSQL självstudie del 102