Procedimientos recomendados de arquitectura para Azure Database for PostgreSQL
En este artículo se proporcionan procedimientos recomendados de arquitectura para Azure Database for PostgreSQL.
La guía se basa en los cinco pilares de excelencia arquitectónica:
- Fiabilidad
- Seguridad
- Optimización de costos
- Excelencia operativa
- Eficiencia del rendimiento
Prerrequisitos
Comprender los pilares de Well-Architected Framework puede ayudar a generar una arquitectura en la nube de alta calidad, estable y eficaz. Se recomienda revisar la carga de trabajo mediante la evaluación de Revisión de Azure Well-Architected Framework.
azure Database for PostgreSQL es un servicio de base de datos relacional en Azure basado en la base de datos relacional de código abierto de PostgreSQL. Es una oferta de base de datos como servicio totalmente administrada que puede controlar cargas de trabajo críticas con rendimiento predecible, seguridad, alta disponibilidad y escalabilidad dinámica. Azure Database for PostgreSQL se basa en la edición community del motor de base de datos de PostgreSQL. Es compatible con la edición de la comunidad de servidores postgreSQL y admite características de extensión de PostgreSQL, como PostGIS y TimescaleDB.
Nota
Para explorar una idea de solución ligera que usa Azure Database for PostgreSQL para almacenar los resultados analíticos de Cognitive Services API, consulte Intelligent Apps using Azure Database for PostgreSQL.
Fiabilidad
Azure Database for PostgreSQL: servidor flexible ofrece compatibilidad con la alta disponibilidad mediante el aprovisionamiento de réplicas principales y en espera físicamente independientes dentro de la misma zona de disponibilidad (zonal) o entre zonas de disponibilidad (con redundancia de zona). Este modelo de alta disponibilidad garantiza que los datos confirmados nunca se pierdan si se produce un error. El modelo también está diseñado para que la base de datos no se convierta en un único punto de error en la arquitectura de software. Azure Database for PostgreSQL: servidor flexible proporciona características que protegen los datos y mitigan el tiempo de inactividad de las bases de datos críticas durante los eventos de tiempo de inactividad planeados y no planeados. Basado en la infraestructura de Azure que ofrece una sólida resistencia y disponibilidad, el servidor flexible tiene características de continuidad empresarial que proporcionan protección contra errores, abordan los requisitos de tiempo de recuperación y reducen la exposición a la pérdida de datos.
Lista de comprobación de diseño de confiabilidad
Debe revisar los principios de diseño para optimizar el costo de la arquitectura.
- Destinos definidos para RPO (objetivo de punto de recuperación) y RTO (objetivo de tiempo de recuperación) para cargas de trabajo.
- Seleccione la configuración de alta disponibilidad adecuada.
- Configure la copia de seguridad de redundancia geográfica.
- Pruebe el plan de recuperación ante desastres para garantizar una restauración rápida de datos en caso de error.
- Pruebe el failover bajo demanda para su servidor con alta disponibilidad y asegúrese de que nuestra aplicación se comporta según lo previsto.
- Monitorea tu servidor para asegurarte de que esté en buen estado y funcione según lo previsto.
Recomendaciones de confiabilidad
Recomendación | Beneficio |
---|---|
Destinos definidos para RPO (objetivo de punto de recuperación) y RTO (objetivo de tiempo de recuperación) para cargas de trabajo. | Derive estos valores realizando una evaluación de riesgos y asegurándose de comprender el costo y el riesgo de tiempo de inactividad y pérdida de datos. Estos son requisitos no funcionales de un sistema y deben ser dictados por los requisitos empresariales. |
Seleccione la configuración de alta disponibilidad adecuada. | Azure Database for PostgreSQL Server ofrece configuraciones de alta disponibilidad, lo que garantiza que el servicio permanece disponible si hay una interrupción de zona y no se pierde ningún dato. Cuando se configura la alta disponibilidad, el servidor de Azure Database for PostgreSQL aprovisiona y administra automáticamente una réplica en espera. |
Configure la copia de seguridad de redundancia geográfica. | Las réplicas de lectura entre regiones se pueden implementar para proteger las bases de datos frente a errores de nivel de región. Las copias de seguridad con redundancia geográfica están habilitadas en regiones seleccionadas y ayudan con la recuperación ante desastres si la región del servidor principal está inactiva. La redundancia geográfica también se puede lograr mediante un almacén de Azure Backup para el almacenamiento a largo plazo de los puntos de recuperación. En caso de interrupción regional o desastre, puede usar Azure Backup para restaurar el servidor de bases de datos en una región emparejada de Azure, lo que minimiza el tiempo de inactividad. Azure Backup también ofrece redundancia geográfica para Azure Database for PostgreSQL: servidor flexible, lo que aumenta la eficacia y reduce el tiempo de inactividad durante desastres o interrupciones de regiones. |
Pruebe el plan de recuperación ante desastres para garantizar una restauración rápida de los datos si se produce un error. | Las réplicas de lectura se pueden implementar en una región diferente y promoverse a un servidor de lectura y escritura si se necesita recuperación ante desastres. |
Monitorice su servidor para asegurarse de que está en buen estado y funciona como se espera. | Tenemos la supervisión de la base de datos para supervisar y alertar sobre errores de nivel de base de datos. |
Sugerencia
Para más información sobre la guía de confiabilidad de Azure Database for PostgreSQL, consulte Confiabilidad con Azure Database for PostgreSQL.
Definiciones de directivas de Azure
Las definiciones de Azure Policy le ayudan a aplicar reglas y configuraciones específicas para los recursos dentro de su entorno de Azure. Para garantizar la confiabilidad de Azure Database for PostgreSQL, puede crear definiciones personalizadas de Azure Policy para implementar configuraciones específicas y procedimientos recomendados. Este es un ejemplo de algunas definiciones personalizadas de Azure Policy que puede crear para la confiabilidad:
Seguridad
Piense en la seguridad durante todo el ciclo de vida de una aplicación, desde el diseño y el desarrollo hasta la implementación y las operaciones. La plataforma Azure protege contra diversas amenazas, como intrusiones de red y ataques DDoS. Todavía tiene que crear seguridad en la aplicación y los procesos de DevOps.
Lista de comprobación de diseño de seguridad
Debe revisar los principios de diseño para optimizar el costo de la arquitectura.
- SSL y aplica el cifrado para proteger los datos en tránsito.
- Implemente grupos de seguridad de red y firewalls para controlar el acceso a la base de datos.
- Use Microsoft Entra ID para la autenticación y autorización para mejorar la administración de identidades.
- Configuración de la seguridad de nivel de fila.
Recomendaciones de seguridad
Recomendación | Beneficio |
---|---|
SSL y aplica el cifrado para proteger los datos en tránsito. | Implemente el certificado raíz global de DigiCert desde un certificado de entidad de certificación (CA) de confianza necesario para comunicarse a través de SSL con aplicaciones cliente. |
Implemente grupos de seguridad de red y firewalls para controlar el acceso a la base de datos. | Como parte del modelo de confianza cero para la seguridad, se recomienda la segmentación de red donde las rutas de comunicación entre los componentes (en este caso, la aplicación y el servidor de bases de datos) están restringidas solo a lo que se necesita. Esto se puede implementar mediante el grupo de seguridad de red y los grupos de seguridad de aplicaciones. |
Use Microsoft Entra ID para la autenticación y autorización para mejorar la administración de identidades. | La autenticación de Microsoft Entra ID es un mecanismo para conectarse a Azure Database for PostgreSQL mediante identidades definidas en Azure AD. |
Configuración de la seguridad de nivel de fila. | seguridad de nivel de fila (RLS) es una característica de seguridad de PostgreSQL que permite a los administradores de bases de datos definir directivas para controlar cómo se muestran y operan filas específicas de datos para uno o varios roles. La seguridad de nivel de fila es un filtro adicional que se puede aplicar a una tabla de base de datos postgreSQL. |
Optimización de costos
La optimización de costos consiste en comprender las opciones de configuración y los procedimientos recomendados para reducir los gastos innecesarios y mejorar la eficiencia operativa. Debe revisar la carga de trabajo para identificar las oportunidades para reducir los costos.
Lista de comprobación de diseño de costos
Debe revisar los principios de diseño para optimizar el costo de la arquitectura.
- Elija el nivel correcto y la SKU.
- Comprender el modo de alta disponibilidad.
- Escale los niveles de proceso y almacenamiento.
- Considere la posibilidad de usar instancias reservadas.
- Use el almacenamiento aprovisionado.
- Comprender los costos de redundancia geográfica.
- Evalúe las decisiones de ampliación del almacenamiento.
- Implemente en la misma región que una app.
- Descripción del coste orientado a alta disponibilidad.
- Consolidar bases de datos y servidores.
Recomendaciones de costos
Recomendaciones | Beneficios |
---|---|
Elija el nivel correcto y la SKU. | Elija el nivel de precios y SKU de proceso que admitan las necesidades específicas de la carga de trabajo. Azure Advisor proporciona recomendaciones para optimizar y reducir el gasto general de Azure. Entre las recomendaciones se incluye el ajuste correcto del tamaño del servidor que usted debería seguir. |
Comprender el modo de alta disponibilidad. | La alta disponibilidad hace que un servidor en espera esté siempre disponible en la misma zona o región. Al habilitar la alta disponibilidad, se duplica el costo. |
Ajuste los niveles de proceso y almacenamiento. | Debe ajustar manualmente los niveles de proceso y almacenamiento para cumplir los requisitos de la aplicación a lo largo del tiempo. |
Use la característica Start/Stop. | El servidor flexible tiene una característica Start/Stop que puede usar para impedir que el servidor se ejecute cuando no lo necesite. |
Considere la posibilidad de usar instancias reservadas. | Considere una reserva de uno o tres años para recibir descuentos significativos en la computación. Usa estas reservas para cargas de trabajo con un uso de proceso coherente por un año o más. |
Use el almacenamiento aprovisionado. | No hay cargos adicionales por el almacenamiento de copia de seguridad hasta el 100% del total del almacenamiento de servidor aprovisionado. |
Comprender los costos de redundancia. | El almacenamiento con redundancia geográfica (GRS) cuesta el doble de almacenamiento con redundancia local (LRS). GRS requiere doble la capacidad de almacenamiento de LRS. |
Descripción del costo de la instancia protegida y del almacenamiento de copia de seguridad | Al realizar copias de seguridad de PostgreSQL: servidor flexible mediante Azure Backup, se incurre en tarifas de instancia protegida (por 250 GB) y cuotas de almacenamiento de copia de seguridad (basadas en el tipo total de datos almacenados y redundancia). |
Evalúe las decisiones de aumento de escala del almacenamiento. | Debe evaluar las necesidades de almacenamiento actuales y futuras antes de escalar el almacenamiento. Después de aumentar el almacenamiento, no se puede reducir. |
Implemente en la misma región que la aplicación. | Implemente en la misma región que las aplicaciones para minimizar los costos de transferencia. Cuando se usa la integración de red virtual, las aplicaciones de una red virtual diferente no tienen acceso directo a los servidores flexibles. Para concederles acceso, debe configurar el emparejamiento de red virtual. El emparejamiento de red virtual tiene costos nominales de transferencia de datos entrantes y salientes. |
Descripción de los costos orientados a la alta disponibilidad. | Es una compensación de la alta disponibilidad y los costos. La HA cuesta el doble que la configuración sin HA, pero es necesaria. |
Consolidar bases de datos y servidores. | Puede consolidar varias bases de datos y servidores en un solo servidor para reducir los costos. |
Definiciones de directivas de Azure
Las definiciones de Azure Policy le ayudan a aplicar reglas y configuraciones específicas para los recursos dentro de su entorno de Azure. Para garantizar la optimización de costos para Azure Database for PostgreSQL, puede crear definiciones personalizadas de Azure Policy para aplicar configuraciones y procedimientos recomendados específicos. Este es un ejemplo de algunas definiciones personalizadas de Azure Policy que puede crear para la optimización de costos:
Excelencia operativa
Los principios de excelencia operativa son una serie de consideraciones que pueden ayudar a lograr prácticas operativas superiores.
Para lograr una mayor competencia en las operaciones, considere y mejore cómo se desarrolla, implementa, opera y mantiene el software.
Lista de comprobación de diseño de excelencia operativa
Debe revisar los principios de diseño para optimizar el costo de la arquitectura.
- Configure copias de seguridad automatizadas y directivas de retención para mantener la disponibilidad de los datos y cumplir los requisitos de cumplimiento.
- Implemente la aplicación automatizada de revisiones y actualizaciones para mantener la instancia de PostgreSQL segura y actualizada.
- Supervise el estado y el rendimiento de la base de datos mediante Azure Monitor y configure alertas para métricas críticas.
Recomendaciones de excelencia operativa
Recomendación | Beneficios |
---|---|
Configure copias de seguridad automatizadas y directivas de retención para mantener la disponibilidad de los datos y cumplir los requisitos de cumplimiento. Como alternativa, use una directiva de Azure Backup para hacer copia de seguridad de Azure Database para PostgreSQL Server. También puede usar esta directiva de Azure Backup para proteger Azure Database for PostgreSQL: servidor flexible. |
Azure Database for PostgreSQL proporciona copias de seguridad automatizadas y restauración a un momento dado para la base de datos. Puede configurar el período de retención para las copias de seguridad de hasta 35 días. Azure Backup permite definir cómo y cuándo se crean las copias de seguridad, el período de retención de los puntos de recuperación y las reglas para la protección y recuperación de datos. Puede conservar los puntos de recuperación en una bóveda de copias de seguridad hasta 10 años. Use la política de Azure Backup para la protección a largo plazo de Azure Database for PostgreSQL - Flexible Server y para gestionar la seguridad e integridad de la base de datos. También puede administrar las operaciones de copia de seguridad y restauración mediante Centro de continuidad empresarial de Azure. |
Implemente la aplicación automatizada de revisiones y actualizaciones para mantener la instancia de PostgreSQL segura y actualizada. | Azure Database for PostgreSQL proporciona revisiones automatizadas y actualizaciones para la base de datos. Puede configurar la ventana de mantenimiento del servidor para minimizar el impacto en la carga de trabajo. |
Supervise el estado y el rendimiento de la base de datos mediante Azure Monitor y configure alertas para métricas críticas. | Azure Database for PostgreSQL proporciona funcionalidades integradas de supervisión y alertas. Puede supervisar el estado y el rendimiento de la base de datos mediante Azure Monitor. También puede configurar alertas para métricas críticas para recibir notificaciones cuando la base de datos no funciona según lo previsto. |
Definiciones de directivas de excelencia operativa
Las definiciones de Azure Policy le ayudan a aplicar reglas y configuraciones específicas para los recursos dentro de su entorno de Azure. Para garantizar la excelencia operativa de Azure Database for PostgreSQL, puede crear definiciones personalizadas de Azure Policy para aplicar configuraciones y procedimientos recomendados específicos. Este es un ejemplo de algunas definiciones personalizadas de Azure Policy que puede crear para la excelencia operativa:
Eficiencia del rendimiento
La eficacia del rendimiento es la capacidad de la carga de trabajo para escalar para satisfacer las demandas que los usuarios le han puesto de forma eficaz. Se recomienda revisar los principios de eficiencia del rendimiento.
En la lista de comprobación de diseño y la lista de recomendaciones siguientes, las indicaciones resaltan si cada opción se aplica a la arquitectura del clúster, la arquitectura de la carga de trabajo o ambas.
Lista de comprobación de diseño de eficiencia del rendimiento
Debe revisar los principios de diseño para optimizar el costo de la arquitectura.
- Diseñe el esquema y las consultas para ser eficiente y minimizar el consumo de recursos.
- Implemente réplicas de lectura para desviar el tráfico de lectura y mejorar el rendimiento general.
Recomendaciones de eficiencia del rendimiento
Recomendación | Beneficios |
---|---|
Diseñe el esquema y las consultas para maximizar la eficiencia y minimizar el consumo de recursos. | Debes diseñar tu esquema y tus consultas para la eficiencia y así minimizar el consumo de recursos. |
Implemente réplicas de lectura para aliviar el tráfico de lectura y mejorar el rendimiento general. | Puede usar réplicas de lectura para descargar el tráfico de lectura y mejorar el rendimiento. |
Definiciones de directivas de eficiencia del rendimiento
Las definiciones de Azure Policy le ayudan a aplicar reglas y configuraciones específicas para los recursos dentro de su entorno de Azure. Para garantizar la eficacia del rendimiento para Azure Database for PostgreSQL, puede crear definiciones personalizadas de Azure Policy para aplicar configuraciones y procedimientos recomendados específicos. Este es un ejemplo de algunas definiciones personalizadas de Azure Policy que puede crear para la eficacia del rendimiento:
Recursos adicionales
Considere más recursos relacionados con Azure Database for PostgreSQL.
Guía del Centro de arquitectura de Azure
- Multiinquilino y Azure Database for PostgreSQL
- Prácticas recomendadas
- Optimizar el rendimiento
- Ajuste