PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Съвети за дистанционно управление на PostgreSQL

Достъпен е широк спектър от ресурси, когато управлявате дистанционно вашите PostgreSQL клъстери от база данни. С правилните инструменти дистанционното управление не е трудна задача.

Използването на напълно управлявани услуги за PostgreSQL предлага наблюдаемост, която може да достави повечето от това, от което се нуждаете, за да управлявате вашата база данни. Те ви предоставят система за известяване, показатели, автоматизация на отнемащи време административни задачи на системата, управление на вашите архиви и др.

Когато се изпълнява локално, това е различно предизвикателство. Това е, което ще разгледаме в този блог. Ще споделим съвети за дистанционно управление на вашия PostgreSQL клъстер от база данни.

Наблюдаемост на базата данни

Терминът наблюдаемост може да не е познато нещо на някои хора. Наблюдаемостта не е нещо от миналото, това е тенденцията при управление на вашите бази данни (или дори PaaS или SaaS приложения). Наблюдаемостта се занимава с наблюдение, но до известна степен обхваща способността да се определи състоянието на здравето и производителността на вашата база данни и има проактивна и реактивна способност, която решава въз основа на определено състояние на възлите на вашата база данни.

Добър пример за това е в ClusterControl. Когато ClusterControl открие предупреждения въз основа на проверките на дадена конфигурация, той ще изпраща сигнали до предоставените канали. Те могат да бъдат настроени и персонализирани от системата или администратора на база данни.

Ако основната ви база данни е влошена и не може да обработва транзакции (четене или запис), ClusterControl ще реагира съответно и ще започне да задейства отказ, така че нов възел да може да обработи неоправданата причина за препълване на трафика. Докато това се случва, ClusterControl може да уведоми инженерите за случилото се чрез задействане на аларми и изпращане на сигнали. Регистрите също са централизирани и кои задачи за разследване и диагностика могат да се извършват на едно място, което ви позволява да осигурите бърз резултат.

Въпреки че това може да не означава, че ClusterControl е пълен пакет за Observability, той е един от мощните инструменти. Има инструменти, които са по-архитектурни и за управление, особено в контейнерни среди като Rancher, смесен с Datadog.

Как ви помага това да управлявате отдалечено?

Един основен принцип на управление е да имате спокойствие. Ако възникне проблем, инструментите, които използвате за наблюдение, трябва да могат да ви уведомяват по имейл, да ви изпращат SMS или чрез пейджър приложения (като PagerDuty), за да ви предупредят за състоянието на клъстера ви от бази данни,

или можете да получавате сигнали като по-долу...

Много е важно да ви уведомява, когато настъпят промени. След това можете да подобрите и анализирате състоянието на вашата инфраструктура и да избегнете всякакви въздействия, които могат да засегнат бизнеса.

Автоматизация на базата данни

Много е важно повечето от отнемащите време задачи да са автоматизирани. Автоматизацията ви позволява да намалите работната сила. Какво означава автоматизиране на вашите PostgreSQL клъстери от база данни?

Отказ при отказ

Отказът е автоматичен подход, който възниква, когато възникне безпрецедентен инцидент (като повреда на хардуера, срив на системата, загуба на захранване във вашия основен основен възел или загуба на мрежа в целия център за данни) . Вашият капацитет за преодоляване на срив трябва да се тества редовно и да следва стандартните практики в индустрията. Откриването на услугата на вътрешна повреда трябва да стигне до точката, в която тя е определена като вярна и действително се случва.

В ClusterControl, когато възникне инцидент, той задейства механизма за преодоляване на отказ и популяризира най-актуалния възел в режим на готовност и след това задейства аларми, както се вижда по-долу...

След това работи във фонов режим за отказ, както видяхте по-долу , напредъкът е в движение.

оставяне на резултата, докато завършва по-долу...

Резервно планиране

Резервните копия са много важна част от планирането при бедствия и възстановяване (DRP). Архивите служат като гръбнак, когато вашите клъстерни данни се разнасят след среща на разделен мозък или мрежов дял. Има определени случаи, в които pg_rewind също може да бъде полезен, но автоматизирането на вашите архивни копия винаги е много важно, за да се избегне такава огромна загуба на данни и по-малки RPO и RTO.

В ClusterControl можете да правите или създавате резервно копие без специални инструменти или да добавяте помощна работа, за да скриптирате автоматично архивиране. Всички са там и от вашата организация ще зависи кога ще се осъществи архивирането и какви са правилата на вашето архивиране, включително неговото запазване. Всъщност най-важното тук е, че архивирането не трябва да пречи на вашата производствена среда и няма да заключва вашите възли, когато се извършва архивиране.

Проверката на резервно копие също играе много важна роля тук. Бъдете сигурни, вашето архивиране трябва да е валиден тип архивиране и да е надеждно копие, когато настъпи криза. Добавяне на механизма за съхраняване на резервното ви копие не само във вашите помещения или център за данни, но също така да го съхранявате сигурно другаде, като например в облака или в AWS S3 или Google Cloud Storage.

С ClusterControl това е направено лесно и с една ръка всичко в платформата, като просто следвате GUI, както е показано по-долу,

Това ви позволява да изберете избрания от вас метод за архивиране, да го съхранявате в облака, за да добавите повече задържане и сигурност, като разпространите вашето резервно копие не само в един източник, но и в облака. След това имате възможност да проверите архива, след като приключи създаването на архива, за да проверите дали е валиден или не. Част от него също така е, че можете да изберете да шифровате резервното си копие, което е много важна практика, когато съхранявате данните си в покой и спазвате регулаторните указания за сигурност.

Сигурност на базата данни

Сигурността обикновено е основна грижа на мнозинството, когато става въпрос за дистанционно управление на вашия PostgreSQL клъстер от база данни. Кой ще има отдалечен достъп до базата данни или тя трябва да е само локална? Как да добавяте ограничения за сигурност и как да управлявате потребителите и да преглеждате разрешението на потребителя от анализатор по сигурността. Много е важно да имате повече настройка и да предоставите ясна картина на вашата архитектура, за да може да бъде разчленена къде са вратичките и кои са необходимите неща за подобряване или засилване на сигурността.

ClusterControl ви предоставя преглед и управление на вашите потребители на PostgreSQL и ви предоставя визуализация и редактор за вашия pg_hba.conf, който управлява как потребителите могат да бъдат удостоверени.

За управление на потребителите предоставя преглед на списъка с потребители и неговите привилегии в клъстера на базата данни. Той също така ви позволява тук да променяте или променяте привилегиите на потребителя, ако това не е в съответствие с вашите насоки за сигурност и фирмени. Отдалеченото управление изисква всички ваши потребители да имат специфични разрешения и роли и кога може да се използва или достъпва само и ограничава ролята, за да се избегне повреда във вашата база данни.

В PostgreSQL също е много важно да прегледате и проверите дали няма пропуски с удостоверяване на потребителя. Кога може да бъде разрешено и неговият обхват, за да може да се свързва със сървърите. Най-добре е това да се визуализира както имаме по-долу,

Това ви позволява лесно да проверите и избегнете удостоверяването, пренебрегнато за такива възможни вратички че нападателят може да може да влезе поради слаби правила за удостоверяване.

Използването на SSL и криптиране добавя повече сигурност и стабилност, когато вашата база данни се осъществява отдалечен достъп. Но ако имате достъп до вашата база данни от разстояние извън помещението на вашата организация, най-добре е да капсулирате данните си, като например влизане през VPN. Можете да разгледате нашия блог на Multi-DC PostgreSQL:Настройка на възел в режим на готовност на различно географско местоположение през VPN.

Регистрации на централизирана база данни

Централизирането на обобщените регистрационни файлове ви предоставя много удобен начин да проучите и приложите инструмент за анализ на сигурността, за да разберете клъстерите на вашите бази данни и как те се държат. Това е много полезно при управление на отдалечени бази данни. Някои често срещани подходи са използването на Logstash с помощта на стека ELK или мощното управление с отворен код за регистрационни файлове, Graylog.

Защо е важно да централизирате регистрационните файлове на вашата база данни?

В случай, че трябва да проучите проблем в целия клъстер и да видите какво е минавало през клъстерите на базата данни, прокси сървърите или балансьорите на натоварване. Много е удобно да гледаш само на едно място. Някои много богати и мощни инструменти, както споменах по-горе, ви позволяват да търсите динамично и в реално време. Те също така предоставят показатели и графики, което е много удобен начин за анализ.

С ClusterControl се предоставя удобство при достъп до регистрационните файлове. Въпреки че регистрационните файлове не се събират и съхраняват централизирано, той ви предлага преглед и възможност за четене на регистрационните файлове. Вижте по-долу...

Може дори да прегледате задачите на това, което ClusterControl е открил и е действал въз основа на алармите или преминавайки през заданията, както е по-долу,

Заключение

Дистанционното управление на вашите PostgreSQL клъстери от база данни може да бъде обезсърчително, особено когато става въпрос за сигурност, наблюдение и отказ. Ако имате правилните инструменти, индустриални стандарти и най-добри практики за внедряване, сигурност и наблюдаемост, тогава можете да сте спокойни, когато управлявате вашата база данни; независимо от местоположението ви.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Импортиране на .csv с колона за време (dd.mm.yyyy hh.mm.ss) с помощта на psql \copy

  2. PSQLEException:ГРЕШКА:релация TABLE_NAME не съществува

  3. Намерете n най-близки съседи за дадена точка с помощта на PostGIS?

  4. Как да получа min/max от две цели числа в Postgres/SQL?

  5. 3 начина за проверка на типа данни на колона в PostgreSQL