Configurar o agrupamento de conexões gerenciado

Esta página descreve como configurar o pool de conexões gerenciado para suas instâncias do Cloud SQL.

Antes de começar

  • Confirme se a instância atende a todos os requisitos para usar o pool de conexões gerenciadas.
  • Se você estiver usando a CLI gcloud, use o comando gcloud beta e confirme se a versão da CLI gcloud é 515.0.0 ou mais recente.
  • Confirme se a instância está usando a nova arquitetura de rede do Cloud SQL. Se a instância ainda estiver usando a arquitetura de rede antiga, faça upgrade para a nova arquitetura de rede.

É possível ativar o pool de conexões gerenciadas para uma instância no momento da criação ou editar uma instância para ativá-lo.

Ativar o pool de conexões gerenciadas para uma nova instância

Para criar uma instância com o pool de conexões gerenciado ativado, consulte Criar instâncias. É possível ativar o pool de conexões gerenciadas para uma instância usando a gcloud CLI ou a API Cloud SQL.

Ativar o pool de conexões gerenciadas para uma instância

É possível ativar o pool de conexões gerenciadas para uma instância usando o console do Google Cloud, a gcloud CLI ou a API Cloud SQL. É necessário ativar o pool de conexões gerenciado antes de modificar as opções.

Console

  1. No console do Google Cloud, acesse a página Instâncias do Cloud SQL.

    Acesse "Instâncias do Cloud SQL"

  2. Encontre a instância em que você quer ativar o pool de conexões gerenciado. Para abrir a página "Visão geral" da instância, clique no nome dela.

  3. Clique em Editar.

  4. Em Personalizar sua instância, abra Conexões.

  5. Para ativar o pool de conexões gerenciadas, marque a caixa Ativar o pool de conexões gerenciadas.

  6. Clique em Salvar.

gcloud

Use o comando gcloud beta sql instances para ativar o agrupamento de conexões gerenciado.

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

Substitua:

  • INSTANCE_NAME: o nome da instância do Cloud SQL para a qual você quer ativar o pool de conexões gerenciadas.

REST v1

Para ativar o pool de conexões gerenciadas em uma instância, use o comando abaixo e defina connectionPoolingEnabled:

Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

  • PROJECT_ID: o ID do projeto
  • INSTANCE_ID: o ID da instância

Método HTTP e URL:

PATCH https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID

Corpo JSON da solicitação:

{
  "settings": {
    "connectionPoolConfig": {
      "connectionPoolingEnabled": true
    }
  }
}

Para enviar a solicitação, expanda uma destas opções:

Você receberá uma resposta JSON semelhante a esta:

{
  "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 ativar o pool de conexões gerenciadas em uma instância, use o comando abaixo e defina connectionPoolingEnabled:

Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

  • PROJECT_ID: o ID do projeto
  • INSTANCE_ID: o ID da instância

Método HTTP e URL:

PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID

Corpo JSON da solicitação:

{
  "settings": {
    "connectionPoolConfig": {
      "connectionPoolingEnabled": true
    }
  }
}

Para enviar a solicitação, expanda uma destas opções:

Você receberá uma resposta JSON semelhante a esta:

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

Modificar o pool de conexões gerenciado de uma instância

Depois de ativar o pool de conexões gerenciadas, você pode personalizar esse recurso usando as opções de configuração disponíveis. Essas opções de configuração são chamadas de flags de pool de conexão gerenciada. As configurações adicionadas ao pool de conexões gerenciadas são aplicadas a todos os poolers usados pela instância. Para mais informações sobre as opções de configuração, os valores padrão e os intervalos, consulte as opções de configuração disponíveis.

Para modificar as opções de configuração disponíveis do pool de conexões gerenciadas de uma instância, faça o seguinte:

Console

  1. No console do Google Cloud, acesse a página Instâncias do Cloud SQL.

    Acesse "Instâncias do Cloud SQL"

  2. Encontre a instância em que você quer ativar o pool de conexões gerenciado. Para abrir a página "Visão geral" da instância, clique no nome dela.

  3. Clique em Editar.

  4. Em Personalizar sua instância, abra Conexões.

  5. Em Pool de conexões gerenciado, expanda Opções avançadas de agrupamento.

    Modifique as opções de agrupamento disponíveis que você quer atualizar.

  6. Clique em Salvar.

gcloud

Use o comando gcloud beta sql instances para modificar as opções de configuração.

  gcloud beta sql instances patch INSTANCE_NAME \
  --connection-pool-flags=CONFIGURATION_NAME=CONFIGURATION_VALUE

Substitua:

  • INSTANCE_NAME: o nome da instância do Cloud SQL para a qual você quer modificar o pool de conexões gerenciadas.
  • CONFIGURATION_NAME: o nome da opção de configuração que você quer modificar. Para conferir uma lista de todas as opções de configuração disponíveis, consulte Opções de configuração disponíveis.
  • CONFIGURATION_VALUE: o novo valor da opção de configuração selecionada.

REST v1

Para modificar o pool de conexões gerenciadas configurações disponíveis, use o comando abaixo e defina ConnectionPoolConfig:

Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

  • PROJECT_ID: o ID do projeto
  • INSTANCE_ID: o ID da instância

Método HTTP e URL:

PATCH https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID

Corpo JSON da solicitação:

{
  "settings": {
    "connectionPoolConfig": {
      "flags":
      [
        {
          "name": "CONFIGURATION_NAME",
          "value":"CONFIGURATION_VALUE"
        }
      ]
    }
  }
}

Para enviar a solicitação, expanda uma destas opções:

Você receberá uma resposta JSON semelhante a esta:

{
  "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 o pool de conexões gerenciadas configurações disponíveis, use o comando abaixo e defina ConnectionPoolConfig:

Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

  • PROJECT_ID: o ID do projeto
  • INSTANCE_ID: o ID da instância

Método HTTP e URL:

PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID

Corpo JSON da solicitação:

{
  "settings": {
    "connectionPoolConfig": {
      "flags":
      [
        {
          "name": "CONFIGURATION_NAME",
          "value":"CONFIGURATION_VALUE"
        }
      ]
    }
  }
}

Para enviar a solicitação, expanda uma destas opções:

Você receberá uma resposta JSON semelhante a esta:

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

Desativar o agrupamento de conexões gerenciadas para uma instância

É possível desativar o pool de conexões gerenciadas para uma instância usando o console do Google Cloud, a gcloud CLI ou a API Cloud SQL.

Para desativar o pool de conexões gerenciadas em uma instância, faça o seguinte:

Console

  1. No console do Google Cloud, acesse a página Instâncias do Cloud SQL.

    Acesse "Instâncias do Cloud SQL"

  2. Encontre a instância em que você quer desativar o pool de conexões gerenciadas. Para abrir a página "Visão geral" da instância, clique no nome dela.

  3. Clique em Editar.

  4. Em Personalizar sua instância, abra Conexões.

  5. Para desativar o pool de conexões gerenciado, desmarque a caixa Ativar o pool de conexões gerenciado.

  6. Clique em Salvar.

gcloud

Use o comando gcloud beta sql instances para desativar o pool de conexões gerenciadas.

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

Substitua:

  • PROJECT_ID: o nome da instância do Cloud SQL para a qual você quer desativar o pool de conexões gerenciadas.

REST v1

Para desativar o pool de conexões gerenciadas em uma instância, use o seguinte comando e defina connectionPoolingEnabled:

Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

  • PROJECT_ID: o ID do projeto
  • INSTANCE_ID: o ID da instância

Método HTTP e URL:

PATCH https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID

Corpo JSON da solicitação:

{
  "settings": {
    "connectionPoolConfig": {
      "connectionPoolingEnabled": false
    }
  }
}

Para enviar a solicitação, expanda uma destas opções:

Você receberá uma resposta JSON semelhante a esta:

{
  "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 desativar o pool de conexões gerenciadas em uma instância, use o seguinte comando e defina connectionPoolingEnabled:

Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

  • PROJECT_ID: o ID do projeto
  • INSTANCE_ID: o ID da instância

Método HTTP e URL:

PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID

Corpo JSON da solicitação:

{
  "settings": {
    "connectionPoolConfig": {
      "connectionPoolingEnabled": false
    }
  }
}

Para enviar a solicitação, expanda uma destas opções:

Você receberá uma resposta JSON semelhante a esta:

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

Conferir o status do pool de conexões gerenciadas de uma instância

É possível conferir o status do agrupamento de conexões gerenciadas de uma instância usando o console do Google Cloud, a gcloud CLI ou a API Cloud SQL.

Para conferir o status do pool de conexões gerenciadas de uma instância do Cloud SQL Enterprise Plus, faça o seguinte:

Console

  1. No console do Google Cloud, acesse a página Instâncias do Cloud SQL.

    Acesse "Instâncias do Cloud SQL"

  2. Encontre a instância em que você quer desativar o pool de conexões gerenciadas. Para abrir a página "Visão geral" da instância, clique no nome dela.

    A seção Conexões mostra se o pool de conexões gerenciadas está ativado ou desativado.

gcloud

  gcloud beta sql instances describe INSTANCE_NAME| 2 connectionPoolingEnabled

Substitua:

  • PROJECT_ID: o nome da instância do Cloud SQL para a qual você quer conferir o status do pool de conexões gerenciadas.

    Se o pool de conexões gerenciadas estiver ativado, a seguinte resposta será retornada:

    connectionPoolingEnabled: true

REST v1

Para conferir o status do agrupamento de conexões gerenciadas da sua instância do Cloud SQL, use o comando a seguir e procure ConnectPoolingEnabled:

Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

Método HTTP e URL:

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

Para enviar a solicitação, expanda uma destas opções:

Você receberá uma resposta JSON semelhante a esta:

{
  "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 conferir o status do agrupamento de conexões gerenciadas da sua instância do Cloud SQL, use o comando a seguir e procure ConnectPoolingEnabled:

Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

Método HTTP e URL:

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

Para enviar a solicitação, expanda uma destas opções:

Você receberá uma resposta JSON semelhante a esta:

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

Monitorar o pooling de conexões gerenciadas

É possível monitorar como o pool de conexões gerenciado está sendo executado nas instâncias do Cloud SQL usando as seguintes métricas do pool de conexões gerenciado do Cloud SQL:

Nome da métrica Descrição
num_pools O número total de pools de conexões por banco de dados.
client_connection Rastreia a contagem de conexões pelo status da conexão do cliente. Os status incluídos nesta métrica são:
  • active: o número de conexões ativas por banco de dados, incluindo os clientes inativos que não têm solicitações de consulta pendentes.
  • waiting: o número de clientes aguardando uma conexão de servidor por banco de dados.
server_connections Rastreia a contagem de conexões do servidor pelo status da conexão do servidor. Os status incluídos nesta métrica são:
  • active: o número de conexões ativas por banco de dados.
  • waiting: o número de conexões de servidor ociosas por banco de dados.
client_connections_avg_wait_time O tempo médio gasto por todos os clientes em estado de espera por um servidor.

Para mais informações sobre essas métricas, consulte Métricas do Cloud SQL. Para conferir essas métricas usando o console do Google Cloud, consulte Conferir métricas na página de visão geral da instância do Cloud SQL.

A seguir