Esta página proporciona prácticas recomendadas para obtener el mejor rendimiento, durabilidad y disponibilidad de Cloud SQL.
Si tienes problemas con tu instancia de Cloud SQL, revisa lo siguiente durante la solución de problemas:
Configuración y administración de instancias
Práctica recomendada | Más información |
---|---|
Lee y sigue las directrices operativas para asegurarte de que tus instancias estén cubiertas por el acuerdo de nivel de servicio de Cloud SQL. | |
Configura una ventana de mantenimiento para tu instancia principal y controla cuándo se pueden producir actualizaciones disruptivas. | Consulta Ventana de mantenimiento. |
Si elimina y vuelve a crear instancias con regularidad, utilice una marca de tiempo en el ID de instancia para aumentar la probabilidad de que los nuevos IDs de instancia se puedan usar. | |
No inicies una operación administrativa antes de que se haya completado la anterior. |
Las instancias de Cloud SQL no aceptarán nuevas solicitudes de operación hasta que hayan completado la operación anterior. Si intentas iniciar una nueva operación antes de tiempo, la solicitud de operación fallará. Esto incluye reinicios de instancias.
El estado de la instancia en la consola Google Cloud no refleja si una operación se está ejecutando. La marca de verificación verde solo indica que la instancia está en el estado |
Configura el almacenamiento para que se adapte al mantenimiento crítico de la base de datos. |
Si el ajuste de instancia Habilitar aumentos automáticos del almacenamiento está inhabilitado o el límite de aumento automático del almacenamiento está habilitado, asegúrese de que tiene al menos un 20% de espacio disponible para dar cabida a las operaciones de mantenimiento críticas de la base de datos que pueda realizar Cloud SQL. Para recibir una alerta cuando el espacio de disco disponible sea inferior al 20%, crea una política de alertas basada en métricas para la métrica Utilización del disco con la posición Por encima del umbral y el valor 0,8. Para obtener más información, consulta Crear políticas de alertas basadas en métricas. |
Evita que se utilice en exceso la CPU. |
Puedes ver el porcentaje de CPU disponible que está usando tu instancia en la página de detalles de la instancia de la Google Cloud consola. Para obtener más información, consulta Métricas. También puedes monitorizar el uso de la CPU y recibir alertas cuando se alcance un umbral específico con la opción Crear políticas de alertas de umbral de métricas. Para evitar que se sobreutilice, puedes aumentar el número de CPUs de tu instancia. Para cambiar las CPUs, es necesario reiniciar la instancia. Si tu instancia ya tiene el número máximo de CPUs, debes fragmentar tu base de datos en varias instancias. |
Evita que se agote la memoria. |
Cuando busques señales de agotamiento de la memoria, debes usar principalmente la métrica Uso. Para evitar errores de falta de memoria, te recomendamos que esta métrica se mantenga por debajo del 90%. También puedes usar la métrica total_usage para observar el porcentaje de memoria disponible que usa tu instancia de Cloud SQL, incluida la memoria que usa el contenedor de la base de datos y la memoria asignada por la caché del sistema operativo. Al observar la diferencia entre las dos métricas, puedes identificar cuánta memoria usan los procesos y cuánta usa la caché del sistema operativo. Puedes reutilizar la memoria en esta caché. Para predecir problemas de falta de memoria, comprueba ambas métricas e interprétalas conjuntamente. Si las métricas son altas, es posible que la instancia tenga poca memoria. Esto puede deberse a una configuración personalizada, a que la instancia no tenga el tamaño adecuado para la carga de trabajo o a una combinación de estos factores. Escala tu instancia de Cloud SQL para aumentar el tamaño de su memoria. Para cambiar el tamaño de la memoria de una instancia, es necesario reiniciarla. Si tu instancia ya tiene el tamaño máximo de memoria, debes fragmentar tu base de datos en varias instancias. Para obtener más información sobre cómo monitorizar ambas métricas en la Google Cloud consola, consulta Métricas. |
Seguridad
Práctica recomendada | Más información |
---|---|
Preferir IP privada | A menos que sea necesario el acceso a la IP pública, es preferible usar la IP privada. De esta forma, se minimizan las conexiones de red no autorizadas a tu base de datos. |
Evita usar 0.0.0.0/0 en Redes autorizadas | No incluya 0.0.0.0/0 en Redes autorizadas, ya que permite el acceso desde Internet en todo el mundo sin restricciones. |
Evita redes autorizadas demasiado grandes | Evita usar prefijos CIDR pequeños en Redes autorizadas, ya que esto permite el acceso desde un número de hosts potencialmente excesivo. Recomendamos que el prefijo CIDR no sea inferior a /16 y, preferiblemente, que sea superior a /19. |
Habilitar políticas de contraseñas | Con las políticas de contraseñas de instancias de MySQL o PostgreSQL, especifica políticas de contraseñas adecuadas para tu instancia de base de datos para evitar que se configuren contraseñas débiles, define el tiempo de caducidad y configura el bloqueo de cuentas en caso de intentos de inicio de sesión fallidos. Esto es especialmente importante si vas a configurar tu instancia para usar una IP pública. |
Arquitectura de datos
Práctica recomendada | Más información |
---|---|
Divide las instancias grandes en instancias más pequeñas, si es posible. | Cuando sea posible, es mejor usar muchas instancias de Cloud SQL más pequeñas que una instancia grande. Gestionar una instancia monolítica grande plantea problemas que no se dan en un grupo de instancias más pequeñas. |
Implementación de aplicaciones
Práctica recomendada | Más información |
---|---|
Aplica prácticas recomendadas de gestión de conexiones, como la agrupación de conexiones o el tiempo de espera exponencial. | Si usas estas técnicas, tu aplicación aprovechará mejor los recursos y te ayudará a mantenerte dentro de los límites de conexión de Cloud SQL. Para obtener más información y ejemplos de código, consulta Gestionar conexiones de bases de datos. |
Prueba la respuesta de tu aplicación a las actualizaciones de mantenimiento, que pueden producirse en cualquier momento durante la ventana de mantenimiento. | Prueba el mantenimiento de autoservicio para simular una actualización de mantenimiento. Durante el mantenimiento, tu instancia no estará disponible durante un breve periodo y se interrumpirán las conexiones existentes. Probar los lanzamientos de mantenimiento te permite comprender mejor cómo gestiona tu aplicación el mantenimiento programado y con qué rapidez se puede recuperar el sistema. |
Prueba la respuesta de tu aplicación a las conmutaciones por error, que pueden producirse en cualquier momento. | Puedes iniciar manualmente una conmutación por error mediante la Google Cloud consola, la CLI de gcloud o la API. Consulta Iniciar la conmutación por error. |
Evita las transacciones grandes. | Asegúrate de que las transacciones sean pequeñas y cortas. Si es necesario hacer una actualización grande de la base de datos, hazla en varias transacciones más pequeñas en lugar de en una sola transacción grande. |
Si usas el proxy de autenticación de Cloud SQL, asegúrate de que sea la versión más reciente. | Consulta Mantener actualizado el proxy de autenticación de Cloud SQL. |
Importación y exportación de datos
Práctica recomendada | Más información |
---|---|
Acelera las importaciones en instancias pequeñas. | En el caso de las instancias pequeñas, puedes aumentar temporalmente la CPU y la RAM de una instancia para mejorar el rendimiento al importar conjuntos de datos grandes. |
Si va a exportar datos para importarlos en Cloud SQL, asegúrese de seguir el procedimiento adecuado. | Consulta Exportar datos de un servidor de base de datos gestionado externamente. |
Copia de seguridad y sistema de recuperación
Práctica recomendada | Más información |
---|---|
Protege tus datos con la función de Cloud SQL adecuada. |
Las copias de seguridad y las exportaciones son formas de proporcionar redundancia y protección de datos. Cada una de ellas protege contra diferentes situaciones y se complementan entre sí en una estrategia de protección de datos sólida. Las copias de seguridad son ligeras y te permiten restaurar los datos de tu instancia al estado que tenían en el momento en que se creó la copia de seguridad. Sin embargo, las copias de seguridad tienen algunas limitaciones. Si eliminas la instancia, también se eliminarán las copias de seguridad. No puedes crear copias de seguridad de una sola base de datos o tabla. Además, si la región en la que se encuentra la instancia no está disponible, no podrás restaurarla a partir de esa copia de seguridad, aunque sea en una región disponible. Las exportaciones tardan más en crearse porque se crea un archivo externo en Cloud Storage que se puede usar para recrear tus datos. Las exportaciones no se verán afectadas si eliminas la instancia. Además, solo puedes exportar una base de datos o una tabla, en función del formato de exportación que elijas. |
Protege tu instancia y tus copias de seguridad frente a la eliminación accidental. | Las instancias de Cloud SQL que creas en la Google Cloud consola o mediante Terraform tienen habilitada la prevención de eliminación accidental de forma predeterminada. Usa la función de exportación de Cloud SQL para exportar tus datos y obtener una protección adicional. Usa Cloud Scheduler con la API REST para automatizar la gestión de las exportaciones. Para casos más avanzados, puedes usar Cloud Scheduler con funciones de Cloud Run para la automatización. |
Siguientes pasos
Para obtener más información sobre las prácticas generales por motor de base de datos, consulta los siguientes artículos:
- Prácticas recomendadas generales para MySQL
- Prácticas recomendadas generales para PostgreSQL
- Prácticas recomendadas generales para SQL Server