Información general sobre el grupo de conexiones gestionado

En esta página se describe qué es la agrupación de conexiones gestionada y cómo usarla para optimizar la gestión de conexiones de bases de datos de tus instancias de Cloud SQL mediante la agrupación.

La agrupación de conexiones gestionada te permite escalar tus cargas de trabajo optimizando el uso de recursos y la latencia de las conexiones de tus instancias de Cloud SQL mediante la agrupación. La agrupación de conexiones gestionada asigna dinámicamente conexiones de servidor a las solicitudes entrantes cuando es posible. De esta forma, se consigue una mejora significativa del rendimiento, sobre todo en las conexiones escaladas, ya que se absorben los picos repentinos de conexión y se reutilizan las conexiones de base de datos. En lugar de conectarse a una base de datos concreta, la agrupación de conexiones gestionada se conecta a un clúster de agrupadores, lo que proporciona tiempos de conexión más cortos y escalabilidad para sus cargas de trabajo. El número de agrupadores utilizados se basa en el número de núcleos de vCPU de tu instancia.

Aunque puedes usar la agrupación de conexiones gestionada para cualquier carga de trabajo transaccional, esta ofrece las mayores ventajas en cuanto a rendimiento y latencia en aplicaciones que contienen conexiones de corta duración o que provocan un aumento repentino de las conexiones.

En el caso de las conexiones de larga duración, el rendimiento de la conexión con la agrupación de conexiones gestionada puede ser ligeramente inferior al de una conexión directa. En este caso, la agrupación de conexiones gestionada proporciona escalado de conexiones cuando el número de conexiones es muy alto. Sin embargo, en el caso de las aplicaciones que suelen establecer conexiones de larga duración, puedes usar conexiones directas a tu instancia.

Para obtener más información sobre cómo habilitar la agrupación de conexiones gestionada, consulta Configurar la agrupación de conexiones gestionada.

Requisitos

Para usar la agrupación de conexiones gestionada, tu instancia debe cumplir los siguientes requisitos:

  • Tu instancia debe ser de la edición Enterprise Plus de Cloud SQL.
  • Debes conectarte a tu instancia mediante una conexión directa o solo con el proxy de autenticación de Cloud SQL.
  • Debes conectarte a tu instancia con un nombre de usuario y una contraseña válidos. No se admiten usuarios de IAM ni de grupos de IAM cuando se usa la agrupación de conexiones gestionada.
  • Tu instancia debe estar configurada para usar el acceso a servicios privados, usar una IP pública o ser una instancia nueva con Private Service Connect habilitado.
  • Tu instancia debe usar la nueva arquitectura de red de Cloud SQL.
  • La agrupación de conexiones gestionadas requiere que la versión de mantenimiento sea POSTGRES_$version.R20250302.00_04 como mínimo. Para obtener más información, consulta Realizar el mantenimiento de autoservicio.

Puertos que usa la agrupación de conexiones gestionada para instancias de Cloud SQL

Cuando habilitas la agrupación de conexiones gestionada, los puertos que usan las instancias de Cloud SQL para servir el tráfico de la base de datos cambian. Los puertos que usa la agrupación de conexiones gestionada son los siguientes:

  • Puerto TCP 5432: se usa para las conexiones directas del servidor de la base de datos Postgres. Este es el número de puerto predeterminado que se usa al conectarse directamente mediante el cliente psql.
  • Puerto TCP 6432: se usa para las conexiones directas del pooler de Managed Connection Pooling. Para conectarte mediante este puerto, especifica psql -p 6432 cuando te conectes directamente con el cliente psql.
  • Puerto TCP 3307: se usa solo para las conexiones del proxy de autenticación de Cloud SQL mediante un agrupador de conexiones gestionadas. Cuando usas el proxy de autenticación de Cloud SQL para conectarte al gestor de conexiones de Managed Connection Pooling, este número de puerto se configura con el cliente del proxy de autenticación de Cloud SQL y no se puede cambiar.

Opciones de configuración avanzada

La conexión agrupada gestionada ofrece las siguientes opciones de agrupación que puedes definir con el parámetro pool_mode:

  • transaction (valor predeterminado): agrupa las conexiones a nivel de transacción.
  • session: agrupa las conexiones a nivel de sesión.

También puedes personalizar la agrupación de conexiones gestionadas mediante los siguientes parámetros de configuración:

  • max_pool_size: tamaño máximo del grupo de conexiones. El valor predeterminado es 50 conexiones.
  • min_pool_size: tamaño del umbral del grupo de conexiones. Si el número de conexiones de servidor es inferior a min_pool_size, añade más conexiones de servidor al grupo. El valor predeterminado es 0 conexiones.
  • max_client_connections: número máximo de conexiones permitidas para tu instancia. El valor predeterminado es de 5000 conexiones.
  • client_connection_idle_timeout: el tiempo que una conexión de cliente permanece inactiva antes de que se agote el tiempo de espera. Este valor puede oscilar entre 0 y 2.147.483 segundos, y el valor predeterminado es 0 segundos.
  • server_connection_idle_timeout: el tiempo que una conexión de servidor permanece inactiva antes de que se agote el tiempo de espera. Este valor puede oscilar entre 0 y 2.147.483 segundos, y el valor predeterminado es de 600 segundos.
  • query_wait_timeout: el tiempo que espera una consulta hasta que se agota el tiempo de espera. Este valor puede oscilar entre 0 y 2.147.483 segundos, y el valor predeterminado es de 120 segundos.
  • max_prepared_statements: número máximo de comandos de instrucciones preparadas con nombre a nivel de protocolo admitidos en el modo de agrupación de transacciones. El valor predeterminado es 0 instrucciones.
  • ignore_startup_parameters: los parámetros que quieras ignorar y que no se registren en los paquetes de inicio de la agrupación de conexiones gestionada de forma predeterminada.
  • server_lifetime: tiempo máximo que una conexión de servidor puede estar inactiva antes de que la agrupación de conexiones gestionadas la cierre. El valor predeterminado es 3600 segundos.

Limitaciones

Si usas la conexión agrupada gestionada con tus instancias de la edición Enterprise Plus de Cloud SQL, ten en cuenta estas limitaciones:

  • Si habilitas la agrupación de conexiones gestionada en una instancia, la base de datos se reiniciará.
  • Cuando usas la API de Cloud SQL para habilitar, inhabilitar o configurar la agrupación de conexiones gestionada, la API instance.update no puede contener ninguna otra actualización de la configuración de la instancia.
  • El agrupamiento de conexiones gestionado solo se puede usar con el proxy de autenticación de Cloud SQL versión 2.15.2 y posteriores.
  • Si utilizas el conector de lenguaje Go de Cloud SQL, te recomendamos que uses la versión 1.24 de Go como mínimo. Si usas la versión 1.23 o una anterior de Go, es posible que experimentes limitaciones en el rendimiento al usar la agrupación de conexiones gestionada.
  • Si usas la agrupación de conexiones gestionada en el modo de agrupación transaction, no se admiten las siguientes funciones de SQL:

    • SET/RESET
    • LISTEN
    • WITH HOLD CURSOR
    • PREPARE/DEALLOCATE
    • PRESERVE/DELETE ROW tablas temporales
    • LOAD
    • Bloqueos de asesoramiento a nivel de sesión
  • Si usas la biblioteca de interfaz de base de datos asyncpg para el gestor de conexiones de Managed Connection Pooling en los puertos 3307 y 6432, debes actualizar max_prepared_statements a un valor superior a 0 para habilitar la compatibilidad con las instrucciones preparadas en el gestor de conexiones de Managed Connection Pooling.

  • Si usas Cloud SQL para PostgreSQL versión 17, la opción sslnegotiation=direct no es compatible.

  • El seguimiento de la IP del cliente no se admite con la agrupación de conexiones gestionada. Si habilitas la opción Almacenar direcciones IP de cliente en Estadísticas de las consultas, las direcciones IP de cliente se mostrarán como local en lugar de la dirección IP en sí.

Siguientes pasos