El autoescalado de grupos de lectura añade o elimina automáticamente nodos de grupos de lectura en el grupo de lectura en función de las necesidades de carga de trabajo de tu aplicación.
Puedes controlar el autoescalado del grupo de lectura limitando el uso medio de CPU en el grupo de lectura o limitando el número de conexiones de cliente que pueden acceder al grupo de lectura. Para ello, puedes usar una de estas dos métricas de destino:
- Uso medio de CPU: te permite definir el uso medio de CPU en el que quieres que funcione el grupo de lectura. El grupo de lectura se amplía o se reduce automáticamente en función del uso de CPU de la carga de trabajo de tu aplicación.
- Promedio de conexiones de base de datos: te permite especificar el número medio de conexiones de base de datos de clientes que debe atender cada nodo. El grupo de lectura se amplía o se reduce automáticamente en función del número de conexiones de clientes.
Para aplicar estas métricas objetivo, también debe definir un número mínimo y máximo de nodos del grupo de lectura.
Para habilitar el autoescalado del grupo de lectura, puedes configurar una o ambas métricas de destino en la instancia. Si ambas métricas están activas, Cloud SQL aplica el número máximo de nodos del pool de lectura indicado por ambas métricas.
En la siguiente tabla se indican los límites de cada métrica objetivo:
| Nombre de la métrica objetivo | Límites | Métrica pública relacionada |
|---|---|---|
| Uso medio de CPU | Entre 0,1 y 0,9. | La utilización media de la CPU
(cloudsql.googleapis.com/database/cpu/utilization) en los nodos del grupo de lectura
del grupo de lectura. |
| Conexiones de bases de datos medias |
Entre 10 y 262.142.
Nota: El valor máximo aceptable se corresponde con el valor máximo definido por la marca de base de datos max_connections.
|
Representa el promedio de conexiones de clientes de la base de datos
(cloudsql.googleapis.com/database/postgresql/num_backends)
en los nodos del grupo de lectura.
Nota: Cuando la agrupación de conexiones gestionada está habilitada en la instancia, las conexiones individuales que forman parte de un grupo de conexiones no se contabilizan por separado y no se incluyen en la métrica AVERAGE_DB_CONNECTIONS. Si la agrupación de conexiones gestionadas está habilitada, te recomendamos que uses solo la métrica AVERAGE_CPU_UTILIZATION para controlar el autoescalado del grupo de lectura.
|
Cuando se cumplen las condiciones para cambiar el tamaño del grupo de lectura, las operaciones de escalado automático del grupo de lectura se pueden ver en la Google Cloud consola. Todas las demás operaciones en el grupo de lectura y en la instancia principal se bloquean hasta que se complete el ajuste automático de escala del grupo de lectura.
Leer las características del autoescalado de grupos
Se aplican las siguientes características:
- Las operaciones de reducción solo eliminan un nodo a la vez.
- Las operaciones de escalado horizontal añaden en paralelo tantos nodos como sean necesarios.
- De forma predeterminada, se aplican las operaciones de reducción y ampliación. Puedes bloquear las operaciones de reducción manualmente (
disableScaleIn). - De forma predeterminada, se aplica un periodo de enfriamiento de 600 segundos entre operaciones de autoescalado de grupos de lectura sucesivas. Se requiere un periodo de enfriamiento mínimo de 60 segundos, tanto si se aumenta como si se reduce la escala.
- Al definir una métrica objetivo, también debe definir el número mínimo (
minNodeCount) y máximo (maxNodeCount) de nodos del grupo de lectura que quiere usar. Si habilitas el autoescalado en un grupo de lectura, el tamaño actual del grupo de lectura debe estar dentro del intervalo que hayas definido.
Limitaciones
Se aplican las siguientes limitaciones:
- El autoescalado de grupos de lectura admite un máximo de 10 operaciones de autoescalado cada 24 horas.
- Si quieres crear un nuevo grupo de lectura o escalar uno que ya tengas, debes esperar a que se completen las operaciones de creación y escalado anteriores. Esto se aplica a las operaciones asociadas al grupo de lectura, así como a otros grupos de lectura asociados a la misma instancia principal. Si intentas ejecutar operaciones simultáneas, es posible que recibas el siguiente mensaje de error:
Operation failed because another operation was already in progress.
Antes de empezar
Para crear un grupo de lectura, asegúrate de completar todos los pasos obligatorios.
Asegúrate de usar la versión 544.0.0 de
gcloudo una posterior.Asegúrate de usar la versión del proveedor de Terraform 7.8.0 o una posterior.
- Asegúrate de definir los valores adecuados para
max_wal_sendersymax_replication_slots. Para obtener más información, consulta Leer características del grupo.
Crear un grupo de lectura con el autoescalado habilitado
Si especificas un valor objetivo de 0,50 para AVERAGE_CPU_UTILIZATION, se añadirán o se quitarán nodos del pool de lectura para mantener la utilización media de la CPU en el pool de lectura en 0,50 o menos.
gcloud
Para crear un grupo de lectura con el autoescalado habilitado, ejecuta el siguiente comando:
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
Haz los cambios siguientes:
- READ_POOL_NAME: el nombre que quieras asignar al grupo de lectura.
- MACHINE_TIER: el nivel de máquina que quieras usar, como
db-perf-optimized-N-2. - NODE_COUNT: el número de nodos del grupo de lectura con el que quieres empezar.
- DATABASE_VERSION: la versión de la base de datos que quieras usar, como
POSTGRES_16. - PRIMARY_INSTANCE_NAME: el nombre de la instancia principal que quieras usar.
- REGION: la región que quieras usar, como
us-east1. - NETWORK_NAME: el nombre de la red que quieras usar.
- MAX_NODE_COUNT: el número máximo de nodos del grupo de lectura que quieres que use el grupo de lectura, como
5. - MIN_NODE_COUNT: el número mínimo de nodos del grupo de lectura que quieres que use el grupo de lectura, como
1. - TARGET_METRIC_1: la métrica objetivo que quieras usar, como las siguientes:
AVERAGE_CPU_UTILIZATIONAVERAGE_DB_CONNECTIONS
- VALUE_1: el valor que quiere asignar a la métrica de destino que ha indicado anteriormente. Por ejemplo, en la métrica objetivo
AVERAGE_CPU_UTILIZATION, puede asignar el valor0.50.
Terraform
Para crear un grupo de lectura con el autoescalado habilitado, usa un recurso de Terraform.
En el siguiente ejemplo se incluyen recursos para la instancia principal y el grupo de lectura.
Aplica los cambios
Para aplicar la configuración de Terraform en un Google Cloud proyecto, sigue los pasos que se indican en las siguientes secciones.
Preparar Cloud Shell
- Abre Cloud Shell.
-
Define el Google Cloud proyecto predeterminado en el que quieras aplicar tus configuraciones de Terraform.
Solo tienes que ejecutar este comando una vez por proyecto y puedes hacerlo en cualquier directorio.
export GOOGLE_CLOUD_PROJECT=PROJECT_ID
Las variables de entorno se anulan si defines valores explícitos en el archivo de configuración de Terraform.
Preparar el directorio
Cada archivo de configuración de Terraform debe tener su propio directorio (también llamado módulo raíz).
-
En Cloud Shell, crea un directorio y un archivo nuevo en ese directorio. El nombre del archivo debe tener la extensión
.tf. Por ejemplo,main.tf. En este tutorial, nos referiremos al archivo comomain.tf.mkdir DIRECTORY && cd DIRECTORY && touch main.tf
-
Si estás siguiendo un tutorial, puedes copiar el código de ejemplo de cada sección o paso.
Copia el código de ejemplo en el archivo
main.tfque acabas de crear.También puedes copiar el código de GitHub. Se recomienda cuando el fragmento de Terraform forma parte de una solución integral.
- Revisa y modifica los parámetros de ejemplo para aplicarlos a tu entorno.
- Guarda los cambios.
-
Inicializa Terraform. Solo tienes que hacerlo una vez por directorio.
terraform init
Si quieres usar la versión más reciente del proveedor de Google, incluye la opción
-upgrade:terraform init -upgrade
Aplica los cambios
-
Revisa la configuración y comprueba que los recursos que va a crear o actualizar Terraform se ajustan a tus expectativas:
terraform plan
Haz las correcciones necesarias en la configuración.
-
Aplica la configuración de Terraform ejecutando el siguiente comando e introduciendo
yesen la petición:terraform apply
Espera hasta que Terraform muestre el mensaje "Apply complete!".
- Abre tu Google Cloud proyecto para ver los resultados. En la Google Cloud consola, ve a tus recursos en la interfaz de usuario para comprobar que Terraform los ha creado o actualizado.
Eliminar los cambios
Para eliminar los cambios, sigue estos pasos:
- Para inhabilitar la protección contra eliminación, en el archivo de configuración de Terraform, asigna el valor
falseal argumentodeletion_protection.deletion_protection = "false"
- Aplica la configuración de Terraform actualizada ejecutando el siguiente comando e introduciendo
yesen la petición:terraform apply
-
Para quitar los recursos que se hayan aplicado anteriormente con tu configuración de Terraform, ejecuta el siguiente comando e introduce
yesen la petición:terraform destroy
REST v1
Para crear un grupo de lectura con el autoescalado habilitado, usa una solicitud POST con el método instances:insert.
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- READ_POOL_NAME: el nombre que quieras asignar al grupo de lectura.
- REGION: la región en la que quieres que se encuentre la instancia, como
us-central1. - PRIMARY_INSTANCE_ID: el ID de la instancia principal que quieras usar.
- PROJECT_ID: el ID del proyecto en el que quieres que se encuentre el grupo de lectura, como
my-project-name. - DATABASE_VERSION: la versión de la base de datos que quieras usar, como
POSTGRES_16. - MACHINE_TIER: el nivel de máquina que quieras usar, como
db-perf-optimized-N-2. - FULL_NETWORK_NAME: el nombre de la red que quieras usar.
- MAX_NODE_COUNT: el número máximo de nodos del grupo de lectura que quieres que use el grupo de lectura, como
10. - MIN_NODE_COUNT: el número mínimo de nodos del grupo de lectura que quieres que use el grupo de lectura, como
2. - TARGET_METRIC_1: la métrica objetivo que quieras usar, como
AVERAGE_CPU_UTILIZATIONoAVERAGE_DB_CONNECTIONS. Debe definir al menos una de las dos métricas disponibles. - VALUE_1: el valor que quiere asignar a la métrica de destino que ha indicado anteriormente. Por ejemplo, en la métrica objetivo
AVERAGE_CPU_UTILIZATIONpuede asignar el valor0.50. - NODE_COUNT: el número de nodos del grupo de lectura con el que quieres empezar, como
3.
Método HTTP y URL:
POST https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances
Cuerpo JSON de la solicitud:
{
"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 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/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 crear un grupo de lectura con el autoescalado habilitado, usa una solicitud POST con el método instances:insert.
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- READ_POOL_NAME: el nombre que quieras asignar al grupo de lectura.
- REGION: la región en la que quieres que se encuentre la instancia, como
us-central1. - PRIMARY_INSTANCE_ID: el ID de la instancia principal que quieras usar.
- PROJECT_ID: el ID del proyecto en el que quieres que se encuentre el grupo de lectura, como
my-project-name. - DATABASE_VERSION: la versión de la base de datos que quieras usar, como
POSTGRES_16. - MACHINE_TIER: el nivel de máquina que quieras usar, como
db-perf-optimized-N-2. - FULL_NETWORK_NAME: el nombre de la red que quieras usar.
- MAX_NODE_COUNT: el número máximo de nodos del grupo de lectura que quieres que use el grupo de lectura, como
10. - MIN_NODE_COUNT: el número mínimo de nodos del grupo de lectura que quieres que use el grupo de lectura, como
2. - TARGET_METRIC_1: la métrica objetivo que quieras usar, como las siguientes:
AVERAGE_CPU_UTILIZATIONAVERAGE_DB_CONNECTIONS
- VALUE_1: el valor que quiere asignar a la métrica de destino que ha indicado anteriormente. En este ejemplo, asigna el valor
0.50a la métrica de destinoAVERAGE_CPU_UTILIZATION. - NODE_COUNT: el número de nodos del grupo de lectura con el que quieres empezar, como
3.
Método HTTP y URL:
POST https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances
Cuerpo JSON de la solicitud:
{
"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 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/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"
}
Habilitar el autoescalado de grupos de lectura en un grupo de lectura
Si ya has creado un grupo de lectura, puedes habilitar el autoescalado indicando la configuración que quieras usar.
Por ejemplo, si especifica un valor objetivo de 50 para AVERAGE_DB_CONNECTIONS, se añadirán o quitarán nodos del grupo de lectura para mantener el promedio de conexiones de base de datos en el grupo en 50 o menos.
gcloud
Para habilitar el grupo de lectura con autoescalado en un grupo de lectura ya creado, ejecuta el siguiente 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
Haz los cambios siguientes:
- INSTANCE_NAME: el nombre de la instancia asociada al grupo de lectura que quieras modificar.
- MAX_NODE_COUNT: el número máximo de nodos del grupo de lectura que quieres que use el grupo de lectura, como
10. - MIN_NODE_COUNT: el número mínimo de nodos del grupo de lectura que quieres que use el grupo de lectura, como
2. - COOLDOWN_SECONDS_SCALE_OUT: Opcional: tiempo de inactividad o de espera en segundos entre la creación o la eliminación de nodos del grupo de lectura, como
180. Se requiere un periodo de enfriamiento mínimo de 60 segundos. El valor predeterminado es 600 segundos. - COOLDOWN_SECONDS_SCALE_IN: Opcional: tiempo de inactividad o de espera en segundos entre la creación o la eliminación de nodos del grupo de lectura, como
180. Se requiere un periodo de enfriamiento mínimo de 60 segundos. El valor predeterminado es 600 segundos. - TARGET_METRIC_1: la métrica objetivo que quieras usar, como las siguientes:
AVERAGE_CPU_UTILIZATIONAVERAGE_DB_CONNECTIONS
- VALUE_1: el valor que quiere asignar a la métrica de destino que ha indicado anteriormente. En este ejemplo, asigna el valor
50a la métrica de destinoAVERAGE_DB_CONNECTIONS.
REST v1
Para habilitar un grupo de lectura con el ajuste automático de escala, usa el método PATCH.
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_ID: el ID de la instancia asociada al grupo de lectura.
- MAX_NODE_COUNT: el número máximo de nodos del grupo de lectura que quieres que use el grupo de lectura, como
10. - MIN_NODE_COUNT: el número mínimo de nodos del grupo de lectura que quieres que use el grupo de lectura, como
2. - COOLDOWN_SECONDS: Opcional: tiempo de inactividad o de espera en segundos entre la creación o la eliminación de nodos del grupo de lectura, como
180. - SCALE_IN_DISABLED: opcional, te permite inhabilitar el comportamiento de escalado horizontal del grupo de lectura. Para inhabilitar la reducción de la escala del grupo de lectura, asigna el valor
true. - TARGET_METRIC_1: la métrica objetivo que quieras usar, como las siguientes:
AVERAGE_CPU_UTILIZATIONAVERAGE_DB_CONNECTIONS
- VALUE_1: el valor que quiere asignar a la métrica de destino que ha indicado anteriormente. En este ejemplo, asigna el valor
50a la métrica de destinoAVERAGE_DB_CONNECTIONS.
Método HTTP y URL:
PATCH https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID
Cuerpo JSON de la solicitud:
{
"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 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": "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 habilitar un grupo de lectura con el ajuste automático de escala, usa el método PATCH.
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_ID: el ID de la instancia asociada al grupo de lectura.
- MAX_NODE_COUNT: el número máximo de nodos del grupo de lectura que quieres que use el grupo de lectura, como
10. - MIN_NODE_COUNT: el número mínimo de nodos del grupo de lectura que quieres que use el grupo de lectura, como
2. - COOLDOWN_SECONDS: Opcional: tiempo de inactividad o de espera en segundos entre la creación o la eliminación de nodos del grupo de lectura, como
180. - SCALE_IN_DISABLED: opcional, te permite inhabilitar el comportamiento de escalado horizontal del grupo de lectura. Para inhabilitar la reducción de la escala del grupo de lectura, asigna el valor
true. - TARGET_METRIC_1: la métrica objetivo que quieras usar, como las siguientes:
AVERAGE_CPU_UTILIZATIONAVERAGE_DB_CONNECTIONS
- VALUE_1: el valor que quiere asignar a la métrica de destino que ha indicado anteriormente. En este ejemplo, asigna el valor
50a la métrica de destinoAVERAGE_DB_CONNECTIONS.
Método HTTP y URL:
PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID
Cuerpo JSON de la solicitud:
{
"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 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/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"
}
Inhabilitar el autoescalado de un grupo de lectura
Sigue estos pasos para inhabilitar el escalado automático del grupo de lectura.
gcloud
Para inhabilitar el autoescalado del grupo de lectura, ejecuta el siguiente comando.
gcloud sql instances patch INSTANCE_NAME --no-auto-scale-enabled
Haz los cambios siguientes:
- INSTANCE_NAME: el nombre de la instancia asociada al grupo de lectura que quieras modificar.
REST v1
Para inhabilitar el autoescalado del grupo de lectura, usa el método PATCH.
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_ID: el ID de la instancia asociada al grupo de lectura.
Método HTTP y URL:
PATCH https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID
Cuerpo JSON de la solicitud:
{
"settings":{
"readPoolAutoScaleConfig":{
"enabled": 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": "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 inhabilitar el autoescalado del grupo de lectura, usa el método PATCH.
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_ID: el ID de la instancia asociada al grupo de lectura.
Método HTTP y URL:
PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID
Cuerpo JSON de la solicitud:
{
"settings":{
"readPoolAutoScaleConfig":{
"enabled": 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/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
Usa estadísticas del sistema para ver métricas relevantes de tu grupo de lectura.
En el caso de AVERAGE_CPU_UTILIZATION, consulta el gráfico de métricas clave Uso de CPU.
En el caso de AVERAGE_DB_CONNECTIONS, consulte el gráfico de métricas clave de conexiones por base de datos
.
Monitorizar las operaciones de autoescalado del grupo de lectura
Cuando se cumplen las condiciones para activar un evento de autoescalado de un pool de lectura, se ejecuta una operación UPDATE
en la instancia. Puedes ver esta operación en la consola de Google Cloud .
Las operaciones de autoescalado de grupos de lectura pueden tardar 10 minutos o más en aplicarse a la instancia. Las conexiones que ya tengas no se transferirán a los nodos del nuevo grupo de lectura, por lo que solo las nuevas conexiones se verán afectadas por el ajuste de escala automático del grupo de lectura.
Mientras se ejecuta la operación de escalado automático en el grupo de lectura, debes esperar a que finalice antes de ejecutar otras actualizaciones en el grupo de lectura o en la instancia principal. Si intentas ejecutar solicitudes simultáneas, es posible que recibas el siguiente mensaje de error:
Operation failed because another operation was already in progress.
Puedes inspeccionar tu instancia de grupo de lectura y ver cómo cambia el número de nodos:
gcloud sql instances describe READ_POOL_NAME | grep nodeCount
Haz los cambios siguientes:
- READ_POOL_NAME: el nombre del grupo de lectura del que quieres obtener información.
Registros de auditoría de los eventos del sistema
También puedes ver el mensaje del registro de auditoría del evento del sistema
asociado al método cloudsql.instances.readPoolAutoScale,
que contiene el recuento de nodos antiguo y el nuevo.