Si utiliza grupos de instancias administrados (MIG) , lea este documento para aprender cómo crear, configurar y eliminar el escalador automático de su MIG.
Antes de comenzar
- Si aún no lo has hecho, configura la autenticación. La autenticación es el proceso mediante el cual se verifica su identidad para acceder a Google Cloud servicios y API. Para ejecutar código o muestras desde un entorno de desarrollo local, puedes autenticarte en Compute Engine seleccionando una de las siguientes opciones:
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
-
After installing the Google Cloud CLI, initialize it by running the following command:
gcloud init
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
- Set a default region and zone.
- Escalado basado en la utilización de la CPU
- Escalado basado en la capacidad de servicio de equilibrio de carga
- Escalado basado en métricas de Cloud Monitoring
- Escalado basado en horarios
- En la consola de Google Cloud, vaya a la página de grupos de instancias .
- Haga clic en el nombre de un MIG de la lista para abrir la página de descripción general de ese grupo.
- Haga clic en Detalles para ver los detalles del grupo, incluida su configuración de escala automática.
- En la consola de Google Cloud, vaya a la página de grupos de instancias .
- Haga clic en el nombre de un MIG de la lista para abrir la página de descripción general de ese grupo.
- Haga clic en Editar para ver y actualizar la configuración actual del grupo, incluida su configuración de escala automática.
- Haga clic en Guardar cuando haya terminado.
- Su aplicación tarda mucho en inicializarse; por ejemplo, si configura un período de inicialización de más de 2 minutos.
- Su carga de trabajo varía de manera predecible con ciclos diarios o semanales.
- Investigue instancias de VM sin interferencias del escalado horizontal.
- Reconfigure múltiples propiedades de su MIG sin que se activen acciones de escalado mientras su grupo está solo parcialmente reconfigurado.
- Mantenga la capacidad de MIG para una reversión rápida mientras redirige una carga de trabajo a un nuevo MIG.
- Habilite el escalado automático predictivo más adelante. El escalado automático predictivo requiere una política de escalado automático para comenzar a recopilar el historial de carga en el que basar las predicciones. El escalador automático detecta este historial incluso cuando su modo está configurado en
OFF
. - Apagado : Desactiva temporalmente el escalado automático. Utilice este modo para evitar cambios automáticos del tamaño del MIG. La configuración de ajuste de escala automático permanece intacta para que pueda volver a habilitarlo más tarde.
- Solo escalamiento horizontal : restrinja el escalado automático solo para agregar nuevas instancias de VM. Utilice este modo para evitar que el grupo se reduzca y permitir que el grupo aprovisione máquinas virtuales adicionales cuando aumente la carga.
- Activado : habilita todas las operaciones de escalado automático según su política.
- En la consola de Google Cloud, vaya a la página de grupos de instancias .
- Haga clic en el nombre de un MIG de la lista para abrir la página de descripción general de ese grupo.
- Haga clic en Editar para ver la configuración actual del grupo, incluida su configuración de escala automática.
- En Escala automática , configure el modo de escala automática para deshabilitar o restringir la escala automática para el grupo, o para volver a activar el escalador automático.
- Haga clic en Guardar cuando haya terminado.
-
MODE
:-
off
para deshabilitar el escalador automático pero mantener su configuración -
only-scale-out
para restringir el escalador automático para agregar solo instancias de VM -
on
volver a habilitar todas las actividades del escalador automático de acuerdo con su política
-
-
MODE
:-
OFF
para desactivar el escalador automático pero mantener su configuración -
ONLY_SCALE_OUT
para restringir el escalador automático para agregar instancias únicamente -
ON
para volver a habilitar todas las actividades del escalador automático de acuerdo con su política
-
- El escalador automático no disminuye el valor
targetSize
del MIG independientemente de las disminuciones en la carga o los cambios en la configuración del escalador automático. - Si cambia manualmente el tamaño objetivo de un MIG zonal, el escalador automático anula el tamaño proporcionado manualmente si es menor que el tamaño recomendado por el escalador automático.
- No puede cambiar manualmente el tamaño objetivo de un MIG regional.
- Si configura el campo
autoscalingPolicy.maxNumReplicas
en un valor inferior al valortargetSize
actual del grupo mientras el modo del escalador automático está configurado enONLY_SCALE_OUT
, el escalador automático no reduce la cantidad de instancias en el grupo. Como de costumbre, el escalador automático vuelve a calcular continuamente el tamaño recomendado del grupo y puede disminuir el tamaño recomendado del grupo para cumplir con el nuevo máximo, pero el grupo no se escala. - El campo
autoscalers.status
informa una advertencia: "El escalado automático funciona en un modo restringido: SOLAMENTE_SCALE_OUT". - El escalador automático no cambia el valor
targetSize
del MIG en respuesta a cambios en la carga o en la configuración del escalador automático. Como de costumbre, el escalador automático vuelve a calcular continuamente el tamaño recomendado del grupo y puede disminuir el tamaño recomendado del grupo para cumplir con el nuevo máximo, pero el grupo no se escala. - Puede cambiar manualmente el tamaño objetivo de un MIG zonal o regional. Los valores
minNumReplicas
ymaxNumReplicas
de la política de escalado automático no afectan el tamaño que establezca. - Si desactiva el escalado automático para un MIG regional en el que la redistribución proactiva de instancias está habilitada, y si el MIG tiene una distribución desigual de instancias entre zonas, entonces el grupo elimina o crea instancias de manera proactiva en sus zonas para restablecer una distribución uniforme.
- El campo
autoscalers.status
informa una advertencia: "El escalado automático funciona en modo restringido: APAGADO". En la consola de Google Cloud, vaya a la página de grupos de instancias .
Haga clic en el nombre de un MIG con escala automática de la lista para abrir la página de descripción general de ese grupo.
Haga clic en Editar para ver la configuración actual del grupo, incluida su configuración de escala automática.
En Escala automática , haga clic en Controles de ampliación y luego seleccione Habilitar controles de ampliación .
En No ampliar en más de , especifique el número o porcentaje máximo de instancias que se pueden eliminar del grupo a la vez.
En Durante el transcurso de , especifique con qué frecuencia se pueden eliminar instancias del grupo.
Haga clic en Guardar .
-
INSTANCE_GROUP_NAME
: el nombre del MIG a actualizar. -
MAX_SCALE_IN_REPLICAS
: el número máximo de VM que se permite deducir del tamaño máximo, tomado de la ventana de tiempo final especificada. La cantidad especificada de instancias de VM se puede escalar todas a la vez, por lo que su servicio debería poder permitirse perder tantas VM a la vez. Puede especificar una cantidad de máquinas virtuales o un porcentaje. Utilice el signo%
para porcentajes; por ejemplo:50%
. -
TIME_WINDOW
: ventana de tiempo final para tomar el tamaño máximo. El ajuste de escala automático no ampliará más que el número máximo permitido de réplicas del tamaño máximo tomado durante este período de tiempo final. Especifique este valor en segundos dentro de un intervalo [60, 3600]. - Tome el tamaño máximo de los últimos 30 minutos (por ejemplo, 100 máquinas virtuales).
- Tome
max-scaled-in-replicas
(por ejemplo, 10 máquinas virtuales) - Establezca el límite inferior del tamaño recomendado en: tamaño máximo menos
max-scaled-in-replicas
(100 - 10 = 90 máquinas virtuales) - Escalado basado en CPU o capacidad de servicio de equilibrio de carga
- Escalado basado en la métrica de Cloud Monitoring .
-
AUTOSCALER_NAME
: el nombre del escalador automático que se creará. Puede nombrar su escalador automático según el MIG que lo usará o nombrarlo de otra manera. -
INSTANCE_GROUP_NAME
: el nombre del MIG al que agregar el escalador automático. Para un MIG regional, reemplacezones/ ZONE
conregions/ REGION
. -
MAX_SCALE_IN_REPLICAS
: la cantidad máxima de VM que se permite deducir del tamaño objetivo máximo recomendado, tomado de la ventana de tiempo final especificada. La cantidad especificada de instancias de VM se puede escalar todas a la vez, por lo que su servicio debería poder permitirse el lujo de perder tantas VM a la vez. Puede especificar una cantidad de máquinas virtuales o un porcentaje. UtilicemaxScaledInReplicas.percentage
para especificar un valor porcentual. -
TIME_WINDOW
: la ventana de tiempo final para tomar el tamaño máximo recomendado. El ajuste de escala automático no ampliará más que el número máximo permitido de réplicas del tamaño máximo recomendado tomado durante este período de tiempo final. Especifique este valor en segundos dentro de un intervalo [60, 3600]; por ejemplo:1800
. - Tome el tamaño máximo de los últimos 30 minutos (por ejemplo, 100 máquinas virtuales).
- Tome
max-scaled-in-replicas
(por ejemplo, 10 máquinas virtuales) - Establezca el límite inferior del tamaño recomendado en: tamaño máximo menos
max-scaled-in-replicas
(100 - 10 = 90 máquinas virtuales) En la consola de Google Cloud, vaya a la página de grupos de instancias .
Haga clic en el nombre de un MIG con escala automática de la lista para abrir la página de descripción general de ese grupo.
Haga clic en Editar para ver la configuración actual del grupo, incluida su configuración de escala automática.
En Escala automática , haga clic en Controles de ampliación y luego desmarque la casilla Habilitar controles de ampliación .
Haga clic en Guardar .
-
AUTOSCALER_NAME
: el nombre del escalador automático que se actualizará. Para obtener una lista de los escaladores automáticos existentes y sus MIG de destino, utilice el métodoautoscalers.aggregatedList
. En la consola de Google Cloud, vaya a la página de grupos de instancias .
Haga clic en el nombre de un MIG de la lista para abrir la página de descripción general de ese grupo.
Haga clic en Editar para ver la configuración actual del grupo, incluida su configuración de escala automática.
En Escalado automático , en la lista desplegable Modo de escalado automático, seleccione Eliminar configuración de escalado automático para detener el escalador automático y eliminar su configuración.
Haga clic en Guardar cuando haya terminado.
- Descubra cómo los escaladores automáticos toman decisiones .
- Aprenda a utilizar múltiples señales de escalado automático para escalar su grupo.
REST
Para usar las muestras de la API de REST en esta página en un entorno de desarrollo local, debes usar las credenciales que proporcionas a la CLI de gcloud.
After installing the Google Cloud CLI, initialize it by running the following command:
gcloud init
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
Para obtener más información, consulta Autentica para usar REST en la documentación de autenticación de Google Cloud .
Creando un escalador automático
La creación de un escalador automático es ligeramente diferente según la política de escalado automático que desee utilizar. Para obtener instrucciones sobre cómo crear un escalador automático, consulte:
Obtener información sobre un escalador automático
Para obtener más información sobre un escalador automático en particular, use la consola, el subcomando
gcloud compute instance-groups managed describe
o el métodoget
para un recurso REST del escalador automático zonal o regional .Consola
nube de gcloud
Utilice el comando
instance-groups managed describe
:gcloud compute instance-groups managed describe INSTANCE_GROUP_NAME
Si hay un escalador automático asociado al grupo, el comando devuelve detalles sobre el escalador automático:
... autoscaler: autoscalingPolicy: coolDownPeriodSec: 60 cpuUtilization: utilizationTarget: 0.6 maxNumReplicas: 20 minNumReplicas: 10 mode: ON scaleInControl: timeWindowSec: 300 maxScaledInReplicas: fixed: 3 calculated: 3 ...
DESCANSAR
Utilice el método
instanceGroupManagers.get
. Para un MIG regional, reemplacezones/ ZONE
conregions/ REGION
.GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/INSTANCE_GROUP_NAME
Si se adjunta un escalador automático al grupo, la solicitud devuelve un enlace al recurso del escalador automático.
200 OK { ... "status": { ... "autoscaler": "https://www.googleapis.com/compute/v1/projects/my-project/zones/us-east1-c/autoscalers/example-group" }, }
Para recuperar detalles sobre el recurso de escalador automático, utilice el método
autoscalers.get
para un MIG zonal o el métodoregionAutoscalers.get
para un MIG regional.GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/autoscalers/example-autoscaler
200 OK { "kind": "compute#autoscaler", "id": "8744945839459481093", "creationTimestamp": "2018-09-28T13:02:50.553-07:00", "name": "example-group", "target": "https://www.googleapis.com/compute/v1/projects/my-project/zones/us-east1-c/instanceGroupManagers/example-group", "autoscalingPolicy": { "minNumReplicas": 10, "maxNumReplicas": 20, "mode": "ON", "scaleInControl": { "timeWindowSec": 60, "maxScaledInReplicas": { "calculated": 3, "percent": 15 } }, "coolDownPeriodSec": 60, "cpuUtilization": { "utilizationTarget": 0.6 } }, "zone": "https://www.googleapis.com/compute/v1/projects/my-project/zones/us-east1-c", "selfLink": "https://www.googleapis.com/compute/v1/projects/my-project/zones/us-east1-c/autoscalers/example-group", "status": "ACTIVE" }
Actualización de un escalador automático
Cuando actualiza un escalador automático, es posible que los cambios tarden algún tiempo en propagarse y pueden pasar un par de minutos antes de que se reflejen las nuevas configuraciones del escalador automático.
Consola
nube de gcloud
Utilice el comando
update-autoscaling
.gcloud compute instance-groups managed update-autoscaling INSTANCE_GROUP_NAME \ --max-num-replicas MAX_NUM ...
Para obtener instrucciones sobre cómo crear un escalador automático, consulte Creación de un escalador automático .
DESCANSAR
Para actualizar un recurso de escalador automático, utilice el método
autoscalers.patch
para un MIG zonal o el métodoregionAutoscalers.patch
para un MIG regional. Proporcione un cuerpo de solicitud que contenga la nueva configuración.PATCH https://compute.googleapis.com/compute/v1/projects/my-project/zones/us-central1-f/autoscalers/example-autoscaler { "autoscalingPolicy": { "maxNumReplicas": 20 } }
200 OK { "kind": "compute#operation", "id": "4244494732310423322", "name": "operation-1556912627871-58800f8216ed7-74ab1720-7d360603", "zone": "https://www.googleapis.com/compute/v1/projects/my-project/zones/us-central1-f", "operationType": "compute.autoscalers.patch", "targetLink": "https://www.googleapis.com/compute/v1/projects/my-project/zones/us-central1-f/autoscalers/example-autoscaler", "targetId": "340775527929467142", "status": "RUNNING", ... }
Cuando realiza cualquier solicitud que modifica datos, se devuelve un recurso ZoneOperations o RegionOperations y puede consultar la operación para verificar el estado de su cambio.
Usando el escalado automático predictivo
El escalado automático predictivo utiliza datos históricos para escalar horizontalmente su grupo antes de la carga anticipada. Funciona mejor si su carga de trabajo cumple con los siguientes criterios:
Para obtener más información, consulte Escalado basado en predicciones .
Desactivar o restringir un escalador automático
Apague un escalador automático para evitar temporalmente que escale su MIG, o restrinja su escalador automático para que solo pueda escalar su MIG. Esta función es útil cuando desea:
Si vuelve a habilitar el escalador automático, éste volverá automáticamente al funcionamiento normal.
Utilice las instrucciones proporcionadas en esta sección para configurar el modo del escalador automático. Están disponibles los siguientes modos:
Consola
nube de gcloud
Para deshabilitar, restringir o volver a habilitar un escalador automático, use el comando
update-autoscaling
con el indicador--mode
.gcloud compute instance-groups managed update-autoscaling INSTANCE_GROUP_NAME \ --mode MODE
Reemplace lo siguiente:
DESCANSAR
Para actualizar el modo de un recurso de escalador automático, utilice el método
autoscalers.patch
para un MIG zonal o el métodoregionAutoscalers.patch
para un MIG regional. Proporcione un cuerpo de solicitud que incluya la propiedadautoscalingPolicy.mode
.PATCH https://compute.googleapis.com/compute/v1/projects/my-project/regions/us-central1-f/autoscalers?autoscaler=my-autoscaler { "autoscalingPolicy": { "mode":"MODE" } }
Reemplace lo siguiente:
Cuando configura el modo de escalado automático en
ONLY_SCALE_OUT
, el escalador automático se comporta de la siguiente manera:Cuando configura el modo del escalador automático en
OFF
, el escalador automático se comporta de la siguiente manera:Controlar la tasa de escalado de un escalador automático
Si sus cargas de trabajo tardan muchos minutos en inicializarse, configure controles de ampliación gradual para reducir el riesgo de latencia de respuesta e interrupciones debido a eventos de ampliación abrupta. Específicamente, si habitualmente espera que se produzca un pico de carga poco después de una disminución en la carga, puede limitar la tasa de escalado. Limitar la tasa de escalamiento horizontal evita que el escalador automático reduzca el tamaño de un MIG en más instancias de VM de las que su carga de trabajo puede tolerar perder.
Configuración de controles de escalamiento horizontal
La configuración de controles de escalamiento horizontal es opcional. De forma predeterminada, los controles de escalamiento horizontal no están configurados. Cuando no está configurado, el escalador automático aún depende de su mecanismo de estabilización predeterminado. Es decir, mantiene el tamaño recomendado en un nivel requerido para soportar la carga máxima observada durante el período de estabilización.
Consola
Para configurar controles de escalamiento horizontal para un MIG de escalado automático:
nube de gcloud
Puede configurar controles de escalamiento horizontal al crear un escalador automático o al actualizarlo.
Configurar controles de escalamiento horizontal al crear un escalador automático
Establece controles de escalamiento horizontal al crear un escalador automático para un MIG usando la marca
--scale-in-control
con el comandogcloud compute instance-groups managed set-autoscaling
. Por ejemplo, utilice el siguiente comando para configurar el ajuste de escala automático para unexample-group
:gcloud compute instance-groups managed set-autoscaling INSTANCE_GROUP_NAME \ --target-cpu-utilization 0.6 \ --max-num-replicas 50 \ --scale-in-control max-scaled-in-replicas=MAX_SCALE_IN_REPLICAS,time-window=TIME_WINDOW
Configuración de controles de escalamiento horizontal al actualizar un escalador automático
Actualice los controles de escalamiento horizontal en el escalador automático existente de un MIG usando la marca
--scale-in-control
con el comandogcloud compute instance-groups managed update-autoscaling
. Por ejemplo, utilice el siguiente comando para establecer controles de escalado horizontal en una configuración de escalado automático existente, porexample-group
:gcloud compute instance-groups managed update-autoscaling INSTANCE_GROUP_NAME \ --scale-in-control max-scaled-in-replicas=MAX_SCALE_IN_REPLICAS,time-window=TIME_WINDOW
Reemplace lo siguiente:
Por ejemplo, digamos que configura la ventana de tiempo en 1800 segundos (30 minutos). Al calcular el tamaño recomendado actual para el MIG, el escalador automático utiliza la siguiente lógica:
DESCANSAR
Configure controles de escalamiento horizontal configurando los campos
maxScaledInReplicas
ytimeWindowSec
dentro de la estructuraautoscalingPolicy.scaleInControl
en un recurso de escalador automático zonal o regional . No hay valores predeterminados para estos campos; debe proporcionar valores para ambos campos.Puede configurar controles de escalamiento horizontal al crear un escalador automático o al actualizarlo.
Configurar controles de escalamiento horizontal al crear un escalador automático
Para un MIG zonal, utilice el método
autoscalers.insert
. Para un MIG regional, utilice el métodoregionAutoscalers.insert
.POST https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/autoscalers { "name": "AUTOSCALER_NAME", "target": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/INSTANCE_GROUP_NAME", "autoscalingPolicy": { "minNumReplicas": 1, "maxNumReplicas": 5, "coolDownPeriodSec": 60, "cpuUtilization": { "utilizationTarget": 0.8 }, "scaleInControl": { "maxScaledInReplicas": { "fixed": MAX_SCALE_IN_REPLICAS }, "timeWindowSec": TIME_WINDOW } } }
Para obtener más información sobre la creación de un escalador automático, consulte los siguientes artículos:
Configuración de controles de escalamiento horizontal al actualizar un escalador automático
Para un MIG zonal, utilice el método
autoscalers.patch
. Para un MIG regional, utilice el métodoregionAutoscalers.patch
.PATCH https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/autoscalers?autoscaler=AUTOSCALER_NAME { "autoscalingPolicy": { "minNumReplicas": 1, "maxNumReplicas": 5, "coolDownPeriodSec": 60, "cpuUtilization": { "utilizationTarget": 0.8 }, "scaleInControl": { "maxScaledInReplicas": { "fixed": MAX_SCALE_IN_REPLICAS }, "timeWindowSec": TIME_WINDOW } } }
Reemplace lo siguiente:
Por ejemplo, digamos que configura la ventana de tiempo en 1800 segundos (30 minutos). Al calcular el tamaño recomendado actual para el MIG, el escalador automático utiliza la siguiente lógica:
Para obtener más información sobre cómo funcionan los controles de escalamiento horizontal, consulte Comprender las decisiones del escalador automático .
Obtener la configuración actual de los controles de escalamiento horizontal
Para obtener la configuración actual de los controles de escalamiento horizontal, consulte Obtener información sobre un escalador automático .
Eliminación de controles de escalamiento horizontal
Puedes eliminar controles de escalamiento horizontal para eliminar las restricciones sobre el tiempo y la magnitud de las operaciones de escalamiento horizontal mediante la CLI de Google Cloud o la API de Compute Engine.
Sin controles de escalado, el escalador automático aún depende de su mecanismo de estabilización predeterminado. Específicamente, mantiene un tamaño recomendado en un nivel requerido para soportar la carga máxima, observada durante el período de estabilización.
Consola
Para eliminar controles de escalamiento horizontal para un MIG de escalado automático:
nube de gcloud
Elimine los controles de escalamiento horizontal mediante la marca
--clear-scale-in-control
con el comandogcloud compute instance-groups managed update-autoscaling
. Por ejemplo, utilice el siguiente comando para eliminar los controles de escalamiento horizontal de la configuración de escalado automático delexample-group
:gcloud compute instance-groups managed update-autoscaling example-group \ --clear-scale-in-control
DESCANSAR
Para eliminar controles de ampliación, utilice el método
autoscalers.patch
para un MIG zonal o utilice el métodoregionAutoscalers.patch
para un MIG regional y proporcione una configuración vacía para los controles de ampliación.PATCH https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/autoscalers?autoscaler=AUTOSCALER_NAME { "autoscalingPolicy": { "scaleInControl": null } }
Reemplace lo siguiente:
Eliminar un escalador automático
Puede eliminar permanentemente su recurso de escalador automático y su historial. Si desea detener temporalmente el escalado automático y conservar su recurso de escalador automático y su configuración e historial, desactívelo en su lugar.
Consola
nube de gcloud
Utilice el comando
stop-autoscaling
para detener un escalador automático y eliminar su configuración.gcloud compute instance-groups managed stop-autoscaling INSTANCE_GROUP_NAME
Al detener un escalador automático, se elimina del MIG. Si desea reiniciar el escalador automático, debe recrearlo usando el comando
set-autoscaling
.Si eliminas un MIG mediante la CLI de gcloud, también se eliminan todos los escaladores automáticos conectados al MIG.
DESCANSAR
Para detener un escalador automático y eliminar su configuración, use el método
autoscalers.delete
para un MIG zonal o use el métodoregionAutoscalers.delete
para un MIG regional.DELETE https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/autoscalers/AUTOSCALER_NAME
Comentario
Queremos conocer sus casos de uso, desafíos y comentarios sobre el escalado automático. Comparta sus comentarios con nuestro equipo en mig-discuss@google.com .
¿Qué sigue?
A menos que se indique lo contrario, el contenido de esta página está sujeto a la licencia Reconocimiento 4.0 de Creative Commons y las muestras de código están sujetas a la licencia Apache 2.0. Para obtener más información, consulta las políticas del sitio web de Google Developers. Java es una marca registrada de Oracle o sus afiliados.
Última actualización: 2025-04-17 (UTC).
-