sql >> Database teknologi >  >> RDS >> PostgreSQL

Tips til fjernstyring af PostgreSQL

En lang række ressourcer er tilgængelige for dig, når du fjernadministrerer dine PostgreSQL-databaseklynger. Med de rigtige værktøjer er det ikke en vanskelig opgave at fjernadministrere det.

Brug af fuldt administrerede tjenester til PostgreSQL giver en observerbarhed, der kan levere det meste af det, du har brug for til at administrere din database. De giver dig et alarmsystem, målinger, automatisering af tidskrævende systemadministrationsopgaver, håndtering af dine sikkerhedskopier osv.

Når du kører on-prem, er det en anden udfordring. Det er, hvad vi vil dække i denne blog. Vi deler tips om fjernadministrering af din PostgreSQL-databaseklynge.

Databaseobservabilitet

Begrebet observerbarhed er måske ikke en kendt ting for nogle mennesker. Observerbarhed hører ikke fortiden til, det er trenden, når du administrerer dine databaser (eller endda PaaS- eller SaaS-applikationer). Observerbarhed beskæftiger sig med overvågning, men til en vis grad dækker den over evnen til at bestemme tilstanden af ​​din databases sundhed og ydeevne og har en proaktiv og reaktiv kapacitet, som bestemmer ud fra en bestemt status for dine databasenoder.

Et godt eksempel på dette er i ClusterControl. Når ClusterControl registrerer advarsler baseret på kontrollerne på en given konfiguration, vil den sende advarsler til de angivne kanaler. Disse kan konfigureres og tilpasses af systemet eller databaseadministratoren.

Hvis din primære database er blevet forringet og ude af stand til at behandle transaktioner (enten læse eller skrive), vil ClusterControl reagere i overensstemmelse hermed og begynde at udløse en failover, så en ny node kan behandle den uberettigede årsag til overfyldt trafik. Mens dette sker, kan ClusterControl underrette ingeniørerne, hvad der skete, ved at udløse alarmer og sende alarmer. Logfiler er også centraliserede, og hvilke undersøgelser og diagnostiske opgaver kan udføres ét sted, så du kan levere et hurtigt resultat.

Selvom dette måske ikke betyder, at ClusterControl er en komplet pakke til observerbarhed, er det et af de kraftfulde værktøjer. Der er værktøjer, der også er mere arkitektonerede til at styre, især i containeriserede miljøer såsom Rancher blandet med Datadog.

Hvordan hjælper dette dig med at administrere fjernadgang?

Et grundlæggende princip for ledelse er at have ro i sindet. Hvis der opstår et problem, skal de værktøjer, du bruger til observerbarhed, være i stand til at give dig besked via e-mail, sende dig SMS eller via en personsøger-applikation (såsom PagerDuty) for at advare dig om status for din databaseklynge,

eller du kan modtage advarsler som nedenfor...

Det er meget vigtigt, at den giver dig besked, når der sker ændringer. Du kan derefter forbedre og analysere din infrastrukturs tilstand og undgå enhver påvirkning, der kan påvirke virksomheden.

Databaseautomatisering

Det er meget vigtigt, at de fleste af de tidskrævende opgaver er automatiserede. Automatisering giver dig mulighed for at reducere arbejdskraften. Hvad betyder det at automatisere dine PostgreSQL-databaseklynger?

Failover

Failover er en automatisk tilgang, der opstår, når en hidtil uset hændelse opstår (såsom en hardwarefejl, et systemnedbrud, strømsvigt i din primære hovedknude eller et netværkstab i hele datacentret) . Din failover-kapacitet skal testes regelmæssigt og følge industristandardpraksis. Tjenesteopdagelsen af ​​en intern fejl skal gå til det punkt, at den er blevet fastslået som sand, og den faktisk sker.

I ClusterControl, når en hændelse opstår, udløser den failover-mekanismen og fremmer den mest opdaterede standby-knude og udløser derefter alarmer som vist nedenfor...

Derefter fungerer det i baggrunden for en failover, som du har set nedenfor , fremskridtene er i bevægelse.

efterlader resultatet, som det afsluttes nedenfor...

Sikkerhedskopieringsplanlægning

Sikkerhedskopier er en meget vigtig del af Disaster and Recovery Planning (DRP). Sikkerhedskopier fungerer som din rygrad, når dine klyngedata går på drift, efter at en delt hjerne eller netværkspartition støder på. Der er visse lejligheder, hvor pg_rewind også kan være gavnligt, men automatisering af dine sikkerhedskopier er altid meget vigtigt for at undgå et sådant stort tab af data og mindre RPO og RTO.

I ClusterControl kan du tage eller oprette en sikkerhedskopi uden specielle værktøjer eller tilføje hjælpearbejde til at scripte en automatiseret sikkerhedskopi. Alle er der, og det vil være op til din organisation, hvornår sikkerhedskopieringen finder sted, og hvad er politikkerne for din sikkerhedskopiering, herunder dens opbevaring. Faktisk er det vigtigste her, at backup ikke skal forstyrre dit produktionsmiljø og ikke låse dine noder, når backup finder sted.

Sikkerhedskopieringsbekræftelse spiller også en meget vigtig rolle her. Vær sikker på, din backup skal være en gyldig type backup og er en pålidelig kopi, når en krise finder sted. Tilføjelse af mekanismen til at gemme din sikkerhedskopi ikke kun i dine lokaler eller datacenter, men også gemme den andre steder sikkert som i skyen eller til AWS S3 eller Google Cloud Storage for eksempel.

Med ClusterControl er dette blevet taget let og enehåndet alt på platformen ved blot at følge GUI'en som vist nedenfor,

Dette giver dig mulighed for at hente den sikkerhedskopieringsmetode, du vælger, gemme den i skyen for at tilføje mere sikkerhedskopiering og sikkerhed ved at sprede din sikkerhedskopi ikke kun i én kilde, men også i skyen. Derefter har du mulighed for at bekræfte sikkerhedskopien, når den er færdig med at oprette sikkerhedskopien for at bekræfte, om den er gyldig eller ej. En del af det er også, at du kan vælge at kryptere din sikkerhedskopi, hvilket er en meget vigtig praksis, når du opbevarer dine data i hvile og overholder sikkerhedsbestemmelserne.

Databasesikkerhed

Sikkerhed er normalt flertallets primære bekymring, når det kommer til fjernadministrering af din PostgreSQL-databaseklynge. Hvem vil kunne få fjernadgang til databasen, eller skal den kun være lokal? Sådan tilføjer du sikkerhedsbegrænsninger og hvordan du administrerer brugerne og gennemgår brugerens tilladelse af en sikkerhedsanalytiker. Det er meget vigtigt at have et mere sat på plads og give et klart billede af din arkitektur, så det kan dissekeres, hvor er smuthullerne, og hvad er de nødvendige ting for at forbedre eller stramme sikkerheden.

ClusterControl giver dig et overblik over og styring af dine PostgreSQL-brugere og giver dig en visualisering og en editor til din pg_hba.conf, som styrer hvordan brugerne kan godkendes.

Til brugeradministration giver det et overblik over listen over brugere og dets privilegier i databaseklyngen. Det giver dig også her mulighed for at ændre eller ændre brugerens privilegier, hvis det ikke er i overensstemmelse med din sikkerhed og virksomhedens retningslinjer. Fjernstyring kræver, at alle dine brugere skal have specifikke tilladelser og roller, og hvornår det kun kan bruges eller tilgås, og begrænser rollen for at undgå skader i din database.

Det er også meget vigtigt i din PostgreSQL at gennemgå og verificere, at der ikke er nogen bortfald med brugerens autentificering. Hvornår det kan tillades og dets omfang at kunne oprette forbindelse til serverne. Det er bedst, at dette visualiseres, som vi har nedenfor,

Dette giver dig mulighed for nemt at verificere og undgå den oversete autentificering for sådanne mulige smuthuller at en angriber muligvis kan logge ind på grund af svage regler i godkendelse.

Brug af SSL og kryptering tilføjer mere sikkerhed og robusthed, når din database tilgås eksternt. Men hvis du fjernadgang til din database uden for din organisations lokalitet, er det bedst at indkapsle dine data, såsom at logge på via en VPN. Du kan tjekke vores blog om Multi-DC PostgreSQL:Opsætning af en standby-node på en anden geo-placering over en VPN.

Centraliserede databaselogfiler

Centralisering af aggregerede logfiler giver dig en meget bekvem måde at undersøge og implementere et sikkerhedsanalyseværktøj for at forstå dine databaseklynger, og hvordan de opfører sig. Dette er meget fordelagtigt, når du administrerer fjerndatabaser. Nogle almindelige tilgange er at bruge Logstash ved hjælp af ELK-stakken eller den kraftfulde open source-styring til logfiler, Graylog.

Hvorfor er det vigtigt at centralisere dine databaselogfiler?

I tilfælde af at du har brug for at undersøge et klyngeomfattende problem og se, hvad der er gået igennem dine databaseklynger, proxyer eller belastningsbalancere. Det er meget praktisk kun at se på ét sted. Nogle meget rige og kraftfulde værktøjer som jeg nævnte ovenfor lader dig søge dynamisk og i realtid. De giver også metrikker og grafer, hvilket er en meget bekvem måde at analysere på.

Med ClusterControl er der en bekvemmelighed, når du får adgang til logfilerne. Selvom loggene ikke samles og opbevares centralt, giver det dig overblik og mulighed for at læse loggene. Se nedenfor...

Du kan endda gennemgå opgaverne for, hvad ClusterControl opdagede og havde handlet enten baseret på alarmerne eller gennemgang af jobs ligesom nedenfor,

Konklusion

Fjernstyring af dine PostgreSQL-databaseklynger kan være skræmmende, især når det kommer til sikkerhed, overvågning og failover. Hvis du har de rigtige værktøjer, industristandarder og bedste praksis for implementering, sikkerhed og observerbarhed, kan du have ro i sindet, når du administrerer din database; uanset din placering.


  1. Unicode-normalisering i PostgreSQL 13

  2. Sådan gemmer du en dato og klokkeslæt i MySQL med tidszoneoplysninger

  3. Sådan opretter du en primær nøgle i SQL

  4. Hvordan søger man efter skråstreg (\) i MySQL? og hvorfor escape (\) ikke påkrævet for hvor (=), men for Like er påkrævet?