Lineamientos operativos para instancias de PostgreSQL

El ANS de Cloud SQL excluye interrupciones “causadas por factores externos al control razonable de Google”. En esta página, se describen algunas de las configuraciones controladas por el usuario que pueden hacer que se excluya la interrupción de una instancia de Cloud SQL.

Introducción

Cloud SQL se esfuerza por darte tanto control sobre la configuración de tu instancia como sea posible. Esto incluye algunas configuraciones que aumentan el riesgo de tiempo de inactividad de las instancias, según la carga y otros parámetros de configuración. Si tu instancia falla y Cloud SQL determina que fue por incumplimiento de los límites operativos que se describen en esta página, el período de inactividad no estará cubierto por (o no irá en detrimento de) el ANS de Cloud SQL.

Esta lista de límites operativos tiene el objetivo de informarte qué opciones de configuración presentan estos riesgos, cómo evitar usarlas sin darte cuenta y cómo mitigar los riesgos cuando se requieren para el entorno de tu empresa.

Configuraciones excluidas

Las configuraciones excluidas se dividen en las siguientes categorías:

  • Requisitos generales de configuración
  • Valores de marcadores de base de datos
  • Restricciones de recursos

Requisitos generales de configuración

El ANS solo cubre las instancias de Cloud SQL configuradas para alta disponibilidad con al menos una CPU dedicada. No cubre las instancias de núcleo compartido y de zona única.

Valores de marcas de base de datos

Cloud SQL te permite configurar la instancia con marcas de base de datos. Algunos de estos marcadores se pueden configurar en formas que pueden comprometer la estabilidad de la instancia o la durabilidad de sus datos.

La siguiente tabla muestra los marcadores que tienen valores que pueden dar como resultado una exclusión del ANS:

Marcador Descripción Configuración excluida Posible impacto Mitigación
autovacuum Habilita el selector de daemon del vaciado automático. desactivado El ajuste del ID de transacción inhabilita los comandos de la base de datos. Activa la marca autovacuum.
max_connections Establece la cantidad máxima de conexiones simultáneas en el servidor de la base de datos. Mayor que el valor predeterminado según el tamaño de la memoria de la instancia. Más información Interrupción de la instancia debido a un error por falta de memoria (OOM). Mantén la configuración predeterminada. Si se necesitan más conexiones de cliente, usa la agrupación de conexiones.
checkpoint_timeout Establece el tiempo máximo que puede transcurrir entre puntos de control de escritura por adelantado (WAL) automáticos. Mayor que el valor predeterminado. Reinicios lentos o conmutaciones por error después de una falla Mantén la configuración predeterminada.
max_wal_size Establece el tamaño máximo para permitir que la WAL crezca entre los puntos de control de WAL automáticos. Mayor que el valor predeterminado. Reinicios lentos o conmutaciones por error después de una falla. Mantén la configuración predeterminada.
autovacuum_freeze_max_age, autovacuum_multixact_freeze_max_age Esto determina cuándo PostgreSQL ejecuta un vaciado de contraposición agresiva. Todo lo que se encuentra por encima del doble del valor predeterminado. Un valor demasiado grande pospone el vaciado de contraposición hasta que ya no pueda borrar relaciones grandes a tiempo, lo que hace que la instancia ya no acepte comandos de lenguaje de manipulación de datos (DML). Ajusta otros parámetros de vaciado para que no sea necesario retrasar la operación.

En las tablas de solo inserción, es posible que sea necesario programar un vaciado manual periódico.

A partir de PostgreSQL 13, autovacuum también se puede configurar para que se ejecute en cargas de trabajo de solo inserción.

Restricciones de recursos

Se deben evitar estas restricciones de recursos para mantener la cobertura del ANS:

Restricción Descripción Detección Solución Prevención
Almacenamiento lleno Si tu instancia se queda sin almacenamiento y la capacidad de aumento automático del almacenamiento está desactivada, tu instancia se quedará sin conexión; esta interrupción no está cubierta por el ANS. Puedes ver la cantidad de almacenamiento que usa tu instancia en la página Detalles de la instancia en Cloud Console. Más información

Configura una alerta de Stackdriver para supervisar el uso de almacenamiento y recibir alertas en un límite especificado. Más información

Aumenta el tamaño de almacenamiento para la instancia. Aunque el tamaño del almacenamiento se puede aumentar, no se puede disminuir. Habilita el aumento automático del almacenamiento para la instancia. Más información
CPU sobrecargada Si el uso de CPU está por encima del 98% durante 6 horas, tu instancia no tiene el tamaño adecuado para tu carga de trabajo y esto no está cubierto por el ANS. Puedes ver el porcentaje de CPU disponible que usa tu instancia en la página Detalles de la instancia en Cloud Console. Más información

Configura una alerta de Stackdriver para supervisar el uso de CPU y recibir alertas en un límite especificado. Más información

Aumenta el número de CPU para tu instancia. Ten en cuenta que cambiar las CPU requiere que se reinicie la instancia.

Si tu instancia ya tiene la cantidad máxima de CPU, fragmenta la base de datos en varias instancias.

Supervisa el uso de CPU y aumenta su número cuando sea necesario. Ten en cuenta que, a fin de cambiar las CPU virtuales de tu instancia, debes reiniciarla.
Memoria sobrecargada Si el uso de memoria supera el 90% durante seis horas, tu instancia no tiene el tamaño adecuado para la carga de trabajo y no está cubierta por el ANS. Puedes ver el porcentaje de memoria disponible que usa tu instancia en la página de detalles de la instancia en Cloud Console. Más información

Para supervisar el uso de memoria y recibir alertas en un límite especificado, configura una alerta de Stackdriver. Obtén más información

Aumenta el tamaño de la memoria para la instancia. Ten en cuenta que cambiar el tamaño de la memoria requiere que la instancia se reinicie. Si tu instancia ya tiene el tamaño máximo de memoria, fragmenta la base de datos a varias instancias. Supervisa el uso de memoria y aumenta su cantidad cuando sea necesario. Ten en cuenta que, a fin de cambiar el nivel de tu instancia, debes reiniciarla.
Ajuste de ID de transacción Si tu instancia se queda sin el ID de transacción, se quedará sin conexión. Esta interrupción no está cubierta por el ANS. Puedes ver el uso del ID de transacción de tu instancia en la página de detalles de la instancia en Cloud Console. Más información

Para supervisar el uso de tu ID de transacción y recibir alertas en un límite especificado, configura una alerta de Stackdriver. Obtén más información.

El ajuste y la supervisión de instancias de bases de datos pueden ayudar a reducir o evitar problemas relacionados con la aspiradora. >Obtén más información. Supervisa el uso del ID de transacción de tu instancia. Habilita y ajusta los parámetros de autovacuum según la carga de trabajo en tu instancia.