sql >> Base de Datos >  >> RDS >> PostgreSQL

Sugerencias para administrar PostgreSQL de forma remota

Hay una amplia gama de recursos disponibles para usted cuando administra sus clústeres de bases de datos de PostgreSQL de forma remota. Con las herramientas adecuadas, administrarlo de forma remota no es una tarea difícil.

El uso de servicios completamente administrados para PostgreSQL ofrece una capacidad de observación que puede brindar la mayor parte de lo que necesita para administrar su base de datos. Le brindan un sistema de alertas, métricas, automatización de tareas de administración del sistema que consumen mucho tiempo, administración de sus copias de seguridad, etc.

Cuando se ejecuta en las instalaciones, es un desafío diferente. Eso es lo que cubriremos en este blog. Compartiremos consejos sobre cómo administrar su clúster de base de datos de PostgreSQL de forma remota.

Observabilidad de la base de datos

El término observabilidad puede no ser algo familiar para algunas personas. La observabilidad no es cosa del pasado, es la tendencia a la hora de gestionar sus bases de datos (o incluso aplicaciones PaaS o SaaS). La observabilidad se ocupa del monitoreo, pero hasta cierto punto cubre la capacidad de determinar el estado de la salud y el rendimiento de su base de datos y tiene una capacidad proactiva y reactiva que decide en función de un cierto estado de los nodos de su base de datos.

Un buen ejemplo de esto está en ClusterControl. Cuando ClusterControl detecta advertencias basadas en las comprobaciones de una configuración determinada, enviará alertas a los canales proporcionados. Estos pueden ser configurados y personalizados por el sistema o el administrador de la base de datos.

Si su base de datos principal se ha degradado y no puede procesar transacciones (ya sea de lectura o escritura), ClusterControl reaccionará en consecuencia y comenzará a activar una conmutación por error para que un nuevo nodo pueda procesar la causa injustificada del tráfico desbordado. Mientras esto ocurre, ClusterControl puede notificar a los ingenieros lo sucedido activando alarmas y enviando alertas. Los registros también están centralizados y las tareas de investigación y diagnóstico se pueden realizar en un solo lugar, lo que le permite proporcionar un resultado rápido.

Aunque esto podría no significar que ClusterControl sea un paquete completo para la Observabilidad, es una de las herramientas poderosas. Hay herramientas que tienen más arquitectura también para administrar, especialmente en entornos en contenedores, como Rancher mezclado con Datadog.

¿Cómo le ayuda esto en la gestión remota?

Un principio básico de la gestión es tener tranquilidad. Si ocurre un problema, las herramientas que está utilizando para la observación deben poder notificarle por correo electrónico, enviarle SMS o mediante aplicaciones de buscapersonas (como PagerDuty) para alertarlo sobre el estado de su clúster de bases de datos,

o puede recibir alertas como las siguientes...

Es muy importante que le notifique cuando se produzcan cambios. Luego puede mejorar y analizar el estado de su infraestructura y evitar cualquier impacto que pueda afectar el negocio.

Automatización de bases de datos

Es muy importante que la mayoría de las tareas que requieren mucho tiempo estén automatizadas. La automatización le permite reducir el tamaño de la mano de obra. ¿Qué significa automatizar sus clústeres de bases de datos PostgreSQL?

Conmutación por error

La conmutación por error es un enfoque automático que ocurre cuando ocurre un incidente sin precedentes (como una falla en el hardware, un bloqueo del sistema, una pérdida de energía en su nodo primario principal o una pérdida de red en todo el centro de datos) . Su capacidad de conmutación por error debe probarse regularmente y seguir las prácticas estándar de la industria. El descubrimiento del servicio de una falla interna debe llegar al punto en que se haya determinado como verdadero y realmente esté sucediendo.

En ClusterControl, cuando ocurre un incidente, activa el mecanismo de conmutación por error y promueve el nodo en espera más actualizado y luego activa alarmas como se ve a continuación...

Luego, funciona en segundo plano para una conmutación por error como ha visto a continuación , el progreso está en movimiento.

dejando el resultado como termina a continuación...

Programación de copias de seguridad

Las copias de seguridad son una parte muy importante de la planificación de recuperación y desastres (DRP). Las copias de seguridad sirven como su columna vertebral cuando los datos de su clúster se pierden después de un encuentro con un cerebro dividido o una partición de red. Hay ciertas ocasiones en las que pg_rewind también puede ser beneficioso, pero la automatización de sus copias de seguridad siempre es muy importante para evitar una pérdida de datos tan grande y un RPO y RTO menores.

En ClusterControl puede realizar o crear una copia de seguridad sin necesidad de herramientas especiales o agregar utilidades para programar una copia de seguridad automatizada. Todos están allí y dependerá de su organización cuándo se realizará la copia de seguridad y cuáles son las políticas de su copia de seguridad, incluida su retención. De hecho, lo más importante aquí es que la copia de seguridad no interferirá con su entorno de producción y no bloqueará sus nodos cuando se realice la copia de seguridad.

La verificación de la copia de seguridad también juega un papel muy importante aquí. Tenga la seguridad de que su copia de seguridad debe ser un tipo de copia de seguridad válida y una copia fiable cuando se produzca una crisis. Agregar el mecanismo para almacenar su copia de seguridad no solo en sus instalaciones o centro de datos, sino también almacenarla en otro lugar de forma segura como en la nube o en AWS S3 o Google Cloud Storage, por ejemplo.

Con ClusterControl, esto se ha tomado fácilmente y con una sola mano en toda la plataforma simplemente siguiendo la GUI como se muestra a continuación,

Esto le permite elegir el método de copia de seguridad que elija, almacenarlo en la nube para agregar más retención y garantía de copia de seguridad al distribuir su copia de seguridad no solo en una fuente sino también en la nube. Luego, tiene la opción de verificar la copia de seguridad una vez que termine de crear la copia de seguridad para verificar si es válida o no. Parte de esto es que también puede optar por cifrar su copia de seguridad, lo cual es una práctica muy importante al almacenar sus datos en reposo y cumplir con las pautas reglamentarias de seguridad.

Seguridad de la base de datos

La seguridad suele ser la principal preocupación de la mayoría cuando se trata de administrar su clúster de base de datos PostgreSQL de forma remota. ¿Quién podrá acceder a la base de datos de forma remota o debería ser solo local? Cómo agregar restricciones de seguridad y cómo administrar los usuarios y revisar el permiso del usuario por parte de un analista de seguridad. Es muy importante contar con una configuración más detallada y proporcionar una imagen clara de su arquitectura para que se pueda diseccionar dónde están las lagunas y cuáles son las cosas necesarias para mejorar o reforzar la seguridad.

ClusterControl le brinda una descripción general y la administración de sus usuarios de PostgreSQL y le brinda una visualización y un editor para su pg_hba.conf, que administra cómo se pueden autenticar los usuarios.

Para la administración de usuarios, proporciona una descripción general de la lista de usuarios y sus privilegios en el clúster de la base de datos. También le permite aquí modificar o cambiar los privilegios del usuario si no está de acuerdo con las pautas de seguridad y de su empresa. La administración remota requiere que todos sus usuarios tengan permisos y roles específicos y cuándo solo se puede usar o acceder y limita el rol para evitar daños en su base de datos.

También es muy importante en su PostgreSQL revisar y verificar que no haya fallas con la autenticación del usuario. Cuándo se puede permitir y su alcance para poder conectarse a los servidores. Lo mejor es que esto se visualice como lo tenemos a continuación,

Esto le permite verificar fácilmente y evitar que la autenticación se pase por alto para tales posibles lagunas. que un atacante podría iniciar sesión debido a reglas débiles en la autenticación.

El uso de SSL y cifrado agrega más seguridad y solidez cuando se accede a su base de datos de forma remota. Pero si está accediendo a su base de datos de forma remota fuera de las instalaciones de su organización, es mejor encapsular sus datos, como iniciar sesión a través de una VPN. Puede consultar nuestro blog sobre Multi-DC PostgreSQL:Configuración de un nodo en espera en una ubicación geográfica diferente a través de una VPN.

Registros de base de datos centralizados

La centralización de registros agregados le brinda una forma muy conveniente de investigar e implementar una herramienta de análisis de seguridad para comprender los clústeres de su base de datos y cómo se comportan. Esto es muy beneficioso cuando se administran bases de datos remotas. Algunos enfoques comunes son usar Logstash usando la pila ELK o la poderosa administración de código abierto para registros, Graylog.

¿Por qué es importante centralizar los registros de su base de datos?

En caso de que necesite investigar un problema en todo el clúster y ver qué ha estado pasando en sus clústeres de base de datos, proxies o balanceadores de carga. Es muy conveniente mirar solo un lugar. Algunas herramientas muy ricas y poderosas como las que mencioné anteriormente te permiten buscar dinámicamente y en tiempo real. También proporcionan métricas y gráficos, lo cual es una forma muy conveniente de análisis.

Con ClusterControl, se proporciona una comodidad al acceder a los registros. Aunque los registros no se recopilan ni almacenan de forma centralizada, le ofrece una descripción general y la capacidad de leer los registros. Ver más abajo...

Incluso puede revisar los trabajos de lo que ClusterControl detectó y actuó en función de las alarmas o pasando por los trabajos como se muestra a continuación,

Conclusión

Administrar sus clústeres de bases de datos PostgreSQL de forma remota puede ser desalentador, especialmente cuando se trata de seguridad, monitoreo y conmutación por error. Si tiene las herramientas adecuadas, los estándares de la industria y las mejores prácticas para la implementación, la seguridad y la observabilidad, puede estar tranquilo cuando administre su base de datos; independientemente de su ubicación.