En esta página se describe cómo habilitar, configurar y monitorizar la agrupación de conexiones gestionada en las instancias de Cloud SQL.
La agrupación de conexiones gestionada te permite escalar tus cargas de trabajo optimizando la utilización de recursos y la latencia de conexión de tus instancias mediante la agrupación. Para obtener información detallada sobre la agrupación de conexiones gestionada y cómo usarla en tus instancias, consulta la descripción general de la agrupación de conexiones gestionada.
Antes de empezar
- Confirma que tu instancia cumple todos los requisitos para usar la agrupación de conexiones gestionada.
- Si usas gcloud CLI, confirma que tu versión de gcloud CLI es
515.0.0
o una posterior. - Confirma que tu instancia usa la nueva arquitectura de red de Cloud SQL. Si tu instancia sigue usando la arquitectura de red antigua, cámbiala a la nueva arquitectura de red.
- Confirma que tu instancia tiene las conexiones de servidor necesarias por vCPU asignada en la marca
max_connections
de los ajustes de configuración de tu base de datos. Para obtener más información, consulta Conexiones de servidor usadas por la agrupación de conexiones gestionada.
Habilitar la agrupación de conexiones gestionada
Puedes habilitar la agrupación de conexiones gestionada en una instancia en el momento de la creación o editar una instancia para habilitarla.
Habilitar la agrupación de conexiones gestionadas en una instancia nueva
Para crear una instancia con la función de agrupación de conexiones gestionada habilitada, consulta Crear instancias. Solo puedes habilitar la agrupación de conexiones gestionada para una instancia nueva mediante la CLI de gcloud o la API de Cloud SQL.
Habilitar la agrupación de conexiones gestionada en una instancia
Para habilitar la agrupación de conexiones gestionada en una instancia, siga estos pasos:
Consola
En la Google Cloud consola, ve a la página Instancias de Cloud SQL.
Busca la instancia en la que quieras habilitar la agrupación de conexiones gestionada. Para abrir la página Información general de la instancia, haz clic en su nombre.
Haz clic en Editar.
En Personalizar tu instancia, amplía Conexiones.
Para habilitar la agrupación de conexiones gestionadas, marca la casilla Habilitar agrupación de conexiones gestionadas.
Haz clic en Guardar.
gcloud
Usa el comando gcloud sql instances
para habilitar la agrupación de conexiones gestionada.
gcloud sql instances patch INSTANCE_NAME \
--enable-connection-pooling
Haz los cambios siguientes:
INSTANCE_NAME
: el nombre de la instancia de Cloud SQL.
REST v1
Usa el siguiente comando y define connectionPoolingEnabled
:
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- PROJECT_ID: el ID del proyecto
- INSTANCE_ID: el ID de instancia
Método HTTP y URL:
PATCH https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID
Cuerpo JSON de la solicitud:
{ "settings": { "connectionPoolConfig": { "connectionPoolingEnabled": true } } }
Para enviar tu solicitud, despliega una de estas opciones:
Deberías recibir una respuesta JSON similar a la siguiente:
{ "kind": "sql#operation", "targetLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID", "status": "PENDING", "user": "user@example.com", "insertTime": "2020-01-16T02:32:12.281Z", "operationType": "UPDATE", "name": "OPERATION_ID", "targetId": "INSTANCE_ID", "selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/operations/OPERATION_ID", "targetProject": "PROJECT_ID" }
REST v1beta4
Usa el siguiente comando y define connectionPoolingEnabled
:
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- PROJECT_ID: el ID del proyecto
- INSTANCE_ID: el ID de instancia
Método HTTP y URL:
PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID
Cuerpo JSON de la solicitud:
{ "settings": { "connectionPoolConfig": { "connectionPoolingEnabled": true } } }
Para enviar tu solicitud, despliega una de estas opciones:
Deberías recibir una respuesta JSON similar a la siguiente:
{ "kind": "sql#operation", "targetLink": "https://sqladmin.googleapis.com/sql/v1/projects/PROJECT_ID/instances/INSTANCE_ID", "status": "PENDING", "user": "user@example.com", "insertTime": "2020-01-16T02:32:12.281Z", "operationType": "UPDATE", "name": "OPERATION_ID", "targetId": "INSTANCE_ID", "selfLink": "https://sqladmin.googleapis.com/sql/v1/projects/PROJECT_ID/operations/OPERATION_ID", "targetProject": "PROJECT_ID" }
Terraform
Usa el siguiente recurso de Terraform:
Modificar la agrupación de conexiones gestionada de una instancia
Después de habilitar la agrupación de conexiones gestionada, puedes personalizarla para que se adapte a las necesidades de tu instancia mediante opciones de configuración avanzadas. Estas opciones de configuración se denominan "flags de grupo de conexiones gestionadas". Las configuraciones añadidas a la agrupación de conexiones gestionada se aplican a todos los agrupadores de conexiones que utiliza la instancia. Para obtener más información sobre las opciones de configuración avanzada, sus valores predeterminados y sus intervalos, consulta Opciones de configuración avanzada.
Para modificar las opciones de configuración avanzadas de la agrupación de conexiones gestionadas de una instancia, sigue estos pasos:
Consola
En la Google Cloud consola, ve a la página Instancias de Cloud SQL.
Busca la instancia en la que quieras habilitar la agrupación de conexiones gestionada. Para abrir la página Información general de la instancia, haz clic en su nombre.
Haz clic en Editar.
En Personalizar tu instancia, amplía Conexiones.
En Grupo de conexiones gestionado, despliega Opciones avanzadas de agrupación.
Modifica las opciones avanzadas de agrupación que quieras actualizar.
Haz clic en Guardar.
gcloud
Usa el comando gcloud sql instances
para modificar las opciones de configuración.
gcloud sql instances patch INSTANCE_NAME \
--connection-pool-flags=CONFIGURATION_NAME=CONFIGURATION_VALUE
Haz los cambios siguientes:
INSTANCE_NAME
: el nombre de la instancia de Cloud SQL.CONFIGURATION_NAME
: el nombre de la opción de configuración. Para ver una lista de todas las opciones de configuración avanzada, consulta Opciones de configuración avanzada.CONFIGURATION_VALUE
: el nuevo valor de la opción de configuración seleccionada.
REST v1
Para modificar la agrupación de conexiones gestionada
Configuraciones avanzadas,
usa el siguiente comando y define ConnectionPoolConfig
:
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- PROJECT_ID: el ID del proyecto
- INSTANCE_ID: el ID de instancia
Método HTTP y URL:
PATCH https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID
Cuerpo JSON de la solicitud:
{ "settings": { "connectionPoolConfig": { "flags": [ { "name": "CONFIGURATION_NAME", "value":"CONFIGURATION_VALUE" } ] } } }
Para enviar tu solicitud, despliega una de estas opciones:
Deberías recibir una respuesta JSON similar a la siguiente:
{ "kind": "sql#operation", "targetLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID", "status": "PENDING", "user": "user@example.com", "insertTime": "2020-01-16T02:32:12.281Z", "operationType": "UPDATE", "name": "OPERATION_ID", "targetId": "INSTANCE_ID", "selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/operations/OPERATION_ID", "targetProject": "PROJECT_ID" }
REST v1beta4
Para modificar la agrupación de conexiones gestionada
Configuraciones avanzadas,
usa el siguiente comando y define ConnectionPoolConfig
:
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- PROJECT_ID: el ID del proyecto
- INSTANCE_ID: el ID de instancia
Método HTTP y URL:
PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID
Cuerpo JSON de la solicitud:
{ "settings": { "connectionPoolConfig": { "flags": [ { "name": "CONFIGURATION_NAME", "value":"CONFIGURATION_VALUE" } ] } } }
Para enviar tu solicitud, despliega una de estas opciones:
Deberías recibir una respuesta JSON similar a la siguiente:
{ "kind": "sql#operation", "targetLink": "https://sqladmin.googleapis.com/sql/v1/projects/PROJECT_ID/instances/INSTANCE_ID", "status": "PENDING", "user": "user@example.com", "insertTime": "2020-01-16T02:32:12.281Z", "operationType": "UPDATE", "name": "OPERATION_ID", "targetId": "INSTANCE_ID", "selfLink": "https://sqladmin.googleapis.com/sql/v1/projects/PROJECT_ID/operations/OPERATION_ID", "targetProject": "PROJECT_ID" }
Terraform
Para modificar las configuraciones avanzadas de la agrupación de conexiones gestionada, usa el siguiente recurso de Terraform:
Inhabilitar la agrupación de conexiones gestionadas en una instancia
Puedes inhabilitar la agrupación de conexiones gestionada en una instancia que ya tengas mediante laGoogle Cloud consola, la CLI de gcloud o la API de Cloud SQL.
Para inhabilitar la agrupación de conexiones gestionadas en una instancia, sigue estos pasos:
Consola
En la Google Cloud consola, ve a la página Instancias de Cloud SQL.
Busca la instancia en la que quieras inhabilitar la agrupación de conexiones gestionada. Para abrir la página Información general de la instancia, haz clic en su nombre.
Haz clic en Editar.
En Personalizar tu instancia, amplía Conexiones.
Para inhabilitar la agrupación de conexiones gestionadas, desmarca la casilla Habilitar la agrupación de conexiones gestionadas.
Haz clic en Guardar.
gcloud
Usa el comando gcloud sql instances
para inhabilitar la agrupación de conexiones gestionadas.
gcloud sql instances patch INSTANCE_NAME \
--no-enable-connection-pooling
Haz los cambios siguientes:
PROJECT_ID
: el nombre de la instancia de Cloud SQL.
REST v1
Para inhabilitar la agrupación de conexiones gestionada en una instancia, usa el siguiente comando y define connectionPoolingEnabled
:
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- PROJECT_ID: el ID del proyecto
- INSTANCE_ID: el ID de instancia
Método HTTP y URL:
PATCH https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID
Cuerpo JSON de la solicitud:
{ "settings": { "connectionPoolConfig": { "connectionPoolingEnabled": false } } }
Para enviar tu solicitud, despliega una de estas opciones:
Deberías recibir una respuesta JSON similar a la siguiente:
{ "kind": "sql#operation", "targetLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID", "status": "PENDING", "user": "user@example.com", "insertTime": "2020-01-16T02:32:12.281Z", "operationType": "UPDATE", "name": "OPERATION_ID", "targetId": "INSTANCE_ID", "selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/operations/OPERATION_ID", "targetProject": "PROJECT_ID" }
REST v1beta4
Para inhabilitar la agrupación de conexiones gestionada en una instancia, usa el siguiente comando y define connectionPoolingEnabled
:
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- PROJECT_ID: el ID del proyecto
- INSTANCE_ID: el ID de instancia
Método HTTP y URL:
PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID
Cuerpo JSON de la solicitud:
{ "settings": { "connectionPoolConfig": { "connectionPoolingEnabled": false } } }
Para enviar tu solicitud, despliega una de estas opciones:
Deberías recibir una respuesta JSON similar a la siguiente:
{ "kind": "sql#operation", "targetLink": "https://sqladmin.googleapis.com/sql/v1/projects/PROJECT_ID/instances/INSTANCE_ID", "status": "PENDING", "user": "user@example.com", "insertTime": "2020-01-16T02:32:12.281Z", "operationType": "UPDATE", "name": "OPERATION_ID", "targetId": "INSTANCE_ID", "selfLink": "https://sqladmin.googleapis.com/sql/v1/projects/PROJECT_ID/operations/OPERATION_ID", "targetProject": "PROJECT_ID" }
Terraform
Para inhabilitar la agrupación de conexiones gestionada en una instancia, usa el siguiente recurso de Terraform:
Ver el estado de la agrupación de conexiones gestionadas de una instancia
Puedes ver el estado de la conexión agrupada gestionada de una instancia mediante la Google Cloud consola, la CLI de gcloud o la API Cloud SQL.
Para ver el estado de la agrupación de conexiones gestionada de una instancia de la edición Enterprise Plus de Cloud SQL, haz lo siguiente:
Consola
En la Google Cloud consola, ve a la página Instancias de Cloud SQL.
Busca la instancia de la que quieras ver el estado de la agrupación de conexiones gestionada. Para abrir la página Información general de la instancia, haz clic en su nombre.
En la sección Conexiones se indica si la agrupación de conexiones gestionadas está habilitada o inhabilitada.
gcloud
Usa el comando gcloud sql instances describe para ver el estado de la agrupación de conexiones gestionadas de una instancia:
gcloud sql instances describe INSTANCE_NAME
--format="value(settings.connectionPoolConfig.connectionPoolingEnabled)"
Haz los cambios siguientes:
PROJECT_ID
: el nombre de la instancia de Cloud SQL.Si la agrupación de conexiones gestionadas está habilitada, se devuelve la siguiente respuesta:
connectionPoolingEnabled: true
REST v1
Para ver el estado de la agrupación de conexiones gestionada de tu instancia de Cloud SQL, usa el siguiente comando y busca connectionPoolingEnabled
:
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- PROJECT_ID: el ID o el número de proyecto del Google Cloud proyecto que contiene la instancia.
- INSTANCE_NAME: el nombre de la instancia de Cloud SQL. Si esta instancia tiene habilitado Private Service Connect, los puntos finales de Private Service Connect de las redes de VPC pueden conectarse a ella.
Método HTTP y URL:
GET https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_NAME
Para enviar tu solicitud, despliega una de estas opciones:
Deberías recibir una respuesta JSON similar a la siguiente:
{ "kind": "sql#instance", "state": "RUNNABLE", "databaseVersion": "POSTGRES_13", "settings": { "authorizedGaeApplications": [], "tier": "db-custom-2-7680", "kind": "sql#settings", "availabilityType": "REGIONAL", "pricingPlan": "PER_USE", "replicationType": "SYNCHRONOUS", "activationPolicy": "ALWAYS", "ipConfiguration": { "authorizedNetworks": [], "pscConfig": { "allowedConsumerProjects": [ "ALLOWED_PROJECTS" ], "pscEnabled": true }, "ipv4Enabled": false }, ... "createTime": "2023-06-14T18:48:34.975Z", "sqlNetworkArchitecture": "NEW_NETWORK_ARCHITECTURE", "pscServiceAttachmentLink": "projects/PROJECT_ID/regions/REGION_NAME/serviceAttachments/SERVICE_ATTACHMENT_ID", "dnsName": "DNS_NAME" }
REST v1beta4
Para ver el estado de la agrupación de conexiones gestionada de tu instancia de Cloud SQL, usa el siguiente comando y busca connectionPoolingEnabled
:
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- PROJECT_ID: el ID o el número de proyecto del Google Cloud proyecto que contiene la instancia.
- INSTANCE_NAME: el nombre de la instancia de Cloud SQL. Si esta instancia tiene habilitado Private Service Connect, los puntos finales de Private Service Connect de las redes de VPC pueden conectarse a ella.
Método HTTP y URL:
GET https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_NAME
Para enviar tu solicitud, despliega una de estas opciones:
Deberías recibir una respuesta JSON similar a la siguiente:
{ "kind": "sql#instance", "state": "RUNNABLE", "databaseVersion": "POSTGRES_13", "settings": { "authorizedGaeApplications": [], "tier": "db-custom-2-7680", "kind": "sql#settings", "availabilityType": "REGIONAL", "pricingPlan": "PER_USE", "replicationType": "SYNCHRONOUS", "activationPolicy": "ALWAYS", "ipConfiguration": { "authorizedNetworks": [], "pscConfig": { "allowedConsumerProjects": [ "ALLOWED_PROJECTS" ], "pscEnabled": true }, "ipv4Enabled": false }, ... "createTime": "2023-06-14T18:48:34.975Z", "sqlNetworkArchitecture": "NEW_NETWORK_ARCHITECTURE", "pscServiceAttachmentLink": "projects/PROJECT_ID/regions/REGION_NAME/serviceAttachments/SERVICE_ATTACHMENT_ID", "dnsName": "DNS_NAME" }
Monitorizar la agrupación de conexiones gestionada
Puedes monitorizar cómo se ejecuta la agrupación de conexiones gestionada en tus instancias de Cloud SQL mediante las siguientes métricas de agrupación de conexiones gestionada de Cloud SQL:
Nombre de la métrica | Descripción |
---|---|
num_pools | El número total de grupos de conexiones por base de datos. |
client_connection | Registra el número de conexiones según el estado de la conexión del cliente. Los estados incluidos en esta métrica son los siguientes:
|
server_connections | Hace un seguimiento del número de conexiones del servidor según el estado de la conexión del servidor. Los estados incluidos en esta métrica son los siguientes:
|
client_connections_avg_wait_time | Tiempo medio que han pasado todos los clientes en estado de espera de un servidor. |
Para obtener más información sobre estas métricas, consulta las métricas de Cloud SQL. Para ver estas métricas con la consola Google Cloud , consulta el artículo Ver métricas en la página de información general de la instancia de Cloud SQL.
Siguientes pasos
- Ver métricas en la página de resumen de la instancia de Cloud SQL
- Descripción general de la agrupación de conexiones gestionada