Configura la agrupación de conexiones administrada

En esta página, se describe cómo habilitar, configurar y supervisar la agrupación de conexiones administrada en tus instancias de Cloud SQL.

La reducción de conexiones administradas te permite escalar tus cargas de trabajo optimizando el uso de recursos y la latencia de conexión de tus instancias con la reducción. Para obtener información detallada sobre la reducción de conexiones administradas y cómo usarla en tus instancias, consulta Descripción general de la reducción de conexiones administradas.

Antes de comenzar

  • Confirma que tu instancia cumpla con todos los requisitos para usar la agrupación de conexiones administrada.
  • Si usas la gcloud CLI, confirma que tu versión de la gcloud CLI sea 515.0.0 o posterior.

Habilita la agrupación de conexiones administradas

Puedes habilitar la agrupación de conexiones administrada para una instancia en el momento de la creación o editar una instancia existente para habilitarla.

Habilita la agrupación de conexiones administradas para una instancia nueva

Para crear una instancia nueva con la agrupación de conexiones administrada habilitada, consulta Crea instancias. Puedes habilitar el grupo de conexiones administrado para una instancia nueva solo con gcloud CLI o la API de Cloud SQL.

Habilita la agrupación de conexiones administradas para una instancia existente

Para habilitar la agrupación de conexiones administradas en una instancia existente, haz lo siguiente:

Console

  1. En la consola de Cloud de Confiance , ve a la página Instancias de Cloud SQL.

    Ir a Instancias de Cloud SQL

  2. Busca la instancia para la que deseas habilitar la agrupación de conexiones administradas. Para abrir la página Resumen de la instancia, haz clic en su nombre.

  3. Haz clic en Editar.

  4. En Personaliza tu instancia, expande Conexiones.

  5. Para habilitar la agrupación de conexiones administradas, marca la casilla Habilitar el grupo de conexiones administradas.

  6. Haz clic en Guardar.

gcloud

Usa el comando gcloud sql instances para habilitar la agrupación de conexiones administradas.

  gcloud sql instances patch INSTANCE_NAME \
  --enable-connection-pooling

Reemplaza lo siguiente:

  • INSTANCE_NAME: Es el nombre de la instancia de Cloud SQL.

REST v1

Usa el siguiente comando y configura connectionPoolingEnabled:

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

  • PROJECT_ID: el ID del proyecto
  • INSTANCE_ID: El ID de la 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, expande una de estas opciones:

Deberías recibir una respuesta JSON similar a la que se muestra a continuación:

{
  "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 configura connectionPoolingEnabled:

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

  • PROJECT_ID: el ID del proyecto
  • INSTANCE_ID: El ID de la 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, expande una de estas opciones:

Deberías recibir una respuesta JSON similar a la que se muestra a continuación:

{
  "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:

# This example shows creating an instance with Managed Connection Pooling enabled and custom flags set.
resource "google_sql_database_instance" "mysql_managed_connection_pooling_enable" {
  name                = "mysql-instance-managed-connection-pooling-enable"
  region              = "us-central1"
  database_version    = "MYSQL_8_0"
  deletion_protection = false

  settings {
    tier    = "db-perf-optimized-N-2"
    edition = "ENTERPRISE_PLUS"
    connection_pool_config {
      connection_pooling_enabled = true
    }
  }
}

Modifica la agrupación de conexiones administrada para una instancia

Después de habilitar la agrupación de conexiones administrada, puedes personalizarla para satisfacer las necesidades de tu instancia con opciones de configuración avanzadas. Estas opciones de configuración se denominan marcas de grupo de conexiones administradas. Para obtener más información sobre las opciones de configuración avanzada, sus valores predeterminados y sus rangos, consulta Opciones de configuración avanzada.

Para modificar las opciones de configuración avanzada de la agrupación de conexiones administrada de una instancia, haz lo siguiente:

Console

  1. En la consola de Cloud de Confiance , ve a la página Instancias de Cloud SQL.

    Ir a Instancias de Cloud SQL

  2. Busca la instancia para la que deseas habilitar la agrupación de conexiones administradas. Para abrir la página Resumen de la instancia, haz clic en su nombre.

  3. Haz clic en Editar.

  4. En Personaliza tu instancia, expande Conexiones.

  5. En Grupo de conexiones administrado, expande Opciones avanzadas de agrupación.

    Modifica las opciones avanzadas de agrupación que quieras actualizar.

  6. 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

Reemplaza lo siguiente:

  • INSTANCE_NAME: Es el nombre de la instancia de Cloud SQL.
  • CONFIGURATION_NAME: Es el nombre de la opción de configuración. Para obtener una lista de todas las opciones de configuración avanzada, consulta Opciones de configuración avanzada.
  • CONFIGURATION_VALUE: Es el valor nuevo de la opción de configuración seleccionada.

REST v1

Para modificar la configuración avanzada de la agrupación de conexiones administrada, usa el siguiente comando y establece ConnectionPoolConfig:

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

  • PROJECT_ID: el ID del proyecto
  • INSTANCE_ID: El ID de la 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, expande una de estas opciones:

Deberías recibir una respuesta JSON similar a la que se muestra a continuación:

{
  "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 configuración avanzada de la agrupación de conexiones administrada, usa el siguiente comando y establece ConnectionPoolConfig:

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

  • PROJECT_ID: el ID del proyecto
  • INSTANCE_ID: El ID de la 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, expande una de estas opciones:

Deberías recibir una respuesta JSON similar a la que se muestra a continuación:

{
  "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 la configuración avanzada de la agrupación de conexiones administrada, usa el siguiente recurso de Terraform:

# This example shows modifying the flags of an existing Managed Connection Pooling configuration.
resource "google_sql_database_instance" "mysql_managed_connection_pooling_modify" {
  name                = "mysql-instance-managed-connection-pooling-modify"
  region              = "us-central1"
  database_version    = "MYSQL_8_0"
  deletion_protection = false

  settings {
    tier    = "db-perf-optimized-N-2"
    edition = "ENTERPRISE_PLUS"
    connection_pool_config {
      connection_pooling_enabled = true
      flags {
        name  = "max_pool_size" # Modify or add the name and value of an flag
        value = "10"
      }
    }
  }
}

Inhabilita la agrupación de conexiones administradas para una instancia

Puedes inhabilitar la agrupación de conexiones administrada para una instancia existente con la consola deCloud de Confiance , gcloud CLI o la API de Cloud SQL.

Para inhabilitar la agrupación de conexiones administrada en una instancia, haz lo siguiente:

Console

  1. En la consola de Cloud de Confiance , ve a la página Instancias de Cloud SQL.

    Ir a Instancias de Cloud SQL

  2. Busca la instancia para la que deseas inhabilitar la reducción de conexiones administradas. Para abrir la página Resumen de la instancia, haz clic en su nombre.

  3. Haz clic en Editar.

  4. En Personaliza tu instancia, expande Conexiones.

  5. Para inhabilitar la agrupación de conexiones administradas, desmarca la casilla Habilitar el grupo de conexiones administradas.

  6. Haz clic en Guardar.

gcloud

Usa el comando gcloud sql instances para inhabilitar la agrupación de conexiones administrada.

  gcloud sql instances patch INSTANCE_NAME \
  --no-enable-connection-pooling

Reemplaza lo siguiente:

  • PROJECT_ID: Es el nombre de la instancia de Cloud SQL.

REST v1

Para inhabilitar la agrupación de conexiones administradas en una instancia, usa el siguiente comando y establece connectionPoolingEnabled:

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

  • PROJECT_ID: el ID del proyecto
  • INSTANCE_ID: El ID de la 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, expande una de estas opciones:

Deberías recibir una respuesta JSON similar a la que se muestra a continuación:

{
  "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 administradas en una instancia, usa el siguiente comando y establece connectionPoolingEnabled:

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

  • PROJECT_ID: el ID del proyecto
  • INSTANCE_ID: El ID de la 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, expande una de estas opciones:

Deberías recibir una respuesta JSON similar a la que se muestra a continuación:

{
  "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 el grupo de conexiones administrado para una instancia, usa el siguiente recurso de Terraform:

# This example shows disabling Managed Connection Pooling on an existing instance.
resource "google_sql_database_instance" "mysql_managed_connection_pooling_disable" {
  name                = "mysql-instance-managed-connection-pooling-disable"
  region              = "us-central1"
  database_version    = "MYSQL_8_0"
  deletion_protection = false

  settings {
    tier    = "db-perf-optimized-N-2"
    edition = "ENTERPRISE_PLUS"
    connection_pool_config {
      # Set to false to disable Managed Connection Pooling. You can also remove the block entirely.
      connection_pooling_enabled = false
    }
  }
}

Consulta el estado de la agrupación de conexiones administrada de una instancia

Puedes ver el estado de la agrupación de conexiones administrada de una instancia con la consola de Cloud de Confiance , gcloud CLI o la API de Cloud SQL.

Para ver el estado de la agrupación de conexiones administrada de una instancia de la edición Cloud SQL Enterprise Plus, haz lo siguiente:

Console

  1. En la consola de Cloud de Confiance , ve a la página Instancias de Cloud SQL.

    Ir a Instancias de Cloud SQL

  2. Busca la instancia para la que deseas ver el estado de la reducción de conexiones administradas. Para abrir la página Resumen de la instancia, haz clic en su nombre.

    En la sección Conexiones, se muestra si la agrupación de conexiones administrada está habilitada o inhabilitada.

gcloud

Usa el comando gcloud sql instances describe para ver el estado de la agrupación de conexiones administrada de una instancia:

  gcloud sql instances describe INSTANCE_NAME
  --format="value(settings.connectionPoolConfig.connectionPoolingEnabled)"

Reemplaza lo siguiente:

  • PROJECT_ID: Es el nombre de la instancia de Cloud SQL.

    Si la agrupación de conexiones administrada está habilitada, se devuelve la siguiente respuesta:

    connectionPoolingEnabled: true

REST v1

Para ver el estado de la agrupación de conexiones administrada de tu instancia de Cloud SQL, usa el siguiente comando y busca connectionPoolingEnabled:

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

HTTP method and URL:

GET https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_NAME

Para enviar tu solicitud, expande una de estas opciones:

Deberías recibir una respuesta JSON similar a la que se muestra a continuación:

{
  "kind": "sql#instance",
  "state": "RUNNABLE",
  "databaseVersion": "MYSQL_8_0",
  "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 administrada de tu instancia de Cloud SQL, usa el siguiente comando y busca connectionPoolingEnabled:

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

HTTP method and URL:

GET https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_NAME

Para enviar tu solicitud, expande una de estas opciones:

Deberías recibir una respuesta JSON similar a la que se muestra a continuación:

{
  "kind": "sql#instance",
  "state": "RUNNABLE",
  "databaseVersion": "MYSQL_8_0",
  "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"
}

Supervisa la agrupación de conexiones administrada

Puedes supervisar cómo se ejecuta la agrupación de conexiones administrada en tus instancias de Cloud SQL con las siguientes métricas de agrupación de conexiones administrada de Cloud SQL:

Nombre de la métrica Descripción
threads Realiza un seguimiento del recuento de subprocesos en el grupo de conexiones según su estado. Los estados que se incluyen en esta métrica son los siguientes:
  • idle: Es la cantidad de subprocesos inactivos en el grupo.
  • active: Es la cantidad de subprocesos activos (no inactivos) en el grupo.
pending_connection La cantidad de conexiones que se encuentran en la cola de trabajo.
avg_wait_time Es el tiempo promedio que pasa la solicitud de conexión esperando un servidor.

Para obtener más información sobre estas métricas, consulta Métricas de Cloud SQL. Para ver estas métricas con la consola de Cloud de Confiance , consulta Visualiza las métricas en la página de descripción general de la instancia de Cloud SQL.

¿Qué sigue?