sql >> Database >  >> RDS >> PostgreSQL

Tips voor het op afstand beheren van PostgreSQL

Er is een breed scala aan bronnen voor u beschikbaar wanneer u uw PostgreSQL-databaseclusters op afstand beheert. Met de juiste tools is het op afstand beheren geen moeilijke taak.

Het gebruik van volledig beheerde services voor PostgreSQL biedt een waarneembaarheid die het meeste kan leveren van wat u nodig hebt om uw database te beheren. Ze bieden u een waarschuwingssysteem, statistieken, automatisering van tijdrovende systeembeheertaken, beheer van uw back-ups, enz.

Als je op locatie draait, is het een andere uitdaging. Daar gaan we het in deze blog over hebben. We delen tips voor het op afstand beheren van uw PostgreSQL-databasecluster.

Databasewaarneembaarheid

De term waarneembaarheid is voor sommige mensen misschien niet bekend. Observeerbaarheid behoort niet tot het verleden, het is de trend bij het beheer van uw databases (of zelfs PaaS- of SaaS-applicaties). Observability houdt zich bezig met monitoring, maar omvat tot op zekere hoogte de mogelijkheid om de status en prestaties van uw database te bepalen en heeft een proactieve en reactieve mogelijkheid die beslist op basis van een bepaalde status van uw databaseknooppunten.

Een goed voorbeeld hiervan is in ClusterControl. Wanneer ClusterControl waarschuwingen detecteert op basis van de controles op een bepaalde configuratie, stuurt het waarschuwingen naar de opgegeven kanalen. Deze kunnen worden ingesteld en aangepast door het systeem of de databasebeheerder.

Als uw primaire database is gedegradeerd en niet in staat transacties te verwerken (lezen of schrijven), zal ClusterControl dienovereenkomstig reageren en een failover starten, zodat een nieuw knooppunt de ongerechtvaardigde oorzaak van overlopend verkeer kan verwerken. Terwijl dit gebeurt, kan ClusterControl de technici informeren over wat er is gebeurd door alarmen te activeren en waarschuwingen te verzenden. Logs zijn ook gecentraliseerd en welke onderzoeks- en diagnostische taken kunnen op één plek worden gedaan, zodat u snel een resultaat kunt geven.

Hoewel dit misschien niet betekent dat ClusterControl een compleet pakket is voor Observability, is het een van de krachtige tools. Er zijn tools die meer zijn ontworpen om te beheren, met name in gecontaineriseerde omgevingen zoals Rancher gemengd met Datadog.

Hoe helpt dit u bij het beheren op afstand?

Een basisprincipe van management is om gemoedsrust te hebben. Als er zich een probleem voordoet, moeten de tools die u gebruikt voor observatie in staat zijn u op de hoogte te stellen via e-mail, u een sms te sturen of via een pager-applicatie (zoals PagerDuty) om u op de hoogte te stellen van de status van uw databasecluster,

of u kunt waarschuwingen ontvangen zoals hieronder...

Het is erg belangrijk dat het u op de hoogte stelt wanneer er wijzigingen optreden. U kunt dan de staat van uw infrastructuur verbeteren en analyseren en eventuele gevolgen voor het bedrijf vermijden.

Database-automatisering

Het is erg belangrijk dat de meeste tijdrovende taken worden geautomatiseerd. Automatisering stelt u in staat om de mankracht te verkleinen. Wat betekent het om uw PostgreSQL-databaseclusters te automatiseren?

Failover

Failover is een automatische aanpak die optreedt wanneer zich een ongekend incident voordoet (zoals een storing in de hardware, een systeemcrash, stroomuitval in uw primaire primaire knooppunt of een netwerkverlies binnen het gehele datacenter) . Uw failover-capaciteit moet regelmatig worden getest en de standaardpraktijken in de branche volgen. De servicedetectie van een interne storing moet zo ver gaan dat het is vastgesteld als waar en het daadwerkelijk gebeurt.

Als zich in ClusterControl een incident voordoet, wordt het failover-mechanisme geactiveerd en wordt het meest recente stand-byknooppunt gepromoot en vervolgens alarmen geactiveerd, zoals hieronder te zien is...

Vervolgens werkt het op de achtergrond voor een failover, zoals je hieronder hebt gezien , de voortgang is onderweg.

laat het resultaat zoals het hieronder eindigt...

Back-upplanning

Back-ups zijn een zeer belangrijk onderdeel van Disaster and Recovery Planning (DRP). Back-ups dienen als uw ruggengraat wanneer uw clustergegevens op drift raken na een gespleten brein of netwerkpartitie. Er zijn bepaalde gelegenheden waarbij pg_rewind ook nuttig kan zijn, maar automatisering van uw back-ups is altijd erg belangrijk om een ​​dergelijk enorm gegevensverlies en minder RPO en RTO te voorkomen.

In ClusterControl kunt u een back-up maken of maken zonder speciale hulpmiddelen of hulpprogramma's toevoegen om een ​​automatische back-up te scripten. Ze zijn er allemaal en het is aan uw organisatie wanneer de back-up zal plaatsvinden en wat het beleid van uw back-up is, inclusief het bewaren ervan. In feite is het belangrijkste hier dat back-up uw productieomgeving niet hindert en uw nodes niet op slot doet wanneer back-up plaatsvindt.

Back-upverificatie speelt hier ook een zeer belangrijke rol. Wees gerust, uw back-up moet een geldig type back-up zijn en is een betrouwbare kopie wanneer zich een crisis voordoet. Het mechanisme toevoegen om uw back-up niet alleen in uw pand of datacenter op te slaan, maar ook ergens anders veilig op te slaan, zoals in de cloud of naar AWS S3 of Google Cloud Storage bijvoorbeeld.

Met ClusterControl is dit eenvoudig en eigenhandig allemaal op het platform gedaan door gewoon de GUI te volgen, zoals hieronder weergegeven,

Hierdoor kunt u de back-upmethode die u kiest oppikken en in de cloud opslaan om meer back-upretentie en zekerheid toe te voegen door uw back-upkopie niet alleen in één bron, maar ook in de cloud te verspreiden. Vervolgens hebt u een optie om de back-up te verifiëren zodra deze klaar is met het maken van de back-up om te controleren of het een geldige is of niet. Onderdeel hiervan is dat u ervoor kunt kiezen om uw back-up te versleutelen, wat een zeer belangrijke praktijk is bij het opslaan van uw gegevens in rust en bij het naleven van de veiligheidsrichtlijnen.

Databasebeveiliging

Beveiliging is meestal de belangrijkste zorg van de meerderheid als het gaat om het op afstand beheren van uw PostgreSQL-databasecluster. Wie heeft op afstand toegang tot de database of moet deze alleen lokaal zijn? Hoe u beveiligingsbeperkingen kunt toevoegen en hoe u de gebruikers kunt beheren en de toestemming van de gebruiker kunt controleren door een beveiligingsanalist. Het is erg belangrijk om een ​​meer set op zijn plaats te hebben en een duidelijk beeld te geven van uw architectuur, zodat deze kan worden ontleed waar de mazen in de wet zitten en wat nodig is om de beveiliging te verbeteren of aan te scherpen.

ClusterControl biedt u een overzicht van en beheer van uw PostgreSQL-gebruikers en biedt u een visualisatie en een editor voor uw pg_hba.conf, die beheert hoe de gebruikers kunnen worden geverifieerd.

Voor Gebruikersbeheer biedt het een overzicht van de lijst met gebruikers en de bijbehorende rechten in het databasecluster. U kunt hier ook de gebruikersrechten wijzigen of wijzigen als dit niet in overeenstemming is met uw beveiligings- en bedrijfsrichtlijnen. Beheer op afstand vereist dat al uw gebruikers specifieke machtigingen en rollen hebben en wanneer het alleen kan worden gebruikt of geopend, en beperkt de rol om schade aan uw database te voorkomen.

Het is ook erg belangrijk in uw PostgreSQL om te controleren en te verifiëren dat er geen fouten zijn met de authenticatie van de gebruiker. Wanneer het kan worden toegestaan ​​en de reikwijdte ervan om verbinding te kunnen maken met de servers. Het is het beste dat dit wordt gevisualiseerd zoals we hieronder hebben,

Hierdoor kunt u eenvoudig verifiëren en voorkomen dat de authenticatie voor dergelijke mogelijke mazen over het hoofd wordt gezien dat een aanvaller mogelijk kan inloggen vanwege zwakke regels in authenticatie.

Het gebruik van SSL en codering voegt meer veiligheid en robuustheid toe wanneer uw database op afstand wordt benaderd. Maar als u uw database extern benadert buiten het terrein van uw organisatie, kunt u uw gegevens het beste inkapselen, zoals inloggen via een VPN. Je kunt onze blog lezen over Multi-DC PostgreSQL:een stand-byknooppunt opzetten op een andere geolocatie via een VPN.

Gecentraliseerde databaselogboeken

Centralisatie van geaggregeerde logboeken biedt u een zeer handige manier om een ​​beveiligingsanalysetool te onderzoeken en te implementeren om inzicht te krijgen in uw databaseclusters en hoe ze zich gedragen. Dit is erg handig bij het beheren van externe databases. Enkele veelvoorkomende benaderingen zijn het gebruik van Logstash met behulp van de ELK-stack of het krachtige open-sourcebeheer voor logboeken, Graylog.

Waarom is het belangrijk om uw databaselogboeken te centraliseren?

Voor het geval u een clusterbreed probleem moet onderzoeken en wilt zien wat er door uw databaseclusters, proxy's of load balancers is gegaan. Het is erg handig om maar naar één plek te kijken. Sommige zeer rijke en krachtige tools, zoals ik hierboven noemde, laten je dynamisch en in realtime zoeken. Ze bieden ook statistieken en grafieken, wat een erg handige manier is voor analyse.

Met ClusterControl is er een gemak bij het openen van de logs. Hoewel de logs niet centraal worden verzameld en opgeslagen, biedt het u wel overzicht en de mogelijkheid om de logs uit te lezen. Zie hieronder...

U kunt zelfs de taken bekijken van wat ClusterControl heeft gedetecteerd en heeft gedaan, ofwel op basis van de alarmen of het doorlopen van de taken, zoals hieronder,

Conclusie

Het op afstand beheren van uw PostgreSQL-databaseclusters kan ontmoedigend zijn, vooral als het gaat om beveiliging, bewaking en failover. Als u over de juiste tools, industriestandaarden en best practices voor implementatie, beveiliging en observatie beschikt, kunt u met een gerust hart uw database beheren; ongeacht uw locatie.


  1. Benoemde tijdzones instellen in MariaDB

  2. Query die de spaties negeert

  3. Mysql:Stel het formaat van DATETIME in op 'DD-MM-YYYY UU:MM:SS' bij het maken van een tabel

  4. De volgorde van tekens in een tekenreeks omkeren in MySQL