El ajuste de escala automático del grupo de lectura agrega o quita automáticamente nodos del grupo de lectura en el grupo de lectura según las necesidades de carga de trabajo de tu aplicación.
Puedes controlar el ajuste automático de escala del grupo de lectura limitando el uso promedio de CPU en el grupo de lectura o limitando la cantidad de conexiones de clientes que tienen acceso al grupo de lectura, con una de las dos métricas objetivo:
- Uso promedio de CPU: Te permite establecer el uso promedio de CPU con el que deseas que opere el grupo de lectura. El grupo de lectura se ajusta automáticamente según el uso de CPU de la carga de trabajo de tu aplicación.
- Promedio de conexiones de base de datos: Te permite especificar la cantidad promedio de conexiones de base de datos del cliente que debe atender cada nodo. El grupo de lectura se ajusta automáticamente según la cantidad de conexiones de clientes.
Para aplicar estas métricas objetivo, también debes establecer un recuento mínimo y máximo de nodos del grupo de lectura.
Para habilitar el ajuste de escala automático del grupo de lectura, puedes configurar una o ambas de estas métricas de destino en la instancia. Si ambas métricas están activas, Cloud SQL aplica el recuento máximo de nodos del grupo de lectura indicado por ambas métricas.
En la siguiente tabla, se indican los límites para cada métrica objetivo:
| Nombre de la métrica objetivo | Límites | Métrica pública relacionada |
|---|---|---|
| Uso de CPU promedio | Entre 0.1 y 0.9 | El uso promedio de CPU (cloudsql.googleapis.com/database/cpu/utilization) en todos los nodos del grupo de lectura. |
| Conexiones promedio a la base de datos |
Entre 10 y 262,142
Nota: El valor máximo aceptable se correlaciona con el valor máximo establecido por la marca de base de datos max_connections.
|
Representa un promedio de las conexiones de clientes de la base de datos (cloudsql.googleapis.com/database/postgresql/num_backends) en todos los nodos del grupo de lectura.
Nota: Cuando Managed Connection Pooling está habilitado en la instancia, las conexiones individuales que componen un grupo de conexiones no se cuentan por separado y no se incluyen en la métrica AVERAGE_DB_CONNECTIONS. Si el grupo de conexiones administrado está habilitado, te recomendamos que uses solo la métrica AVERAGE_CPU_UTILIZATION para controlar el ajuste de escala automático del grupo de lectura.
|
Cuando se cumplen las condiciones para cambiar el tamaño del grupo de lectura, las operaciones de ajuste de escala automático del grupo de lectura se pueden ver desde la consola de Google Cloud . Todas las demás operaciones en el grupo de lectura y la instancia principal se bloquean hasta que se complete el ajuste de escala automático del grupo de lectura.
Características del ajuste de escala automático del grupo de lectura
Se aplican las siguientes características:
- Las operaciones de reducción de escala quitan solo un nodo a la vez.
- Las operaciones de expansión horizontal agregan, en paralelo, tantos nodos como sean necesarios.
- De forma predeterminada, se aplican las operaciones de reducción y aumento del escalamiento. De manera opcional, puedes bloquear las operaciones de reducción manual de escala (
disableScaleIn). - De forma predeterminada, se aplica un período de inactividad de 600 segundos entre las operaciones sucesivas de ajuste de escala automático del grupo de lectura. Se requiere un período de inactividad mínimo de 60 segundos, ya sea que se aumente o disminuya la escala.
- Cuando estableces una métrica objetivo, también debes definir la cantidad mínima (
minNodeCount) y máxima (maxNodeCount) de nodos del grupo de lectura que deseas usar. Si habilitas el ajuste de escala automático en un grupo de lectura existente, el tamaño actual del grupo de lectura debe estar dentro del rango que establezcas.
Limitaciones
Se aplica la siguiente limitación:
- El ajuste de escala automático del grupo de lectura admite un máximo de 10 operaciones de ajuste de escala automático cada 24 horas.
- Si quieres crear un grupo de lectura nuevo o escalar uno existente, debes esperar a que se completen las operaciones de creación y escalamiento anteriores. Esto se aplica a las operaciones asociadas con el grupo de lectura, así como a otros grupos de lectura asociados con 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 comenzar
Asegúrate de completar todos los pasos obligatorios previos para crear un grupo de lectura.
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 posterior.
- Asegúrate de establecer valores adecuados para
max_wal_sendersymax_replication_slots. Para obtener más información, consulta Características del grupo de lectura.
Crea un grupo de lectura con el ajuste de escala automático habilitado
Si especificas un valor objetivo de 0.50 para AVERAGE_CPU_UTILIZATION, se agregarán o quitarán nodos del grupo de lectura para mantener el uso promedio de CPU en todo el grupo de lectura en 0.50 o menos.
gcloud
Para crear un grupo de lectura con el ajuste de escala automático 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
Reemplaza lo siguiente:
- READ_POOL_NAME: Es el nombre que deseas asignar al grupo de lectura.
- MACHINE_TIER: Es el nivel de máquina que deseas usar, como
db-perf-optimized-N-2. - NODE_COUNT: Es la cantidad de nodos del grupo de lectura con la que deseas comenzar.
- DATABASE_VERSION: Es la versión de la base de datos que deseas usar, como
POSTGRES_16. - PRIMARY_INSTANCE_NAME: Es el nombre de la instancia principal que deseas usar.
- REGION: Es la región que deseas usar, como
us-east1. - NETWORK_NAME: Es el nombre de la red que deseas usar.
- MAX_NODE_COUNT: Es la cantidad máxima de nodos del grupo de lectura que deseas que use el grupo de lectura, como
5. - MIN_NODE_COUNT: Es la cantidad mínima de nodos del grupo de lectura que deseas que use el grupo de lectura, como
1. - TARGET_METRIC_1: Es la métrica objetivo que deseas usar, como las siguientes:
AVERAGE_CPU_UTILIZATIONAVERAGE_DB_CONNECTIONS
- VALUE_1: Es el valor que deseas asignar a la métrica objetivo que indicaste anteriormente. Por ejemplo, para la métrica objetivo
AVERAGE_CPU_UTILIZATION, puedes asignar el valor0.50.
Terraform
Para crear un grupo de lectura con el ajuste de escala automático habilitado, usa un recurso de Terraform.
En el siguiente ejemplo, se incluyen recursos para la instancia principal y el grupo de lectura.
Aplique los cambios
Para aplicar tu configuración de Terraform en un proyecto de Google Cloud , completa los pasos de las siguientes secciones.
Prepara Cloud Shell
- Inicia Cloud Shell
-
Establece el proyecto Google Cloud predeterminado en el que deseas aplicar tus configuraciones de Terraform.
Solo necesitas ejecutar este comando una vez por proyecto y puedes ejecutarlo en cualquier directorio.
export GOOGLE_CLOUD_PROJECT=PROJECT_ID
Las variables de entorno se anulan si configuras valores explícitos en el archivo de configuración de Terraform.
Prepara 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 dentro de ese directorio. El nombre del archivo debe tener la extensión
.tf, por ejemplo,main.tf. En este instructivo, el archivo se denominamain.tf.mkdir DIRECTORY && cd DIRECTORY && touch main.tf
-
Si sigues un instructivo, puedes copiar el código de muestra en cada sección o paso.
Copia el código de muestra en el
main.tfrecién creado.De manera opcional, copia el código de GitHub. Esto se recomienda cuando el fragmento de Terraform es parte de una solución de extremo a extremo.
- Revisa y modifica los parámetros de muestra que se aplicarán a tu entorno.
- Guarda los cambios.
-
Inicializa Terraform. Solo debes hacerlo una vez por directorio.
terraform init
De manera opcional, incluye la opción
-upgradepara usar la última versión del proveedor de Google:terraform init -upgrade
Aplica los cambios
-
Revisa la configuración y verifica que los recursos que creará o actualizará Terraform coincidan con tus expectativas:
terraform plan
Corrige la configuración según sea necesario.
-
Para aplicar la configuración de Terraform, ejecuta el siguiente comando y, luego, escribe
yescuando se te solicite:terraform apply
Espera hasta que Terraform muestre el mensaje “¡Aplicación completa!”.
- Abre tu proyecto Google Cloud para ver los resultados. En la consola de Google Cloud , navega a tus recursos en la IU para asegurarte de que Terraform los haya creado o actualizado.
Borra los cambios
Para borrar tus cambios, haz lo siguiente:
- Para inhabilitar la protección contra la eliminación, en tu archivo de configuración de Terraform, establece el argumento
deletion_protectionenfalse.deletion_protection = "false"
- Para aplicar la configuración actualizada de Terraform, ejecuta el siguiente comando y, luego, ingresa
yescuando se te solicite:terraform apply
-
Quita los recursos que se aplicaron antes con tu configuración de Terraform a través de la ejecución del siguiente comando y, luego, ingresa
yescuando se te solicite:terraform destroy
REST v1
Para crear un grupo de lectura con el ajuste de escala automático habilitado, usa una solicitud POST con el método instances:insert.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- READ_POOL_NAME: Es el nombre que deseas asignar al grupo de lectura.
- REGION: Es la región en la que deseas que resida la instancia, como
us-central1. - PRIMARY_INSTANCE_ID: Es el ID de la instancia principal que deseas usar.
- PROJECT_ID: Es el ID del proyecto en el que deseas que se ubique el grupo de lectura, como
my-project-name. - DATABASE_VERSION: Es la versión de la base de datos que deseas usar, como
POSTGRES_16. - MACHINE_TIER: Es el nivel de máquina que deseas usar, como
db-perf-optimized-N-2. - FULL_NETWORK_NAME: Es el nombre de la red que deseas usar.
- MAX_NODE_COUNT: Es la cantidad máxima de nodos del grupo de lectura que deseas que use el grupo de lectura, como
10. - MIN_NODE_COUNT: Es la cantidad mínima de nodos del grupo de lectura que deseas que use el grupo de lectura, como
2. - TARGET_METRIC_1: Es la métrica objetivo que deseas usar, como
AVERAGE_CPU_UTILIZATIONoAVERAGE_DB_CONNECTIONS. Debes definir al menos una de las dos métricas disponibles. - VALUE_1: Es el valor que deseas asignar a la métrica objetivo que indicaste anteriormente. Por ejemplo, para la métrica objetivo
AVERAGE_CPU_UTILIZATION, puedes asignar el valor0.50. - NODE_COUNT: Es la cantidad de nodos del grupo de lectura con la que deseas comenzar, 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, 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/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 ajuste de escala automático habilitado, usa una solicitud POST con el método instances:insert.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- READ_POOL_NAME: Es el nombre que deseas asignar al grupo de lectura.
- REGION: Es la región en la que deseas que resida la instancia, como
us-central1. - PRIMARY_INSTANCE_ID: Es el ID de la instancia principal que deseas usar.
- PROJECT_ID: Es el ID del proyecto en el que deseas que se ubique el grupo de lectura, como
my-project-name. - DATABASE_VERSION: Es la versión de la base de datos que deseas usar, como
POSTGRES_16. - MACHINE_TIER: Es el nivel de máquina que deseas usar, como
db-perf-optimized-N-2. - FULL_NETWORK_NAME: Es el nombre de la red que deseas usar.
- MAX_NODE_COUNT: Es la cantidad máxima de nodos del grupo de lectura que deseas que use el grupo de lectura, como
10. - MIN_NODE_COUNT: Es la cantidad mínima de nodos del grupo de lectura que deseas que use el grupo de lectura, como
2. - TARGET_METRIC_1: Es la métrica objetivo que deseas usar, como las siguientes:
AVERAGE_CPU_UTILIZATIONAVERAGE_DB_CONNECTIONS
- VALUE_1: Es el valor que deseas asignar a la métrica objetivo que indicaste anteriormente. En este ejemplo, para la métrica objetivo
AVERAGE_CPU_UTILIZATION, asigna el valor0.50. - NODE_COUNT: Es la cantidad de nodos del grupo de lectura con la que deseas comenzar, 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, 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/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"
}
Habilita el ajuste de escala automático del grupo de lectura en un grupo de lectura existente
Si ya creaste un grupo de lectura, puedes habilitar el ajuste de escala automático indicando la configuración que deseas usar.
Por ejemplo, si especificas un valor objetivo de 50 para AVERAGE_DB_CONNECTIONS, se agregarán o quitarán nodos del grupo de lectura para mantener las conexiones de base de datos promedio en todo el grupo en 50 o menos.
gcloud
Para habilitar el grupo de lectura con ajuste de escala automático en un grupo de lectura existente, 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
Reemplaza lo siguiente:
- INSTANCE_NAME: Es el nombre de la instancia asociada al grupo de lectura que deseas modificar.
- MAX_NODE_COUNT: Es la cantidad máxima de nodos del grupo de lectura que deseas que use el grupo de lectura, como
10. - MIN_NODE_COUNT: Es la cantidad mínima de nodos del grupo de lectura que deseas que use el grupo de lectura, como
2. - COOLDOWN_SECONDS_SCALE_OUT: Opcional: Es el tiempo de espera o de inactividad en segundos entre la creación o eliminación de nodos del grupo de lectura, como
180. Se requiere un período de inactividad mínimo de 60 segundos. El valor predeterminado es 600 segundos. - COOLDOWN_SECONDS_SCALE_IN: Opcional: Es el tiempo de espera o de inactividad en segundos entre la creación o eliminación de nodos del grupo de lectura, como
180. Se requiere un período de inactividad mínimo de 60 segundos. El valor predeterminado es 600 segundos. - TARGET_METRIC_1: Es la métrica objetivo que deseas usar, como las siguientes:
AVERAGE_CPU_UTILIZATIONAVERAGE_DB_CONNECTIONS
- VALUE_1: Es el valor que deseas asignar a la métrica objetivo que indicaste anteriormente. En este ejemplo, para la métrica objetivo
AVERAGE_DB_CONNECTIONS, asigna el valor50.
REST v1
Para habilitar un grupo de lectura existente con ajuste de escala automático, usa el método PATCH.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- PROJECT_ID: Es el ID o el número del proyecto del proyecto Google Cloud que contiene la instancia.
- INSTANCE_ID: Es el ID de la instancia asociada con el grupo de lectura.
- MAX_NODE_COUNT: Es la cantidad máxima de nodos del grupo de lectura que deseas que use el grupo de lectura, como
10. - MIN_NODE_COUNT: Es la cantidad mínima de nodos del grupo de lectura que deseas que use el grupo de lectura, como
2. - COOLDOWN_SECONDS: Opcional: Es el tiempo de espera o de inactividad en segundos entre la creación o eliminación de nodos del grupo de lectura, como
180. - SCALE_IN_DISABLED: Opcional: Te permite inhabilitar el comportamiento de reducción de la escala del grupo de lectura. Para inhabilitar la reducción de la capacidad del grupo de lectura, establece el valor en
true. - TARGET_METRIC_1: Es la métrica objetivo que deseas usar, como las siguientes:
AVERAGE_CPU_UTILIZATIONAVERAGE_DB_CONNECTIONS
- VALUE_1: Es el valor que deseas asignar a la métrica objetivo que indicaste anteriormente. En este ejemplo, para la métrica objetivo
AVERAGE_DB_CONNECTIONS, asigna el valor50.
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, 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": "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 existente con ajuste de escala automático, usa el método PATCH.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- PROJECT_ID: Es el ID o el número del proyecto del proyecto Google Cloud que contiene la instancia.
- INSTANCE_ID: Es el ID de la instancia asociada con el grupo de lectura.
- MAX_NODE_COUNT: Es la cantidad máxima de nodos del grupo de lectura que deseas que use el grupo de lectura, como
10. - MIN_NODE_COUNT: Es la cantidad mínima de nodos del grupo de lectura que deseas que use el grupo de lectura, como
2. - COOLDOWN_SECONDS: Opcional: Es el tiempo de espera o de inactividad en segundos entre la creación o eliminación de nodos del grupo de lectura, como
180. - SCALE_IN_DISABLED: Opcional: Te permite inhabilitar el comportamiento de reducción de la escala del grupo de lectura. Para inhabilitar la reducción de la capacidad del grupo de lectura, establece el valor en
true. - TARGET_METRIC_1: Es la métrica objetivo que deseas usar, como las siguientes:
AVERAGE_CPU_UTILIZATIONAVERAGE_DB_CONNECTIONS
- VALUE_1: Es el valor que deseas asignar a la métrica objetivo que indicaste anteriormente. En este ejemplo, para la métrica objetivo
AVERAGE_DB_CONNECTIONS, asigna el valor50.
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, 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/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"
}
Inhabilita el ajuste de escala automático del grupo de lectura en un grupo de lectura
Sigue estos pasos para inhabilitar el ajuste de escala automático del grupo de lectura.
gcloud
Para inhabilitar el ajuste de escala automático del grupo de lectura, ejecuta el siguiente comando.
gcloud sql instances patch INSTANCE_NAME --no-auto-scale-enabled
Reemplaza lo siguiente:
- INSTANCE_NAME: Es el nombre de la instancia asociada al grupo de lectura que deseas modificar.
REST v1
Para inhabilitar el ajuste de escala automático del grupo de lectura, usa el método PATCH.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- PROJECT_ID: Es el ID o el número del proyecto del proyecto Google Cloud que contiene la instancia.
- INSTANCE_ID: Es el ID de la instancia asociada con el 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, 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": "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 ajuste de escala automático del grupo de lectura, usa el método PATCH.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- PROJECT_ID: Es el ID o el número del proyecto del proyecto Google Cloud que contiene la instancia.
- INSTANCE_ID: Es el ID de la instancia asociada con el 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, 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/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 las estadísticas del sistema para ver las métricas pertinentes de tu grupo de lectura.
Para AVERAGE_CPU_UTILIZATION, consulta el gráfico de la métrica clave Uso de CPU.
Para AVERAGE_DB_CONNECTIONS, consulta el gráfico de la métrica clave Conexiones por base de datos.
Supervisa las operaciones de ajuste de escala automático del grupo de lectura
Cuando se cumplen las condiciones para activar un evento de ajuste de escala automático del grupo de lectura, se ejecuta una operación UPDATE en la instancia. Puedes ver esta operación desde la consola de Google Cloud .
Las operaciones de ajuste de escala automático del grupo de lectura pueden tardar 10 minutos o más en aplicarse a la instancia. Las conexiones existentes no se transferirán a los nodos del grupo de lectura recién agregados, lo que significa que solo las conexiones nuevas se verán afectadas por el ajuste de escala automático del grupo de lectura.
Mientras se ejecuta la operación de ajuste de escala 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 el cambio en el recuento de nodos:
gcloud sql instances describe READ_POOL_NAME | grep nodeCount
Reemplaza lo siguiente:
- READ_POOL_NAME: Es el nombre del grupo de lectura para el que deseas obtener información.
Registros de auditoría de eventos del sistema
También puedes ver el mensaje del registro de auditoría del evento del sistema asociado con el método cloudsql.instances.readPoolAutoScale, que contiene el recuento de nodos anterior y nuevo.