El autoescalado basado en la programación te permite mejorar la disponibilidad de tus cargas de trabajo programando la capacidad antes de la carga prevista. Si ejecutas tu carga de trabajo en un grupo de instancias gestionado (MIG), puedes programar un número necesario de instancias de máquina virtual para patrones de carga periódicos, así como para eventos puntuales. Usa programaciones de escalado si tu carga de trabajo tarda mucho en inicializarse y quieres aumentar la escala antes de los picos de carga previstos.
En este documento se describe cómo puedes crear, enumerar, editar, inhabilitar, volver a habilitar y eliminar programaciones de escalado de un MIG. Para obtener más información sobre los grupos de instancias gestionados y el autoescalado, consulta Crear grupos de instancias gestionados y Grupos de instancias con autoescalado.
Antes de empezar
- Consulta los conceptos básicos del escalado automático.
-
Si aún no lo has hecho, configura la autenticación.
La autenticación verifica tu identidad para acceder a Google Cloud servicios y APIs. Para ejecutar código o ejemplos 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
-
Instala Google Cloud CLI. Después de la instalación, inicializa la CLI de Google Cloud ejecutando el siguiente comando:
gcloud init
Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.
- Set a default region and zone.
Terraform
Para usar las muestras de Terraform de esta página en un entorno de desarrollo local, instala e inicializa la CLI de gcloud y, a continuación, configura las credenciales predeterminadas de la aplicación con tus credenciales de usuario.
Instala Google Cloud CLI.
Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.
Para obtener más información, consulta Set up authentication for a local development environment.
REST
Para usar las muestras de la API REST de esta página en un entorno de desarrollo local, debes usar las credenciales que proporciones a la CLI de gcloud.
Instala Google Cloud CLI.
Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.
Para obtener más información, consulta el artículo Autenticarse para usar REST de la documentación sobre autenticación de Google Cloud .
Limitaciones
Las programaciones de escalado están sujetas a las limitaciones de todos los autoescaladores, así como a las siguientes:
- Puedes tener hasta 128 programaciones de escalado por MIG. Para mitigar este límite, elimina las programaciones de escalado que tengan el estado
OBSOLETE
y que no tengas previsto volver a ejecutar. - La duración mínima de las programaciones de escalado es de 5 minutos.
Crear una programación de escalado
Puedes crear hasta 128 programaciones de escalado por MIG. Para obtener más información, consulta Ajustes de la programación de escalado.
En las siguientes instrucciones se explica cómo crear una programación de escalado para un MIG.
Consola
En la consola, ve a la página Grupos de instancias. Google Cloud
Haga clic en el nombre de un MIG de la lista.
Haz clic en Editar.
Haga clic en Tamaño del grupo y escalado automático para desplegar la sección.
Si no hay ninguna configuración de autoescalado, haz clic en Configurar autoescalado.
De forma predeterminada, la configuración de autoescalado añade una señal basada en la utilización de la CPU. Si quieres escalar tu MIG solo en función de las programaciones, elimina la métrica de uso de CPU predeterminada después de añadir las programaciones.
En la sección Programaciones de escalado automático, haz clic en Gestionar.
En el panel Programaciones de escalado, haga lo siguiente para cada programación de escalado que quiera añadir:
- Haz clic en Crear programación.
- En el panel Crear programación de escalado, introduzca un Nombre.
- Opcional: Introduce una Descripción.
- Introduce el número de instancias mínimas requeridas que proporciona esta programación cuando está activa.
Para especificar la hora de inicio y la periodicidad de tu programación de escalado, puedes usar la interfaz predeterminada. También puedes configurar una programación con una periodicidad y una fecha de inicio más complejas mediante la expresión cron. En función de cómo quieras configurar la opción, sigue estos pasos:
Interfaz predeterminada
En el campo Hora de inicio, introduce una hora de inicio con el formato
HH:MM AM/PM
(por ejemplo,09:00 AM
).Haz clic en el campo Zona horaria. Selecciona un país y, a continuación, una zona horaria.
Puedes usar el campo Buscar por país para encontrar un país o una zona horaria. Por ejemplo, escribe
Australia/australian central
para encontrar las zonas horarias del centro de Australia.En los campos Duración y Unidad de tiempo, introduce una duración y selecciona la unidad de tiempo correspondiente.
En el campo Recurrencia, selecciona la frecuencia con la que se repite la programación.
Puedes elegir Una vez o Todos los días. Para especificar que la programación se repita solo en determinados días, elige Cada semana o Cada mes. Después de seleccionar una de estas opciones, usa la lista adicional para seleccionar los días de la semana o del mes en los que empieza la programación.
Expresión cron
Para habilitar esta opción, haz clic en el interruptor Usar expresión cron.
En el campo Expresión CRON, introduce una expresión cron que especifique la hora de inicio y la periodicidad.
Haz clic en el campo Zona horaria. Selecciona un país y, a continuación, una zona horaria.
Puedes usar el campo Buscar por país para encontrar un país o una zona horaria. Por ejemplo, escribe
Australia/australian central
para encontrar las zonas horarias del centro de Australia.En los campos Duración y Unidad de tiempo, introduce una duración y selecciona la unidad de tiempo correspondiente.
Haz clic en Guardar. En el panel Programaciones de escalado se muestra la programación que has creado.
Cuando hayas terminado de crear las programaciones, haz clic en Hecho.
Las programaciones se guardan y se aplican a tu MIG.
Haz clic en Guardar para salir de la página de edición.
gcloud
Para añadir una programación de escalado a un MIG que no tenga una política de autoescalado, usa el comando
gcloud compute instance-groups managed set-autoscaling
.gcloud compute instance-groups managed set-autoscaling MIG_NAME \ [--min-num-replicas=MIN_NUM_REPLICAS] \ --max-num-replicas=MAX_NUM_REPLICAS \ --set-schedule=SCHEDULE_NAME \ --schedule-cron="CRON_EXPRESSION" \ --schedule-duration-sec=DURATION \ [--schedule-time-zone="TIME_ZONE"] \ --schedule-min-required-replicas=MIN_REQ_REPLICAS \ [--schedule-description="DESCRIPTION"] \ [--zone=ZONE | --region=REGION]
Para añadir una programación de escalado a un MIG con una política de autoescalado, usa el comando
gcloud compute instance-groups managed update-autoscaling
.gcloud compute instance-groups managed update-autoscaling MIG_NAME \ [--min-num-replicas=MIN_NUM_REPLICAS] \ [--max-num-replicas=MAX_NUM_REPLICAS] \ --set-schedule=SCHEDULE_NAME \ --schedule-cron="CRON_EXPRESSION" \ --schedule-duration-sec=DURATION \ [--schedule-time-zone="TIME_ZONE"] \ --schedule-min-required-replicas=MIN_REQ_REPLICAS \ [--schedule-description="DESCRIPTION"] \ [--zone=ZONE | --region=REGION]
Haz los cambios siguientes:
MIG_NAME
: el nombre de un MIG con una política de autoescalado.MIN_NUM_REPLICAS
: opcional. Número mínimo de instancias necesarias para este MIG. Google recomienda definir este valor como el número mínimo de instancias que necesitas cuando no hay ninguna programación de escalado activa. Para reducir tu MIG a cero instancias, asigna el valor0
y asegúrate de que se cumplen las condiciones necesarias.MAX_NUM_REPLICAS
: el número máximo de instancias que se pueden proporcionar para este MIG. Opcional para un MIG con una política de autoescalado.SCHEDULE_NAME
: el nombre de la nueva programación del escalado.CRON_EXPRESSION
: la hora de inicio y la recurrencia de esta programación con el formato de una expresión cron.DURATION
: la duración, en segundos, durante la que está activo este horario.TIME_ZONE
: opcional. La zona horaria de IANA de la hora de inicio de la programación. Por ejemplo,Europe/Paris
. El valor predeterminado esUTC
.MIN_REQ_REPLICAS
: número de instancias mínimas requeridas que proporciona esta programación cuando está activa.DESCRIPTION
: opcional, una descripción de la nueva programación de escalado.ZONE
oREGION
(opcional): la zona o la región en la que se encuentra tu MIG.
Puedes crear programaciones que se ejecuten una vez o que se repitan periódicamente.
Programación periódica
Este comando de ejemplo crea una programación que se repite. Esta programación especifica que quieres que tu MIG contenga al menos 10 instancias de VM todos los lunes, martes, miércoles, jueves y viernes de 8:30 a 17:00 (UTC). Este comando también usa las marcas
--min-num-replicas
y--max-num-replicas
para actualizar el número mínimo de instancias a 0 y el número máximo de instancias a 30 para todas las señales de autoescalado del MIG seleccionado. Este comando supone que tienes un MIG llamadoexample-mig
con una política de autoescalado.gcloud compute instance-groups managed update-autoscaling example-mig \ --min-num-replicas=0 \ --max-num-replicas=30 \ --set-schedule=workday-capacity \ --schedule-cron="30 8 * * Mon-Fri" \ --schedule-duration-sec=30600 \ --schedule-min-required-replicas=10 \ --schedule-description="Have at least 10 VMs every Monday through Friday from 8:30 AM to 5 PM UTC"
Programación única
Este comando de ejemplo crea una programación que se ejecuta una vez. Esta programación especifica que quieres que tu MIG contenga al menos 30 instancias de VM durante todo el día 30 de enero del 2030 en la zona horaria
America/New_York
. En este comando se presupone que tienes un MIG llamadoexample-mig
, que se encuentra enus-east1-b
y que tiene una política de autoescalado.gcloud compute instance-groups managed update-autoscaling example-mig \ --set-schedule=example-onetime-schedule \ --schedule-cron="0 0 30 1 * 2030" \ --schedule-duration-sec=86400 \ --schedule-time-zone="America/New_York" \ --schedule-min-required-replicas=30 \ --schedule-description="Schedule a minimum of 30 VMs all day for January 30, 2030" \ --zone=us-east1-b
Terraform
Para añadir una programación de escalado a un MIG, usa el recurso
google_compute_autoscaler
.Para saber cómo aplicar o quitar una configuración de Terraform, consulta Comandos básicos de Terraform.
REST
Para crear un escalador automático con programaciones de escalado para un MIG, usa el método
autoscalers.insert
para un MIG de zona o el métodoregionAutoscalers.insert
para un MIG regional.Haz la siguiente llamada para crear una programación para un MIG zonal que no tenga una política de autoescalado:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT/zones/ZONE/autoscalers/ { "name": "AUTOSCALER_NAME", "target": "https://www.googleapis.com/compute/v1/projects/PROJECT/zones/ZONE/instanceGroupManagers/MIG_NAME", "autoscalingPolicy": { "minNumReplicas": MIN_NUM_REPLICAS, "maxNumReplicas": MAX_NUM_REPLICAS, "scalingSchedules": { "SCHEDULE_NAME": { "minRequiredReplicas": MIN_REQ_REPLICAS, "schedule": "CRON_EXPRESSION", "timeZone": "TIME_ZONE", "durationSec": DURATION, "description": "DESCRIPTION" }, ... } } }
Para crear programaciones para un MIG que tenga una política de autoescalado, usa el método
autoscalers.patch
para un MIG zonal o el métodoregionAutoscalers.patch
para un MIG regional.Por ejemplo, haz la siguiente llamada para crear una programación para un MIG zonal que tenga una política de autoescalado:
PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT/zones/ZONE/autoscalers?autoscaler=AUTOSCALER_NAME { "autoscalingPolicy": { "minNumReplicas": MIN_NUM_REPLICAS, "maxNumReplicas": MAX_NUM_REPLICAS, "scalingSchedules": { "SCHEDULE_NAME": { "minRequiredReplicas": MIN_REQ_REPLICAS, "schedule": "CRON_EXPRESSION", "timeZone": "TIME_ZONE", "durationSec": DURATION, "description": "DESCRIPTION" }, ... } } }
Haz los cambios siguientes:
PROJECT
: tu ID de proyecto.ZONE
: la zona en la que se encuentra tu MIG.AUTOSCALER_NAME
: el nombre de un autoscalador. Suele ser el mismo que el nombre del MIG.MIN_NUM_REPLICAS
: opcional. Número mínimo de instancias necesarias para este MIG. Google recomienda definir este valor como el número mínimo de instancias que necesitas cuando no hay ninguna programación de escalado activa. Para reducir tu MIG a cero instancias, asigna el valor0
y asegúrate de que se cumplen las condiciones necesarias.MAX_NUM_REPLICAS
: el número máximo de instancias que se pueden proporcionar para este MIG. Opcional para un MIG con una política de autoescalado.SCHEDULE_NAME
: el nombre de la nueva programación del escalado.MIN_REQ_REPLICAS
: el número mínimo de instancias que proporciona esta programación cuando está activa.CRON_EXPRESSION
: la hora de inicio y la recurrencia de esta programación con el formato de una expresión cron.TIME_ZONE
: opcional. La zona horaria de IANA de la hora de inicio de la programación. Por ejemplo,Europe/Paris
. El valor predeterminado esUTC
.DURATION
: la duración, en segundos, durante la que está activo este horario.DESCRIPTION
: opcional, una descripción de la nueva programación de escalado.
Puedes crear programaciones que se ejecuten una vez o que se repitan periódicamente.
Programación periódica
Esta llamada a la API de ejemplo crea una programación que se repite. Esta programación especifica que quieres que un MIG zonal contenga al menos 10 instancias de VM todos los lunes, martes, miércoles, jueves y viernes de 8:30 a 17:00 (UTC). Esta llamada a la API también usa los campos
minNumReplicas
ymaxNumReplicas
para actualizar el número mínimo de instancias a 0 y el número máximo de instancias a 30 para todas las señales de autoescalado del MIG seleccionado. Esta llamada a la API presupone que tienes un proyecto llamadoexample-project
con un MIG zonal ubicado enus-east1-b
y que tiene un escalador automático llamadoexample-autoscaler
con una política de autoescalado.PATCH https://compute.googleapis.com/compute/v1/projects/example-project/zones/us-east1-b/autoscalers?autoscaler=example-autoscaler { "autoscalingPolicy": { "minNumReplicas": 0, "maxNumReplicas": 30, "scalingSchedules": { "workday-capacity": { "minRequiredReplicas": 10, "schedule": "30 8 * * Mon-Fri", "durationSec": 30600, "description": "Have at least 10 VMs every Monday through Friday from 8:30 AM to 5 PM UTC" } } } }
Para usar este ejemplo en un MIG regional, haz una solicitud similar con el método
regionAutoscalers.patch
y especifica una región en lugar de una zona.Programación única
Esta llamada a la API de ejemplo crea una programación que se ejecuta una vez. Esta programación especifica que quieres que un MIG zonal contenga al menos 30 instancias de VM durante todo el día 30 de enero del 2030 en la zona horaria
America/New_York
. Esta llamada a la API presupone que tienes un proyecto llamadoexample-project
con un MIG zonal ubicado enus-east1-b
y que tiene un escalador automático llamadoexample-autoscaler
con una política de autoescalado.PATCH https://compute.googleapis.com/compute/v1/projects/example-project/zones/us-east1-b/autoscalers?autoscaler=example-autoscaler { "autoscalingPolicy": { "scalingSchedules": { "example-onetime-schedule": { "minRequiredReplicas": 30, "schedule": "0 0 30 1 * 2030", "timeZone": "America/New_York", "durationSec": 86400, "description": "Schedule a minimum of 30 VMs all day for January 30, 2030" } } } }
Para usar este ejemplo en un MIG regional, haz una solicitud similar con el método
regionAutoscalers.patch
y especifica una región en lugar de una zona.Varias programaciones
En esta llamada de ejemplo a la API se usa el método
autoscalers.patch
para dos programaciones,workday-capacity
yjanuary-30-2030-schedule
, en una sola llamada. Esta llamada a la API presupone que tienes un proyecto llamadoexample-project
con un MIG zonal ubicado enus-east1-b
y un escalador automático llamadoexample-autoscaler
con una política de autoescalado.PATCH https://compute.googleapis.com/compute/v1/projects/example-project/zones/us-east1-b/autoscalers?autoscaler=example-autoscaler { "autoscalingPolicy": { "scalingSchedules": { "workday-capacity": { "minRequiredReplicas": 10, "schedule": "30 8 * * Mon-Fri", "durationSec": 30600, "description": "Have at least 10 VMs every Monday through Friday from 8:30 AM to 5 PM UTC" }, "january-30-2030-schedule": { "minRequiredReplicas": 30, "schedule": "0 0 30 1 * 2030", "timeZone": "America/New_York", "durationSec": 86400, "description": "Schedule a minimum of 30 VMs all day for January 30, 2030" } } } }
Para usar este ejemplo en un MIG regional, haz una solicitud similar con el método
regionAutoscalers.patch
y especifica una región en lugar de una zona.Una vez que hayas creado una programación, puede que tengas que esperar unos minutos para ver su información de estado.
Consultar las programaciones de escalado
Puedes ver una lista de las programaciones de un MIG. En la lista se muestran los ajustes y la información de estado de cada programación.
Consola
En la consola, ve a la página Grupos de instancias. Google Cloud
Haga clic en el nombre de un MIG de la lista.
En la pestaña Resumen, la sección Escalado automático muestra las señales configuradas en el MIG.
Junto a la información de la señal, coloca el puntero sobre el icono
y, a continuación, haz clic en Gestionar.En el panel Programaciones de escalado se muestra la lista de las programaciones de escalado que ya tiene.
gcloud
Para obtener información sobre un MIG, incluidas las configuraciones y los estados de sus programaciones de escalado, usa el comando
gcloud compute instance-groups managed describe
.gcloud compute instance-groups managed describe MIG_NAME \ [--zone=ZONE | --region=REGION]
Haz los cambios siguientes:
MIG_NAME
: el nombre de un MIG con una política de autoescalado.ZONE
oREGION
(opcional): la zona o la región en la que se encuentra tu MIG.
En el resultado se muestran las programaciones de escalado de tu MIG, como se muestra en el siguiente ejemplo.
... autoscalingPolicy: ... maxNumReplicas: 30 minNumReplicas: 0 ... scalingSchedules: example-onetime-schedule: description: Schedule a minimum of 30 VMs all day for January 30, 2030 disabled: false durationSec: 86400 minRequiredReplicas: 30 schedule: 0 0 30 1 * 2030 timeZone: America/New_York workday-capacity: description: Have at least 10 VMs every Monday through Friday from 8:30 AM to 5 PM UTC disabled: false durationSec: 30600 minRequiredReplicas: 10 schedule: 30 8 * * Mon-Fri timeZone: UTC ... scheduledScalingStatus: example-onetime-schedule: state: READY nextStartTime: '2030-01-30T00:00:00.000-05:00' lastStartTime: '' workday-capacity: state: READY nextStartTime: '2020-11-04T08:30:00.000-00:00' lastStartTime: '2020-11-03T08:30:00.000-00:00' ...
REST
Para obtener información sobre un escalador automático, incluidas las configuraciones y los estados de sus programaciones de escalado, utiliza el método
autoscalers.get
para un MIG zonal o el métodoregionAutoscalers.get
para un MIG regional.Por ejemplo, haz la siguiente llamada para enumerar las programaciones de un MIG zonal que tenga una política de autoescalado:
GET https://compute.googleapis.com/compute/v1/projects/PROJECT/zones/ZONE/autoscalers?autoscaler=AUTOSCALER_NAME
Haz los cambios siguientes:
PROJECT
: tu ID de proyecto.ZONE
: la zona en la que se encuentra tu MIG.AUTOSCALER_NAME
: el nombre de un autoscalador. Suele ser el mismo que el nombre del MIG.
En el resultado se muestran las programaciones de escalado de tu MIG, como se muestra en el siguiente ejemplo.
{ ... "autoscalingPolicy": { ... "minNumReplicas": 0, "maxNumReplicas": 30, ... "scalingSchedules": { "example-onetime-schedule": { "minRequiredReplicas": 30, "schedule": "0 0 30 1 * 2030", "timeZone": "America/New_York", "durationSec": 86400, "description": "Schedule a minimum of 30 VMs all day for January 30, 2030", "disabled": false }, "workday-capacity": { "minRequiredReplicas": 10, "schedule": "30 8 * * Mon-Fri", "timeZone": "", "durationSec": 30600, "description": "Have at least 10 VMs every Monday through Friday from 8:30 AM to 5 PM UTC", "disabled": false }, ... } }, "scheduledScalingStatus": { "example-onetime-schedule": { "state": "READY", "nextStartTime": "2030-01-30T00:00:00.000-05:00", "lastStartTime": '' }, "workday-capacity": { "state": "READY", "nextStartTime": "2020-11-04T08:30:00.000", "lastStartTime": "2020-11-03T08:30:00.000" }, ... }, ... }
Editar una programación de escalado
Puedes editar una programación de escalado que ya tengas para cambiar cualquiera de sus ajustes excepto el nombre de la programación. También puedes inhabilitar o volver a habilitar una programación de escalado.
Consola
En la consola, ve a la página Grupos de instancias. Google Cloud
Haga clic en el nombre de un MIG de la lista.
Haz clic en Editar.
Haga clic en Tamaño del grupo y escalado automático para desplegar la sección.
En la sección Programaciones de escalado automático, haz clic en Gestionar.
En el panel Programaciones de escalado se muestra la lista de las programaciones de escalado que ya tiene.
Seleccione la casilla de la programación de escalado que quiera editar.
En la parte superior del panel Escalas programadas, haz clic en Editar.
En el panel Editar programación de escalado, modifica los campos que quieras cambiar. Para obtener más información sobre cada campo, consulta Crear una programación de escalado.
Cuando hayas terminado, haz clic en Guardar.
Es posible que tengas que esperar unos minutos para que los cambios se apliquen. Para monitorizar el estado de tus programaciones, haz clic en
Actualizar en la parte superior del panel Programaciones de escalado.Cierra el panel Programaciones de escalado haciendo clic en Hecho.
Los cambios en las programaciones se guardan y se aplican a tu MIG.
Haz clic en Guardar para salir de la página de edición.
gcloud
Para actualizar una programación de escalado, usa el comando
gcloud compute instance-groups managed update-autoscaling
. Usa la marca--update-schedule
para indicar el nombre de la programación que quieres actualizar. Incluye las demás marcas según sea necesario para tus cambios.gcloud compute instance-groups managed update-autoscaling MIG_NAME \ --update-schedule=SCHEDULE_NAME \ [--schedule-cron="CRON_EXPRESSION"] \ [--schedule-duration-sec=DURATION] \ [--schedule-time-zone="TIME_ZONE"] \ [--schedule-min-required-replicas=MIN_REQ_REPLICAS] \ [--schedule-description="DESCRIPTION"] \ [--zone=ZONE | --region=REGION]
Haz los cambios siguientes:
MIG_NAME
: el nombre de un MIG con una programación de escalado.SCHEDULE_NAME
: el nombre de la programación de escalado.CRON_EXPRESSION
: opcional: la nueva hora de inicio y la recurrencia de esta programación con el formato de una expresión cron.DURATION
: opcional. Es la nueva duración, en segundos, durante la que está activo esta programación.TIME_ZONE
: opcional. La nueva zona horaria de IANA de la hora de inicio de la programación. Por ejemplo,Europe/Paris
. El valor predeterminado esUTC
.MIN_REQ_REPLICAS
: opcional. Es el nuevo número de instancias mínimas requeridas que proporciona esta programación cuando está activa.DESCRIPTION
: opcional: una nueva descripción de la programación de escalado.ZONE
oREGION
(opcional): la zona o la región en la que se encuentra tu MIG.
REST
.Para actualizar las programaciones de escalado de un MIG, usa el método
autoscalers.patch
para un MIG zonal o el métodoregionAutoscalers.patch
para un MIG regional.Por ejemplo, haz la siguiente llamada para editar una programación de un MIG zonal que tenga una política de autoescalado:
PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT/zones/ZONE/autoscalers?autoscaler=AUTOSCALER_NAME { "autoscalingPolicy": { "scalingSchedules": { "SCHEDULE_NAME": { "minRequiredReplicas": MIN_REQ_REPLICAS, "schedule": "CRON_EXPRESSION", "timeZone": "TIME_ZONE", "durationSec": DURATION, "description": "DESCRIPTION" }, ... } } }
Haz los cambios siguientes:
PROJECT
: tu ID de proyecto.ZONE
: la zona en la que se encuentra tu MIG.AUTOSCALER_NAME
: el nombre de un autoscalador. Suele ser el mismo que el nombre del MIG.SCHEDULE_NAME
: el nombre de la programación de escalado.MIN_REQ_REPLICAS
: opcional. Es el nuevo número de instancias mínimas requeridas que proporciona esta programación cuando está activa.CRON_EXPRESSION
: opcional: la nueva hora de inicio y la recurrencia de esta programación con el formato de una expresión cron.TIME_ZONE
: opcional. La nueva zona horaria de IANA de la hora de inicio de la programación. Por ejemplo,Europe/Paris
. El valor predeterminado esUTC
.DURATION
: opcional. Es la nueva duración, en segundos, durante la que está activo esta programación.DESCRIPTION
: opcional: una nueva descripción de la programación de escalado.
Inhabilitar y volver a habilitar una programación de escalado
Las programaciones de escalado están habilitadas de forma predeterminada. Inhabilita una programación si quieres evitar que esté activa, pero quieres guardar su configuración. Vuelve a habilitar una programación inhabilitada cuando quieras volver a usarla.
Si no necesitas almacenar la programación o has alcanzado el límite de 128 programaciones para este MIG, elimina la programación. Si quieres inhabilitar el autoescalado de un MIG, desactívalo.
Consola
En la consola, ve a la página Grupos de instancias. Google Cloud
Haga clic en el nombre de un MIG de la lista.
Haz clic en Editar.
Haga clic en Tamaño del grupo y escalado automático para desplegar la sección.
En la sección Programaciones de escalado automático, haz clic en Gestionar.
En el panel Programaciones de escalado se muestra la lista de las programaciones de escalado que ya tiene.
Seleccione las casillas de las programaciones de escalado que quiera inhabilitar o habilitar.
Para inhabilitar las programaciones seleccionadas, sigue estos pasos:
- En la parte superior del panel Escalas, haz clic en Inhabilitar.
- En el cuadro de diálogo Inhabilitar programaciones, haz clic en Inhabilitar.
Para habilitar las programaciones seleccionadas, sigue estos pasos:
- En la parte superior del panel Escalas, haz clic en Habilitar.
- En el cuadro de diálogo Habilitar programaciones, haga clic en Habilitar.
Es posible que tengas que esperar unos minutos para que los cambios se apliquen. Para monitorizar el estado de tus programaciones, haz clic en
Actualizar en la parte superior del panel Programaciones de escalado.Cierra el panel Programaciones de escalado haciendo clic en Hecho.
Los cambios en las programaciones se guardan y se aplican a tu MIG.
Haz clic en Guardar para salir de la página de edición.
gcloud
Para inhabilitar o volver a habilitar una programación de escalado, usa el comando
gcloud compute instance-groups managed update-autoscaling
.Inhabilitar una programación de escalado
Para inhabilitar una programación de escalado, usa la marca
--disable-schedule
.gcloud compute instance-groups managed update-autoscaling MIG_NAME \ --disable-schedule=SCHEDULE_NAME \ [--zone=ZONE | --region=REGION]
Haz los cambios siguientes:
MIG_NAME
: el nombre de un MIG con una programación de escalado.SCHEDULE_NAME
: el nombre de la programación de escalado que quieras inhabilitar.ZONE
oREGION
(opcional): la zona o la región en la que se encuentra tu MIG.
Volver a habilitar una programación de escalado
Para volver a habilitar una programación de escalado, usa la marca
--enable-schedule
.gcloud compute instance-groups managed update-autoscaling MIG_NAME \ --enable-schedule=SCHEDULE_NAME \ [--zone=ZONE | --region=REGION]
Haz los cambios siguientes:
MIG_NAME
: el nombre de un MIG con una programación de escalado.SCHEDULE_NAME
: el nombre de la programación de escalado que quieras volver a habilitar.ZONE
oREGION
(opcional): la zona o la región en la que se encuentra tu MIG.
REST
Para inhabilitar o volver a habilitar las programaciones de escalado de un MIG, utiliza el método
autoscalers.patch
de un MIG zonal o el métodoregionAutoscalers.patch
de un MIG regional.Inhabilitar programaciones de escalado
En cada programación de escalado que quieras inhabilitar, asigna el valor
true
al campodisabled
. Por ejemplo, haz la siguiente llamada para inhabilitar una programación de un MIG zonal que tenga una política de autoescalado:PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT/zones/ZONE/autoscalers?autoscaler=AUTOSCALER_NAME { "autoscalingPolicy": { "scalingSchedules": { "SCHEDULE_NAME": { "disabled": true }, ... } } }
Haz los cambios siguientes:
PROJECT
: tu ID de proyecto.ZONE
: la zona en la que se encuentra tu MIG.AUTOSCALER_NAME
: el nombre de un autoscalador. Suele ser el mismo que el nombre del MIG.SCHEDULE_NAME
: el nombre de la programación de escalado que quieras inhabilitar.
Volver a habilitar programaciones de escalado
En cada programación de escalado que quieras volver a habilitar, define el campo
disabled
comofalse
. Por ejemplo, haz la siguiente llamada para volver a habilitar una programación de un MIG zonal que tenga una política de autoescalado:PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT/zones/ZONE/autoscalers?autoscaler=AUTOSCALER_NAME { "autoscalingPolicy": { "scalingSchedules": { "SCHEDULE_NAME": { "disabled": false }, ... } } }
Haz los cambios siguientes:
PROJECT
: tu ID de proyecto.ZONE
: la zona en la que se encuentra tu MIG.AUTOSCALER_NAME
: el nombre de un autoscalador. Suele ser el mismo que el nombre del MIG.SCHEDULE_NAME
: el nombre de la programación de escalado que quieras volver a habilitar.
Eliminar una programación de escalado
Elimina las programaciones de escalado de un MIG. Elimina las programaciones que ya no necesites, como las que tengan el
OBSOLETE
estado.Una política de autoescalado siempre debe tener al menos una señal de escalado. Si no hay otra señal de autoescalado, no puedes eliminar todas las programaciones de escalado sin eliminar toda la política de autoescalado. Si quieres eliminar todas las programaciones de escalado, pero mantener la política de autoescalado, debes añadir al menos una señal de escalado antes de eliminar todas las programaciones.
Si quieres evitar que una programación se active y guardarla para usarla más adelante, inhabilítala. Si quieres eliminar la configuración de autoescalado de un MIG, elimina el escalador automático.
Consola
En la consola, ve a la página Grupos de instancias. Google Cloud
Haga clic en el nombre de un MIG de la lista.
Haz clic en Editar.
Haga clic en Tamaño del grupo y escalado automático para desplegar la sección.
En la sección Programaciones de escalado automático, haz clic en Gestionar.
En el panel Programaciones de escalado se muestra la lista de las programaciones de escalado que ya tiene.
- Seleccione las casillas de las programaciones de escalado que quiera eliminar.
- En la parte superior del panel Programaciones de escalado, haz clic en Eliminar.
En el cuadro de diálogo Eliminar programaciones, escribe
delete
y, a continuación, haz clic en Eliminar.Es posible que tengas que esperar unos minutos para que los cambios se apliquen. Para monitorizar el estado de tus programaciones, haz clic en
Actualizar en la parte superior del panel Programaciones de escalado.Cierra el panel Programaciones de escalado haciendo clic en Hecho.
Los cambios en las programaciones se guardan y se aplican a tu MIG.
Haz clic en Guardar para salir de la página de edición.
gcloud
Para eliminar una programación de escalado, usa el comando
gcloud compute instance-groups managed update-autoscaling
con la marca--remove-schedule
.gcloud compute instance-groups managed update-autoscaling MIG_NAME \ --remove-schedule=SCHEDULE_NAME \ [--zone=ZONE | --region=REGION]
Haz los cambios siguientes:
MIG_NAME
: el nombre de un MIG con una programación de escalado.SCHEDULE_NAME
: el nombre de la programación de escalado que quieras eliminar.ZONE
oREGION
(opcional): la zona o la región en la que se encuentra tu MIG.
REST
Para eliminar programaciones de escalado de un MIG, usa el método
autoscalers.patch
para un MIG zonal o el métodoregionAutoscalers.patch
para un MIG regional. En cada programación de escalado que quieras eliminar, configura la programación comonull
Por ejemplo, haz la siguiente llamada para eliminar una programación de un MIG zonal que tenga una política de autoescalado:
PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT/zones/ZONE/autoscalers?autoscaler=AUTOSCALER_NAME { "autoscalingPolicy": { "scalingSchedules": { "SCHEDULE_NAME": null ... } } }
Haz los cambios siguientes:
PROJECT
: tu ID de proyecto.ZONE
: la zona en la que se encuentra tu MIG.AUTOSCALER_NAME
: el nombre de un autoscalador. Suele ser el mismo que el nombre del MIG.SCHEDULE_NAME
: el nombre de la programación de escalado que quieras eliminar.
Conceptos
En esta sección se describen los conceptos relacionados con la creación y el uso de programaciones de escalado, incluidos los ajustes de programación y los detalles sobre cómo funcionan.
Ajustes de la programación de escalado
Cuando creas y modificas las programaciones de escalado de un MIG, cada programación de escalado contiene los siguientes ajustes:
Número mínimo de instancias requeridas: el número de máquinas virtuales que necesitas en el MIG cuando esta programación de escalado esté activa.
Cuando esta programación esté activa, el MIG tendrá al menos este número de VMs, pero puede tener más en función de otros ajustes de autoescalado. Además, el tamaño del MIG siempre está limitado por el número mínimo y máximo de instancias configuradas en los ajustes de autoescalado del MIG.
Zona horaria: la zona horaria IANA basada en la ubicación para interpretar la hora de inicio de la programación.
La lista de valores disponibles se define en la base de datos de zonas horarias de IANA (por ejemplo,
Europe/Paris
). Si no se proporciona ninguna zona horaria, se usaUTC
de forma predeterminada. Algunas zonas horarias de IANA aplican el horario de verano. Para saber cómo afecta el horario de verano a las programaciones de escalado, consulta Horario de verano.Duración: el tiempo que quiere que esté activa la programación de escalado.
La programación de escalado está activa desde la hora de inicio durante el periodo configurado. La duración mínima es de 5 minutos. Durante este tiempo, el escalador automático ajusta el MIG para que tenga al menos tantas VMs como las definidas en las instancias obligatorias de la programación. Una vez transcurrido el periodo especificado, si ya no se necesita la capacidad actual, el escalador automático empezará a eliminar instancias de VM tras un periodo de estabilización de 10 minutos predeterminado y después de aplicar los controles de reducción configurados.
Las programaciones de escalado son bidireccionales. Las VMs se eliminan a la hora de parada que especifiques y el tamaño del grupo se reduce al tamaño mínimo que hayas definido, a menos que hayas especificado otras señales de autoescalado.
Cuando utilices Google Cloud CLI o REST, debes configurar la hora de inicio y la periodicidad de una programación de escalado mediante una expresión cron. Sin embargo, cuando se usa la consola Google Cloud , puedes configurar la hora de inicio y la periodicidad de una programación mediante una expresión cron o con los siguientes ajustes:
Hora de inicio: la hora del día en la que quieres que se active la programación de escalado.
A la hora de inicio, la programación de escalado empieza a crear VMs siempre que el tamaño del MIG sea inferior a las instancias necesarias de la programación. Define la hora de inicio para que las nuevas VMs tengan tiempo suficiente para arrancar e inicializarse. Por ejemplo, si tu carga de trabajo tarda 10 minutos desde la creación de la VM en empezar a publicar anuncios, define la hora de inicio 10 minutos antes de la hora a la que necesites que las VMs estén listas.
Recurrencia: si la programación de escalado se repite y con qué frecuencia, según las siguientes opciones:
- Una vez: una programación única que se inicia solo en la fecha seleccionada.
- Todos los días: una programación repetitiva que empieza todos los días.
- Todas las semanas: una programación periódica que empieza todas las semanas los días seleccionados. Por ejemplo, de lunes a viernes.
- Todos los meses: una programación periódica que empieza todos los meses en los días del mes seleccionados (por ejemplo, el primer día de cada mes). Los últimos días del mes (del 29 al 31) solo son efectivos durante los meses en los que se dan esos días.
Expresiones cron
La hora de inicio y la periodicidad de una programación de escalado se pueden configurar mediante una expresión cron. Cron es un programador de tareas basado en el tiempo que se usaba originalmente en sistemas operativos de ordenadores similares a Unix.
Sintaxis
Una expresión cron es una cadena que consta de cinco o seis campos separados por espacios. En la siguiente tabla se definen los campos de una expresión cron y los valores posibles de cada campo.
Minuto Hora Día del mes Mes Día de la semana Año (opcional) 0-59 0-23 1-31 1-12 (ene.-dic.)
donde1
=Jan
,2
=Feb
, ...12
=Dec
0-6 (de domingo a sábado) o 1-7 (de lunes a domingo)
donde0
=Sun
,1
=Mon
, ...6
=Sat
,7
=Sun
2000-2036
o cada año (*
) si no se proporcionaAdemás de usar estos valores, cada campo de una expresión cron también puede usar caracteres especiales:
Carácter especial Significado Ejemplo *
Cualquiera. Si los campos del día del mes, del día de la semana y del año (si se incluye) se definen como *
, la programación se inicia todos los días.-
intervalo Si el campo del día de la semana se define como 1-5
oMon-Fri
, la programación se inicia de lunes a viernes todas las semanas.,
list Si el campo del mes se define como 5,7,9
oMay,Jul,Sep
, la programación se inicia en mayo, julio y septiembre./
paso Si el campo del mes se define como */3
, la programación empieza durante el primer mes y cada tres meses después: enero, abril, julio y octubre.Cuando escribas una expresión cron, ten en cuenta lo siguiente:
- Los espacios en blanco se usan para separar los campos de una expresión cron. Recuerda que no debes añadir espacios en blanco adicionales en un campo que utilice caracteres especiales.
- Si especifica tanto un día de la semana como un día del mes (cuando ninguno de los campos se ha definido como
*
), la programación usará la unión de estos valores, no la intersección. Por ejemplo, la programación0 8 1 * Mon
empieza a las 8:00 todos los lunes y el primer día de cada mes. Esa programación no empieza a las 8:00 solo los lunes que también sean el primer día del mes. - Puedes usar cero o más caracteres especiales en cada campo de una expresión cron.
Por ejemplo, si quieres que una programación se inicie todos los meses excepto mayo, puedes definir el campo de mes como
1-4,6-12
(una lista de dos intervalos sin espacios en blanco). - Cuando se usan intervalos (
-
), no se pueden usar0-7
niSun-Sun
en el campo del día de la semana. Para especificar todos los días de la semana, usa*
,0-6
,1-7
,Sun-Sat
oMon-Sun
. - Cuando uses pasos (
/
), recuerda que las expresiones cron no tienen estado, por lo que los pasos pueden ser desiguales. Por ejemplo, si quieres que una programación se ejecute cada 6 horas, puedes definir el campo de horas como*/6
, que funciona igual que si se enumeraran todos los múltiplos de 6 válidos (0,6,12,18
). Los pasos son iguales porque las 24 horas se dividen en partes de 6 horas. Sin embargo, si asignas el valor*/7
al campo de horas, la programación no siempre se iniciará en intervalos de 7 horas. En su lugar,*/7
se comporta igual que si se enumeraran todos los múltiplos de 7 válidos (0,7,14,21
), lo que significa que la programación puede empezar a las 00:00, las 07:00, las 14:00 y las 21:00.
Programaciones periódicas y programaciones únicas
En función de cómo escribas la expresión cron, tu programación se ejecutará una vez o se repetirá periódicamente. Para crear una programación que solo se ejecute una vez, debes especificar el campo del año. Por ejemplo, la expresión cron
0 0 30 1 * 2030
configura una programación para que se inicie solo una vez, a medianoche del 30 de enero del 2030. Para crear una programación que se repita, usa caracteres especiales para describir cuándo debe repetirse. Por ejemplo, la expresión cron30 8 * * Mon-Fri
configura una programación para que empiece a las 8:30 todos los lunes, martes, miércoles, jueves y viernes.Información sobre el estado de la programación
Enumera tus programaciones de escalado para ver su estado. Una programación de escalado tiene la siguiente información de estado:
- Estado (
state
): estado actual de la programación de escalado, representado por uno de los siguientes estados:- Lista (
READY
): esta programación está lista, pero aún no está activa. La herramienta de escalado automático está esperando la próxima vez que se produzca esta programación. - Activa (
ACTIVE
): esta programación está activa. El escalador automático intenta proporcionar a este MIG al menos las instancias necesarias que especifica esta programación. - Obsoleto (
OBSOLETE
): esta programación ha caducado y no volverá a estar activa. El escalador automático está ignorando esta programación porque no hay ocurrencias futuras. - Inhabilitada (
DISABLED
): esta programación no puede estar activa porque se ha inhabilitado manualmente. El escalador automático ignorará esta programación hasta que se vuelva a habilitar.
- Lista (
- Última vez que se ha producido (
lastStartTime
): marca de tiempo de la última vez que se activó esta programación de escalado. Esta es la fecha y la hora reales de la última activación. Por ejemplo, si tienes una programación de escalado inhabilitada con una recurrencia diaria, una hora de inicio a las 10:00 y una duración de 2 horas, y vuelves a habilitar la programación a las 11:00 de hoy, lalastStartTime
será a las 11:00 de hoy. - Próxima ocurrencia (
nextStartTime
): marca de tiempo de la próxima vez que se active esta programación.
Programaciones que se solapan
En función de la hora de inicio, la periodicidad, la duración y la zona horaria, es posible que se solapen dos o más programaciones de escalado. Cuando hay más de una agenda activa, el autoescalador usa el mayor número de instancias de VM necesarias de todas las agendas de escalado activas. De esta forma, te aseguras de que siempre haya capacidad suficiente para satisfacer las necesidades de cualquier programación activa. Por ejemplo, si tienes una programación que se repite todos los días de 8:00 a 10:00 y que requiere al menos 10 VMs, pero también tienes una programación única de todo el día que requiere al menos 20 VMs, la herramienta de escalado automático escala el MIG a al menos 20 VMs ese día. Esto resulta útil cuando tienes requisitos de capacidad periódicos, pero a veces necesitas más para gestionar eventos puntuales. Este comportamiento te permite programar la capacidad sin preocuparte de que otros programas con requisitos de VM más pequeños la anulen.
Además, una herramienta de escalado automático siempre proporciona el mayor número de instancias de VM que requiera cualquier señal de escalado automático activa. Para obtener más información, consulta Usar una política de autoescalado con varias señales.
Horario de verano
Los detalles del horario de verano varían en función de la zona horaria IANA basada en la ubicación de tu programación de escalado. Si la zona horaria de tu programación aplica el horario de verano, la hora de inicio de la programación se ajustará automáticamente para mantenerse sincronizada con la hora de la ubicación seleccionada. Por ejemplo, si creas una programación de escalado que empiece todos los días a las 7:00 en la zona horaria
America/New_York
, esta programación se iniciará cuando sean las 7:00 en Nueva York, según la hora de verano del este o la hora estándar del este.Las programaciones de escalado siempre se ejecutan durante todo el periodo que configures, pero pueden tener horas de inicio y finalización ligeramente diferentes los días en los que se cambia al horario de verano. Esto ocurre porque los cambios de horario de verano tienen periodos de transición: un periodo que se omite el primer día del horario de verano y que se produce dos veces el último día. Por ejemplo, si el horario de verano de tu zona horaria empieza a las 2:00 y tiene una transición de 1 hora, el reloj cambia de las 1:59:59 a las 3:00, por lo que se omite el periodo comprendido entre las 2:00 y las 2:59:59. Si el horario de verano de esa zona horaria termina a las 2:00, el reloj cambia de las 2:59:59 a las 2:00, por lo que el periodo comprendido entre las 2:00 y las 2:59:59 se repite. En las siguientes instrucciones se da por supuesto que la zona horaria de tu programación usa una transición de 1 hora al horario de verano.
El primer día del horario de verano (cuando se salta una hora), las programaciones de escalado experimentan los siguientes cambios:
- Las programaciones que estén activas durante la hora que se salta seguirán ejecutándose durante toda su duración, pero, para compensar la hora que se salta, estas programaciones finalizarán una hora más tarde que su hora de finalización en los días sin cambios de horario. Normalmente, la hora de finalización de una programación es la suma de la hora de inicio y la duración de la programación. Sin embargo, si el horario de verano se adelanta una hora mientras una programación está activa y la duración y la hora de inicio se mantienen constantes, la hora de finalización de esa programación será una hora más que la suma de la hora de inicio y la duración de la programación.
- Las programaciones configuradas para que se inicien durante la hora que se ha saltado también se inician una hora más tarde de lo que estaba previsto los días en los que no se cambia al horario de verano.
El último día del horario de verano (cuando se repite una hora), los horarios de escalado experimentan los siguientes cambios:
- Las programaciones que estén activas durante la hora repetida seguirán ejecutándose durante toda su duración, pero, para compensar la hora repetida, estas programaciones finalizarán una hora antes de la hora de finalización de los días sin cambios de horario. Normalmente, la hora de finalización de una programación es la suma de la hora de inicio y la duración de la programación. Sin embargo, si el horario de verano se repite una hora mientras una programación está activa y la duración y la hora de inicio se mantienen constantes, la hora de finalización de esa programación será una hora menos que la suma de la hora de inicio y la duración de la programación.
- Las programaciones que se configuran para que se inicien durante el periodo de transición se inician a la hora configurada, pero no se reinician durante la segunda repetición de la hora de inicio.
La mayoría de las zonas horarias que aplican el horario de verano usan un periodo de transición de una hora. Sin embargo, si la zona horaria de tu programación usa un periodo de transición diferente (por ejemplo, la zona horaria
Australia/Lord_Howe
, que usa transiciones de 30 minutos), puedes esperar el mismo comportamiento. Solo tienes que sustituir 1 hour por la hora de transición al horario de verano correspondiente.Siguientes pasos
- Consulta información sobre cómo usar una política de autoescalado con varias señales.
- Consulta información sobre cómo gestionar escaladores automáticos.
- Consulta información sobre cómo entender las decisiones de las herramientas de adaptación dinámica.
- Consulta cómo autoescalar MIGs en función de otros tipos de señales de autoescalado:
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-09-12 (UTC).
-