Ler escala automática do conjunto

O dimensionamento automático do conjunto de leitura adiciona ou remove automaticamente nós do conjunto de leitura no conjunto de leitura com base nas necessidades de carga de trabalho da sua aplicação.

Pode controlar o dimensionamento automático do conjunto de leitura limitando a utilização média da CPU no conjunto de leitura ou limitando o número de ligações de clientes que têm acesso ao conjunto de leitura, através de uma de duas métricas de destino:

  • Utilização média da CPU: permite-lhe definir a utilização média da CPU em que quer que o conjunto de leitura funcione. O conjunto de leitura aumenta ou diminui automaticamente com base na utilização da CPU da carga de trabalho da sua aplicação.
  • Média de ligações à base de dados: permite-lhe especificar o número médio de ligações à base de dados de clientes que devem ser servidas por cada nó. O conjunto de leitura é aumentado ou diminuído automaticamente com base no número de ligações de clientes.

Para aplicar estas métricas de destino, também tem de definir uma quantidade mínima e máxima de nós do conjunto de leitura.

Para ativar o ajuste de escala automático do conjunto de leitura, pode configurar uma ou ambas as métricas de destino na instância. Se ambas as métricas estiverem ativas, o Cloud SQL aplica a contagem máxima de nós do conjunto de leitura indicada por ambas as métricas.

A tabela seguinte apresenta os limites de cada métrica de objetivo:

Nome da métrica alvo Limites Métrica pública relacionada
Utilização média da CPU Entre 0,1 e 0,9. A utilização média da CPU (cloudsql.googleapis.com/database/cpu/utilization) nos nós do conjunto de leitura no conjunto de leitura.
Ligações médias à base de dados Entre 10 e 262 142. Nota: o valor máximo aceitável está correlacionado com o valor máximo definido pela flag da base de dados max_connections. Representa uma média das ligações de clientes da base de dados (cloudsql.googleapis.com/database/postgresql/num_backends) nos nós do conjunto de leitura no conjunto de leitura. Nota: quando a gestão de conjunto de associações está ativada na instância, as associações individuais que compõem um conjunto de associações não são contabilizadas separadamente e incluídas na métrica AVERAGE_DB_CONNECTIONS. Se a funcionalidade Managed Connection Pooling estiver ativada, recomendamos que use apenas a métrica AVERAGE_CPU_UTILIZATION para controlar o dimensionamento automático do conjunto de leitura.

Quando as condições são cumpridas para redimensionar o conjunto de leitura, as operações de escalamento automático do conjunto de leitura podem ser vistas na Google Cloud consola. Todas as outras operações no conjunto de leitura e na instância principal são bloqueadas até que o ajuste de escala automático do conjunto de leitura seja concluído.

Ler caraterísticas de dimensionamento automático do conjunto

Aplicam-se as seguintes caraterísticas:

  • As operações de expansão removem apenas um nó de cada vez.
  • As operações de expansão adicionam, em paralelo, tantos nós quanto os necessários.
  • Por predefinição, são aplicadas operações de redução e aumento da escala. Opcionalmente, pode bloquear as operações de redução da escala desativando-as manualmente (disableScaleIn).
  • Por predefinição, é aplicado um período de repouso de 600 segundos entre operações de escalabilidade automática do conjunto de leitura sucessivas. É necessário um período de repouso mínimo de 60 segundos, quer esteja a aumentar ou diminuir a escala.
  • Quando define uma métrica alvo, também tem de definir a quantidade mínima (minNodeCount) e máxima (maxNodeCount) de nós do conjunto de leitura que quer usar. Se ativar o dimensionamento automático num conjunto de leitura existente, o tamanho atual do conjunto de leitura tem de estar dentro do intervalo que definir.

Limitações

Aplicam-se as seguintes limitações:

  • O ajuste de escala automático do conjunto de leitura suporta um máximo de 10 operações de ajuste de escala automático a cada 24 horas.
  • Se quiser criar um novo conjunto de leitura ou dimensionar um conjunto de leitura existente, tem de aguardar a conclusão das operações de criação e dimensionamento anteriores. Isto aplica-se a operações associadas ao conjunto de leitura, bem como a outros conjuntos de leitura associados à mesma instância principal. Se tentar executar operações concorrentes, pode receber a seguinte mensagem de erro:
    Operation failed because another operation was already in progress.
    

Antes de começar

  • Certifique-se de que também define valores adequados para max_wal_senders e max_replication_slots. Para mais informações, consulte o artigo Leia as caraterísticas do conjunto.

Crie um conjunto de leitura com o dimensionamento automático ativado

Se especificar um valor de destino de 0,50 para AVERAGE_CPU_UTILIZATION, os nós do conjunto de leitura são adicionados ou removidos do conjunto de leitura para manter a utilização média da CPU no conjunto de leitura igual ou inferior a 0,50.

gcloud

Para criar um conjunto de leitura com o escalonamento automático ativado, execute o seguinte:

  gcloud sql instances create READ_POOL_NAME \
  --tier=MACHINE_TIER --edition=ENTERPRISE_PLUS \
  --instance-type=READ_POOL_INSTANCE --node-count=NODE_COUNT \
  --database-version=DATABASE_VERSION \
  --master-instance-name=PRIMARY_INSTANCE_NAME \
  --region=REGION --network=NETWORK_NAME \
  --no-assign-ip \
  --auto-scale-enabled \
  --auto-scale-max-node-count=MAX_NODE_COUNT \
  --auto-scale-min-node-count=MIN_NODE_COUNT \
  --auto-scale-target-metrics=TARGET_METRIC_1=VALUE_1
  

Substitua o seguinte:

  • READ_POOL_NAME: o nome que quer atribuir ao conjunto de leitura.
  • MACHINE_TIER: o nível da máquina que quer usar, como db-perf-optimized-N-2.
  • NODE_COUNT: o número de nós do conjunto de leitura com o qual quer começar.
  • DATABASE_VERSION: a versão da base de dados que quer usar, como POSTGRES_16.
  • PRIMARY_INSTANCE_NAME: o nome da instância principal que quer usar.
  • REGION: a região que quer usar, como us-east1.
  • NETWORK_NAME: o nome da rede que quer usar.
  • MAX_NODE_COUNT: o número máximo de nós do conjunto de leitura que quer que o conjunto de leitura use, como 5.
  • MIN_NODE_COUNT: o número mínimo de nós do conjunto de leitura que quer que o conjunto de leitura use, como 1.
  • TARGET_METRIC_1: a métrica alvo que quer usar, como as seguintes:
    • AVERAGE_CPU_UTILIZATION
    • AVERAGE_DB_CONNECTIONS
    Tem de definir, pelo menos, uma das duas métricas disponíveis.
  • VALUE_1: o valor que quer atribuir à métrica de destino que indicou anteriormente. Por exemplo, para a métrica alvo AVERAGE_CPU_UTILIZATION, pode atribuir o valor 0.50.

Terraform

Para criar um conjunto de leitura com o dimensionamento automático ativado, use um recurso do Terraform.

O exemplo seguinte inclui recursos para a instância principal e o conjunto de leitura.


resource "google_sql_database_instance" "primary" {
  name             = "postgres-primary"
  database_version = "POSTGRES_17"
  region           = "europe-west4"

  instance_type = "CLOUD_SQL_INSTANCE"

  settings {
    tier    = "db-perf-optimized-N-2"
    edition = "ENTERPRISE_PLUS"

    backup_configuration {
      enabled = true
    }

    ip_configuration {
      ipv4_enabled = true
    }
  }
}

resource "google_sql_database_instance" "replica" {
  name             = "postgres-replica"
  database_version = "POSTGRES_17"
  region           = "europe-west4"

  master_instance_name = google_sql_database_instance.primary.name
  instance_type        = "READ_POOL_INSTANCE"
  node_count           = 2

  settings {
    tier    = "db-perf-optimized-N-2"
    edition = "ENTERPRISE_PLUS"

    ip_configuration {
      ipv4_enabled = true
    }
    read_pool_auto_scale_config {
      enabled                    = true
      disable_scale_in           = false
      max_node_count             = 20
      min_node_count             = 2
      scale_in_cooldown_seconds  = 600
      scale_out_cooldown_seconds = 600
      target_metrics {
        metric       = "AVERAGE_CPU_UTILIZATION"
        target_value = 0.5
      }
    }
  }
}

Aplique as alterações

Para aplicar a configuração do Terraform num Google Cloud projeto, conclua os passos nas secções seguintes.

Prepare o Cloud Shell

  1. Inicie o Cloud Shell.
  2. Defina o Google Cloud projeto predefinido onde quer aplicar as suas configurações do Terraform.

    Só tem de executar este comando uma vez por projeto e pode executá-lo em qualquer diretório.

    export GOOGLE_CLOUD_PROJECT=PROJECT_ID

    As variáveis de ambiente são substituídas se definir valores explícitos no ficheiro de configuração do Terraform.

Prepare o diretório

Cada ficheiro de configuração do Terraform tem de ter o seu próprio diretório (também denominado módulo raiz).

  1. No Cloud Shell, crie um diretório e um novo ficheiro nesse diretório. O nome do ficheiro tem de ter a extensão .tf, por exemplo, main.tf. Neste tutorial, o ficheiro é denominado main.tf.
    mkdir DIRECTORY && cd DIRECTORY && touch main.tf
  2. Se estiver a seguir um tutorial, pode copiar o código de exemplo em cada secção ou passo.

    Copie o exemplo de código para o main.tf criado recentemente.

    Opcionalmente, copie o código do GitHub. Isto é recomendado quando o fragmento do Terraform faz parte de uma solução completa.

  3. Reveja e modifique os parâmetros de exemplo para aplicar ao seu ambiente.
  4. Guarde as alterações.
  5. Inicialize o Terraform. Só tem de fazer isto uma vez por diretório.
    terraform init

    Opcionalmente, para usar a versão mais recente do fornecedor Google, inclua a opção -upgrade:

    terraform init -upgrade

Aplique as alterações

  1. Reveja a configuração e verifique se os recursos que o Terraform vai criar ou atualizar correspondem às suas expetativas:
    terraform plan

    Faça correções à configuração conforme necessário.

  2. Aplique a configuração do Terraform executando o seguinte comando e introduzindo yes no comando:
    terraform apply

    Aguarde até que o Terraform apresente a mensagem "Apply complete!" (Aplicação concluída!).

  3. Abra o seu Google Cloud projeto para ver os resultados. Na Google Cloud consola, navegue para os seus recursos na IU para se certificar de que o Terraform os criou ou atualizou.

Eliminar as alterações

Para eliminar as alterações, faça o seguinte:

  1. Para desativar a proteção contra eliminação, no ficheiro de configuração do Terraform, defina o argumento deletion_protection como false.
    deletion_protection =  "false"
  2. Aplique a configuração do Terraform atualizada executando o seguinte comando e introduzindo yes no comando:
    terraform apply
  1. Remova os recursos aplicados anteriormente com a sua configuração do Terraform executando o seguinte comando e introduzindo yes no comando:

    terraform destroy

REST v1

Para criar um conjunto de leitura com o dimensionamento automático ativado, use um pedido POST com o método instances:insert.

Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:

  • READ_POOL_NAME: o nome que quer atribuir ao conjunto de leitura.
  • REGION: a região onde quer que a instância resida, como us-central1.
  • PRIMARY_INSTANCE_ID: o ID da instância principal que quer usar.
  • PROJECT_ID: o ID do projeto onde quer que o conjunto de leitura esteja localizado, como my-project-name.
  • DATABASE_VERSION: a versão da base de dados que quer usar, como POSTGRES_16.
  • MACHINE_TIER: o nível da máquina que quer usar, como db-perf-optimized-N-2.
  • FULL_NETWORK_NAME: o nome da rede que quer usar.
  • MAX_NODE_COUNT: o número máximo de nós do conjunto de leitura que quer que o conjunto de leitura use, como 10.
  • MIN_NODE_COUNT: o número mínimo de nós do conjunto de leitura que quer que o conjunto de leitura use, como 2.
  • TARGET_METRIC_1: a métrica de destino que quer usar, como AVERAGE_CPU_UTILIZATION ou AVERAGE_DB_CONNECTIONS. Tem de definir, pelo menos, uma das duas métricas disponíveis.
  • VALUE_1: o valor que quer atribuir à métrica de destino que indicou anteriormente. Por exemplo, para a métrica alvo AVERAGE_CPU_UTILIZATION, pode atribuir o valor 0.50.
  • NODE_COUNT: a quantidade de nós do conjunto de leitura com que quer começar, como 3.

Método HTTP e URL:

POST https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances

Corpo JSON do pedido:

{
  "name":"READ_POOL_NAME",
  "region":"REGION",
  "masterInstanceName":"PRIMARY_INSTANCE_ID",
  "project":"PROJECT_ID",
  "databaseVersion":"DATABASE_VERSION",
  "settings":{
    "tier":"MACHINE_TIER",
    "edition":"ENTERPRISE_PLUS",
    "ipConfiguration":{
      "privateNetwork":"FULL_NETWORK_NAME",
      "ipv4Enabled": false
    },
    "readPoolAutoScaleConfig":{
      "enabled": true,
      "minNodeCount": MIN_NODE_COUNT,
      "maxNodeCount": MAX_NODE_COUNT,
      "targetMetrics": [
        {
          "metric":"TARGET_METRIC_1",
          "targetValue": VALUE_1
        }
      ]
    }
  },
  "instanceType":"READ_POOL_INSTANCE",
  "nodeCount": NODE_COUNT
}

Para enviar o seu pedido, expanda uma destas opções:

Deve receber uma resposta JSON semelhante à seguinte:

{
  "kind": "sql#operation",
  "targetLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/PRIMARY_INSTANCE_ID",
  "status": "RUNNING",
  "user": "user@example.com",
  "insertTime": "2020-01-16T02:32:12.281Z",
  "startTime": "2023-06-14T18:48:35.499Z",
  "operationType": "CREATE",
  "name": "OPERATION_ID",
  "targetId": "PRIMARY_INSTANCE_ID",
  "selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/operations/OPERATION_ID",
  "targetProject": "PROJECT_ID"
}

REST v1beta4

Para criar um conjunto de leitura com o dimensionamento automático ativado, use um pedido POST com o método instances:insert.

Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:

  • READ_POOL_NAME: o nome que quer atribuir ao conjunto de leitura.
  • REGION: a região onde quer que a instância resida, como us-central1.
  • PRIMARY_INSTANCE_ID: o ID da instância principal que quer usar.
  • PROJECT_ID: o ID do projeto onde quer que o conjunto de leitura esteja localizado, como my-project-name.
  • DATABASE_VERSION: a versão da base de dados que quer usar, como POSTGRES_16.
  • MACHINE_TIER: o nível da máquina que quer usar, como db-perf-optimized-N-2.
  • FULL_NETWORK_NAME: o nome da rede que quer usar.
  • MAX_NODE_COUNT: o número máximo de nós do conjunto de leitura que quer que o conjunto de leitura use, como 10.
  • MIN_NODE_COUNT: o número mínimo de nós do conjunto de leitura que quer que o conjunto de leitura use, como 2.
  • TARGET_METRIC_1: a métrica de destino que quer usar, como as seguintes:
    • AVERAGE_CPU_UTILIZATION
    • AVERAGE_DB_CONNECTIONS
    Tem de definir, pelo menos, uma das duas métricas disponíveis.
  • VALUE_1: o valor que quer atribuir à métrica de destino que indicou anteriormente. Neste exemplo, para a métrica alvo AVERAGE_CPU_UTILIZATION, atribua o valor 0.50.
  • NODE_COUNT: a quantidade de nós do conjunto de leitura com que quer começar, como 3.

Método HTTP e URL:

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

Corpo JSON do pedido:

{
  "name":"READ_POOL_NAME",
  "region":"REGION",
  "masterInstanceName":"PRIMARY_INSTANCE_ID",
  "project":"PROJECT_ID",
  "databaseVersion":"DATABASE_VERSION",
  "settings":{
    "tier":"MACHINE_TIER",
    "edition":"ENTERPRISE_PLUS",
    "ipConfiguration":{
      "privateNetwork":"FULL_NETWORK_NAME",
      "ipv4Enabled": false
    },
    "readPoolAutoScaleConfig":{
      "enabled": true,
      "minNodeCount": MIN_NODE_COUNT,
      "maxNodeCount": MAX_NODE_COUNT,
      "targetMetrics": [
        {
          "metric":"TARGET_METRIC_1",
          "targetValue": VALUE_1
        }
      ]
    }
  },
  "instanceType":"READ_POOL_INSTANCE",
  "nodeCount": NODE_COUNT
}

Para enviar o seu pedido, expanda uma destas opções:

Deve receber uma resposta JSON semelhante à seguinte:

{
  "kind": "sql#operation",
  "targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/PRIMARTY_INSTANCE_ID",
  "status": "RUNNING",
  "user": "user@example.com",
  "insertTime": "2020-01-16T02:32:12.281Z",
  "startTime": "2023-06-14T18:48:35.499Z",
  "operationType": "CREATE",
  "name": "OPERATION_ID",
  "targetId": "PRIMARTY_INSTANCE_ID",
  "selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/operations/OPERATION_ID",
  "targetProject": "PROJECT_ID"
}

Ative o dimensionamento automático do conjunto de leitura num conjunto de leitura existente

Se já tiver um conjunto de leitura criado, pode ativar o dimensionamento automático indicando a configuração de dimensionamento automático que quer usar.

Por exemplo, se especificar um valor alvo de 50 para AVERAGE_DB_CONNECTIONS, os nós são adicionados ou removidos do conjunto de leitura para manter as ligações médias da base de dados no conjunto a 50 ou menos.

gcloud

Para ativar o conjunto de leitura com escalabilidade automática num conjunto de leitura existente, execute o seguinte comando.

  gcloud sql instances patch INSTANCE
  --auto-scale-enabled
  --auto-scale-max-node-count=MAX_NODE_COUNT
  --auto-scale-min-node-count=MIN_NODE_COUNT
  --auto-scale-out-cooldown-seconds=COOLDOWN_SECONDS_SCALE_OUT
  --auto-scale-in-cooldown-seconds=COOLDOWN_SECONDS_SCALE_IN
  --auto-scale-target-metrics=TARGET_METRIC_1=VALUE_1
  

Substitua o seguinte:

  • INSTANCE_NAME: o nome da instância associado ao conjunto de leitura que quer modificar.
  • MAX_NODE_COUNT: o número máximo de nós do conjunto de leitura que quer que o conjunto de leitura use, como 10.
  • MIN_NODE_COUNT: o número mínimo de nós do conjunto de leitura que quer que o conjunto de leitura use, como 2.
  • COOLDOWN_SECONDS_SCALE_OUT: Opcional: o tempo de espera em segundos entre a criação ou a eliminação de nós do conjunto de leitura, como 180. É necessário um período de repouso mínimo de 60 segundos. O valor predefinido é 600 segundos.
  • COOLDOWN_SECONDS_SCALE_IN: Opcional: o tempo de espera em segundos entre a criação ou a eliminação de nós do conjunto de leitura, como 180. É necessário um período de repouso mínimo de 60 segundos. O valor predefinido é 600 segundos.
  • TARGET_METRIC_1: a métrica de destino que quer usar, como as seguintes:
    • AVERAGE_CPU_UTILIZATION
    • AVERAGE_DB_CONNECTIONS
    Tem de definir, pelo menos, uma das duas métricas disponíveis.
  • VALUE_1: o valor que quer atribuir à métrica de destino que indicou anteriormente. Neste exemplo, para a métrica alvo AVERAGE_DB_CONNECTIONS, atribua o valor 50.

REST v1

Para ativar um conjunto de leitura existente com o dimensionamento automático, use o método PATCH.

Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:

  • PROJECT_ID: o ID ou o número do projeto do Google Cloud projeto que contém a instância.
  • INSTANCE_ID: o ID da instância associada ao conjunto de leitura.
  • MAX_NODE_COUNT: o número máximo de nós do conjunto de leitura que quer que o conjunto de leitura use, como 10.
  • MIN_NODE_COUNT: o número mínimo de nós do conjunto de leitura que quer que o conjunto de leitura use, como 2.
  • COOLDOWN_SECONDS: Opcional: o tempo de espera em segundos entre a criação ou a eliminação de nós do conjunto de leitura, como 180.
  • SCALE_IN_DISABLED: opcional: permite desativar o comportamento de aumentar a escala do conjunto de leitura. Para desativar a redução da escala do conjunto de leitura, defina o valor como true.
  • TARGET_METRIC_1: a métrica de destino que quer usar, como as seguintes:
    • AVERAGE_CPU_UTILIZATION
    • AVERAGE_DB_CONNECTIONS
    Tem de definir, pelo menos, uma das duas métricas disponíveis.
  • VALUE_1: o valor que quer atribuir à métrica de destino que indicou anteriormente. Neste exemplo, para a métrica alvo AVERAGE_DB_CONNECTIONS, atribua o valor 50.

Método HTTP e URL:

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

Corpo JSON do pedido:

{
  "settings": {
    "readPoolAutoScaleConfig": {
      "enabled": true,
      "minNodeCount": MIN_NODE_COUNT,
      "maxNodeCount": MAX_NODE_COUNT,
      "scaleOutCooldownSeconds": COOLDOWN_SECONDS,
      "disableScaleIn": SCALE_IN_DISABLED,
      "targetMetrics": [
        {
          "metric": "TARGET_METRIC_1",
          "targetValue": VALUE_1
        }
      ]
    }
  }
}

Para enviar o seu pedido, expanda uma destas opções:

Deve receber uma resposta JSON semelhante à seguinte:

{
  "kind": "sql#operation",
  "targetLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID",
  "status": "RUNNING",
  "user": "user@example.com",
  "insertTime": "2020-01-16T02:32:12.281Z",
  "startTime": "2023-06-14T18:48:35.499Z",
  "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 um conjunto de leitura existente com o dimensionamento automático, use o método PATCH.

Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:

  • PROJECT_ID: o ID ou o número do projeto do Google Cloud projeto que contém a instância.
  • INSTANCE_ID: o ID da instância associada ao conjunto de leitura.
  • MAX_NODE_COUNT: o número máximo de nós do conjunto de leitura que quer que o conjunto de leitura use, como 10.
  • MIN_NODE_COUNT: o número mínimo de nós do conjunto de leitura que quer que o conjunto de leitura use, como 2.
  • COOLDOWN_SECONDS: Opcional: o tempo de espera em segundos entre a criação ou a eliminação de nós do conjunto de leitura, como 180.
  • SCALE_IN_DISABLED: opcional: permite desativar o comportamento de aumentar a escala do conjunto de leitura. Para desativar a redução da escala do conjunto de leitura, defina o valor como true.
  • TARGET_METRIC_1: a métrica de destino que quer usar, como as seguintes:
    • AVERAGE_CPU_UTILIZATION
    • AVERAGE_DB_CONNECTIONS
    Tem de definir, pelo menos, uma das duas métricas disponíveis.
  • VALUE_1: o valor que quer atribuir à métrica de destino que indicou anteriormente. Neste exemplo, para a métrica alvo AVERAGE_DB_CONNECTIONS, atribua o valor 50.

Método HTTP e URL:

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

Corpo JSON do pedido:

{
  "settings": {
    "readPoolAutoScaleConfig": {
      "enabled": true,
      "minNodeCount": MIN_NODE_COUNT,
      "maxNodeCount": MAX_NODE_COUNT,
      "scaleOutCooldownSeconds": COOLDOWN_SECONDS,
      "disableScaleIn": SCALE_IN_DISABLED,
      "targetMetrics": [
        {
          "metric": "TARGET_METRIC_1",
          "targetValue": VALUE_1
        }
      ]
    }
  }
}

Para enviar o seu pedido, expanda uma destas opções:

Deve receber uma resposta JSON semelhante à seguinte:

{
  "kind": "sql#operation",
  "targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID",
  "status": "RUNNING",
  "user": "user@example.com",
  "insertTime": "2020-01-16T02:32:12.281Z",
  "startTime": "2023-06-14T18:48:35.499Z",
  "operationType": "UPDATE",
  "name": "OPERATION_ID",
  "targetId": "INSTANCE_ID",
  "selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/operations/OPERATION_ID",
  "targetProject": "PROJECT_ID"
}

Desative o dimensionamento automático do conjunto de leitura num conjunto de leitura

Conclua os passos seguintes para desativar o ajuste de escala automático do conjunto de leitura.

gcloud

Para desativar o ajuste de escala automático do conjunto de leitura, execute o seguinte comando.

  gcloud sql instances patch INSTANCE_NAME
  --no-auto-scale-enabled
  

Substitua o seguinte:

  • INSTANCE_NAME: o nome da instância associado ao conjunto de leitura que quer modificar.

REST v1

Para desativar o ajuste de escala automático do conjunto de leitura, use o método PATCH.

Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:

  • PROJECT_ID: o ID ou o número do projeto do Google Cloud projeto que contém a instância.
  • INSTANCE_ID: o ID da instância associada ao conjunto de leitura.

Método HTTP e URL:

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

Corpo JSON do pedido:

{
  "settings":{
    "readPoolAutoScaleConfig":{
      "enabled": false
    }
  }
}

Para enviar o seu pedido, expanda uma destas opções:

Deve receber uma resposta JSON semelhante à seguinte:

{
  "kind": "sql#operation",
  "targetLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID",
  "status": "RUNNING",
  "user": "user@example.com",
  "insertTime": "2020-01-16T02:32:12.281Z",
  "startTime": "2023-06-14T18:48:35.499Z",
  "operationType": "CREATE",
  "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 ajuste de escala automático do conjunto de leitura, use o método PATCH.

Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:

  • PROJECT_ID: o ID ou o número do projeto do Google Cloud projeto que contém a instância.
  • INSTANCE_ID: o ID da instância associada ao conjunto de leitura.

Método HTTP e URL:

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

Corpo JSON do pedido:

{
  "settings":{
    "readPoolAutoScaleConfig":{
      "enabled": false
    }
  }
}

Para enviar o seu pedido, expanda uma destas opções:

Deve receber uma resposta JSON semelhante à seguinte:

{
  "kind": "sql#operation",
  "targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID",
  "status": "RUNNING",
  "user": "user@example.com",
  "insertTime": "2020-01-16T02:32:12.281Z",
  "startTime": "2023-06-14T18:48:35.499Z",
  "operationType": "CREATE",
  "name": "OPERATION_ID",
  "targetId": "INSTANCE_ID",
  "selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/operations/OPERATION_ID",
  "targetProject": "PROJECT_ID"
}

Ver métricas

Use as estatísticas do sistema para ver as métricas relevantes para o seu conjunto de leitura.

Para AVERAGE_CPU_UTILIZATION, consulte o gráfico de métricas principais de utilização da CPU.

Para AVERAGE_DB_CONNECTIONS, consulte o gráfico de métricas principais de ligações por base de dados .

Monitorize as operações de escalabilidade automática do conjunto de leitura

Quando as condições são cumpridas para acionar um evento de escalabilidade automática do conjunto de leitura, é executada uma operação na instância.UPDATE Pode ver esta operação na Google Cloud consola.

As operações de escalamento automático do conjunto de leitura podem demorar 10 minutos ou mais a serem aplicadas à instância. As associações existentes não são transferidas para os nós do conjunto de leitura adicionados recentemente, o que significa que apenas as novas associações são afetadas pelo ajuste de escala automático do conjunto de leitura.

Enquanto a operação de escalamento automático estiver em execução no conjunto de leitura, tem de aguardar a respetiva conclusão antes de executar outras atualizações no conjunto de leitura ou na instância principal. Se tentar executar pedidos simultâneos, pode receber a seguinte mensagem de erro:

  Operation failed because another operation was already in progress.
  

Pode inspecionar a instância do conjunto de leitura e ver a alteração da contagem de nós:

  gcloud sql instances describe READ_POOL_NAME
  | grep nodeCount
  

Substitua o seguinte:

  • READ_POOL_NAME: o nome do conjunto de leitura para o qual quer obter informações.

Registos de auditoria de eventos do sistema

Também pode ver a mensagem do registo de auditoria do evento do sistema associada ao método cloudsql.instances.readPoolAutoScale, que contém a contagem de nós antiga e nova.

O que se segue?