Saltar al contenido principal

Conceptos Clave de PostgreSQL Administrado

Esta sección presenta los conceptos fundamentales de nuestro servicio PostgreSQL Administrado. Comprender estos principios le ayudará a aprovechar al máximo su base de datos administrada, alineando sus capacidades con sus necesidades de aplicaciones y sus requisitos de seguridad.

Soberanía y Cumplimiento SecNumCloud​

En el corazón de nuestro producto se encuentra la soberanía digital. El servicio PostgreSQL Administrado está alojado completamente en la infraestructura Cloud Temple, certificada SecNumCloud 3.2 por el ANSSI.

  • Alojamiento 100% en Francia : Sus datos permanecen en el territorio nacional, protegidos de las leyes extraterritoriales.
  • Cumplimiento nativo : La solución está diseñada para cumplir con los requisitos regulatorios más estrictos (RGPD, HDS, LPM, NIS2, PCI-DSS).
  • Código abierto y Reversibilidad : Al basarnos en el operador Kubernetes de código abierto CloudNative-PG (CNPG) y Barman, garantimos la ausencia de dependencia tecnológica (vendor lock-in) y la portabilidad total de sus datos y configuraciones.

Operador CloudNative-PG (CNPG)​

La gestión del ciclo de vida de las bases de datos PostgreSQL en nuestra infraestructura Kubernetes se basa en CloudNative-PG (CNPG).

  • Despliegue Declarativo : La configuración de su base de datos se realiza mediante Custom Resource Definitions (CRD) de Kubernetes, permitiendo un enfoque de Infraestructura como Código (IaC) a través de Terraform o Helm.
  • Alta Disponibilidad Integrada : CNPG gestiona automáticamente la elección del nodo primario y la conmutación por error (failover) de manera fluida.
  • Monitorización nativa : Las métricas detalladas se exportan nativamente a Prometheus, facilitando la creación de dashboards de Grafana.

Modelos de Despliegue​

Ofrecemos tres modelos para adaptarse a la criticidad de sus cargas de trabajo:

1. StandAlone​

Este modelo despliega una instancia única del motor PostgreSQL.

  • Caso de uso : Desarrollo, pruebas o aplicaciones que no requieran alta disponibilidad.
  • Resiliencia : Dado que el almacenamiento subyacente es persistente y está gestionado por Kubernetes, el pod puede reiniciarse automáticamente en otro nodo en caso de fallo de hardware del host.

2. Réplica​

Este modelo despliega un clúster de 3 instancias PostgreSQL (un primario, dos réplicas).

  • Replicación Asíncrona : Los datos se replican en streaming continuo (asíncrono). Esto ofrece un excelente rendimiento al tiempo que garantiza una copia de los datos en las réplicas con un retraso mínimo.
  • Failover Automático : En caso de fallo del primario, CNPG promociona automáticamente la réplica más actualizada para garantizar la continuidad del servicio.

3. Empresa​

Este modelo despliega un clúster de 3 instancias de PostgreSQL optimizado para la alta disponibilidad crítica.

  • Replicación Síncrona : La replicación está configurada de forma síncrona en al menos 2 nodos (any 2) con garantía de durabilidad (dataDurability: preferred).
  • Durabilidad : Un COMMIT no se confirma a la aplicación únicamente si los datos se han escrito correctamente en el primario Y en un réplica, asegurando que ninguna transacción confirmada se perderá en caso de fallo de hardware, sin bloquear la base de datos si un nodo está temporalmente indisponible.

Copia de seguridad y Restauración (PITR)​

La protección de sus datos está garantizada por el plugin Barman Cloud, totalmente integrado en el operador.

  1. Archivado continuo de WAL :

    • Cada segmento del registro de transacciones (WAL) se archiva en tiempo real en un Object Storage S3 certificado SecNumCloud.
    • La compresión está optimizada (ej: lz4 o gzip) para reducir el volumen manteniendo un buen rendimiento.
  2. Copias de seguridad programadas (ScheduledBackup) :

    • Las copias de seguridad físicas completas se ejecutan de forma programada (ej: todos los días a las 02:00).
    • Se realiza una copia de seguridad inicial inmediatamente tras la creación del clúster.

Estos mecanismos combinados permiten la Recuperación en un punto en el tiempo (PITR) : la capacidad de restaurar la totalidad del servidor a una fecha y hora precisas, protegiendo así contra errores humanos o corrupciones de datos.

Seguridad en Múltiples Niveles​

  • Aislamiento de Red : Las instancias de base de datos se despliegan en espacios de nombres dedicados y están aisladas en la red privada del cliente.
  • Cifrado :
    • En tránsito : Conexiones cifradas con TLS.
    • En reposo : Los datos de almacenamiento, así como las copias de seguridad en S3, están cifrados.
  • Secretos de Kubernetes : Las credenciales de superusuario y de aplicación se generan de forma segura y se almacenan como Secrets de Kubernetes, recuperables según reglas estrictas.

Tamaños de instancias (Tallas)​

Las bases de datos tienen límites estrictos (CPU y RAM) que corresponden al tamaño elegido. Los parámetros internos de PostgreSQL (shared_buffers, effective_cache_size, work_mem, etc.) están precalibrados para cada tamaño con el fin de optimizar el rendimiento y garantizar que el contenedor nunca alcance su límite de RAM (evitando así un OOMKill por parte de Kubernetes que interrumpiría bruscamente el servicio).

TamañoCPUMemoriashared_bufferseffective_cache_sizework_memmaintenance_work_memmax_connectionspgbouncer_default_pool_sizepgbouncer_max_client_conn
XS1 Núcleo4 Gb1024MB3072MB16MB128MB808200
S1 Núcleo8 Gb2048MB6144MB32MB256MB15010250
M2 Núcleos8 Gb2048MB6144MB32MB256MB15010250
L2 Núcleos16 Gb4096MB12288MB64MB512MB25015300
XL4 Núcleos16 Gb4096MB12288MB64MB512MB25015300
XXL4 Núcleos32 Gb8192MB24576MB128MB1024MB50020500
3XL8 Núcleos32 Gb8192MB24576MB128MB1024MB50020500
4XL8 Núcleos64 Gb16384MB49152MB256MB2048MB50025500

Nota : Los recursos requests (CPU y RAM) se asignan al 50% de los limits configurados anteriormente.

Versiones de PostgreSQL Soportadas​

Admitimos todas las versiones principales actuales, permitiéndole elegir según la compatibilidad de sus aplicaciones:

  • PostgreSQL 13, 14, 15, 16, 17 y 18.

El operador CNPG gestiona las actualizaciones menores de manera fluida aplicando una estrategia de actualización progresiva (rolling update).