Limita el entorno de ejecución de una VM
Organiza tus páginas con colecciones
Guarda y categoriza el contenido según tus preferencias.
En este documento, se explica cómo limitar el tiempo de ejecución de las instancias de máquina virtual (VM) nuevas o existentes, y cómo supervisar el tiempo de ejecución de esas VMs. En el caso de los grupos de instancias administrados (MIG), consulta Limita el tiempo de ejecución de un MIG.
Cuando limitas el tiempo de ejecución de una VM, puedes programarla para que se finalice de forma automática (detenida o borre) cuando alcance un límite de tiempo específico (duración o tiempo).
Usa límites de tiempo para optimizar las cargas de trabajo temporales: si limitas de forma automática los tiempos de ejecución de las VMs, puedes minimizar los costos y liberar cuotas.
Si deseas obtener más información para detener una VM de inmediato, consulta Detén o reinicia una VM.
Si deseas obtener información para borrar una VM de inmediato, consulta Borra una VM.
Si aún no lo hiciste, configura la autenticación.
La autenticación verifica tu identidad para acceder a los servicios y las APIs de Google Cloud . 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
Instala Google Cloud CLI.
Después de la instalación,
inicializa Google Cloud CLI con el siguiente comando:
Para usar las muestras de la API de REST incluidas en esta página en un entorno de desarrollo local,
debes usar las credenciales que proporciones a la gcloud CLI.
Para obtener más información, consulta
Autentícate para usar REST
en la documentación de autenticación de Google Cloud .
Restricciones
Limitar el tiempo de ejecución de una VM tiene las siguientes restricciones:
La acción de finalización automática debe ser detener o borrar. No puedes configurar una VM para que se suspenda automáticamente cuando se alcance el límite de tiempo.
El límite de tiempo mínimo es de 30 segundos y el máximo es de 120 días.
La finalización automática puede tardar hasta 30 segundos más tiempo que la duración o el tiempo que especificas para comenzar a detener o borrar la VM.
Los datos de SSD locales de una VM no se pueden conservar cuando la VM se detiene automáticamente debido a un límite de tiempo. Para obtener más información, consulta Detén una VM con SSD local.
Limita el entorno de ejecución de una VM nueva
En las siguientes secciones, se describe cómo configurar un límite de tiempo mientras se crea una VM nueva. Puedes especificar el límite de tiempo, que es el momento en el que deseas que se finalice automáticamente una VM, como una duración (maxRunDuration) o una hora (terminationTime).
Cuando decidas el tipo de límite de tiempo para una VM, ten en cuenta que la VM podría interrumpirse, por ejemplo, por una solicitud del usuario o por un evento de host.
El comportamiento de un límite de tiempo varía según el tipo de interrupción y el tipo de límite de tiempo:
La marca de tiempo de finalización (terminationTimestamp) de una VM es un campo de solo lectura que representa la hora planificada para la finalización automática y Compute Engine la define automáticamente cada vez que una VM tiene un límite de tiempo y entra en el estado RUNNING.
La marca de tiempo de finalización se borra automáticamente cada vez que se detiene o suspende una VM.
Sin embargo, la marca de tiempo de finalización no cambia cuando restableces o reinicias la VM.
La marca de tiempo de finalización se redefine automáticamente cada vez que se reinicia o reanuda la VM según el tipo de límite de tiempo que establezcas:
Si estableces una duración para la VM, la marca de tiempo de finalización se vuelve a calcular agregando esa duración a la hora de inicio más reciente de la VM.
Si estableces una hora para la VM, la marca de tiempo de finalización se establece en esa hora. Sin embargo, la hora debe ser futura. De lo contrario, fallarán todas las solicitudes para crear o volver a ejecutar la VM hasta que actualices o quites la hora.
Establece una duración
Una duración representa el tiempo de ejecución total que deseas para una VM.
Para crear una VM que finalice de forma automática después de que la VM se ejecute durante un período específico, usa la Google Cloud consola, Google Cloud CLI, Terraform o la API de Compute Engine.
Console
En la consola de Google Cloud , ve a la página Crear una instancia.
En la sección Políticas de disponibilidad, expande Configuración avanzada del modelo de aprovisionamiento de VM.
Selecciona la casilla de verificación Establece un límite de tiempo para la VM.
Aparecerá el campo Tipo de límite de tiempo.
En el campo Tipo de límite de tiempo, selecciona Por horas (predeterminado) para especificar el límite de tiempo como una duración.
En el siguiente campo, ingresa la duración en horas.
En la lista Cuando se finaliza la VM, selecciona lo que sucede cuando el entorno de ejecución de la VM alcanza el límite de tiempo especificado:
Para detener la VM de forma automática, selecciona Detener (predeterminado).
Si la VM tiene SSD locales y la acción de terminación (TERMINATION_ACTION) es de detención (STOP), debes incluir la marca --discard-local-ssds-at-termination-timestamp=true.
De lo contrario, omite la marca --discard-local-ssds-at-termination-timestamp.
DURATION: La duración que quieres que ejecute esta VM antes de que se finalice de forma automática. Formatea la duración en forma de la cantidad de días, horas, minutos y segundos seguidos de d, h, m y s, respectivamente. Por ejemplo, especifica 30m para una duración de 30 minutos o especifica 1d2h3m4s para una duración de 1 día, 2 horas, 3 minutos y 4 segundos. La duración mínima es de 30 segundos (30s) y la máxima es de 120 días (120d).
TERMINATION_ACTION: La acción de finalización de esta VM, que puede ser de detención (STOP) o eliminación (DELETE). Ya sea que este campo sea obligatorio o que tenga un valor predeterminado, varíe en el modelo de aprovisionamiento de la VM:
Si se trata de una VM Spot (si la VM usa la marca --provisioning-model=SPOT), la marca --instance-termination-action=TERMINATION_ACTION es opcional. Si se omite esta marca, se detiene la acción de finalización predeterminada.
De lo contrario, se requiere la marca --instance-termination-action=TERMINATION_ACTION (predeterminada).
Para crear una VM con Terraform, usa el recurso google_compute_instance.
Para crear una VM que finalice de forma automática después de un período específico, debes incluir el
max_run_duration argumento.
Si deseas especificar la acción de finalización, incluye el argumento instance_termination_action.
Debes incluir el argumento instance_termination_action, a menos que estés creando una VM Spot (configura el argumento provisioning_model en SPOT), que se detiene de forma predeterminada (STOP).
Si la VM tiene SSD locales y la acción de finalización (argumento instance_termination_action) es de detención (STOP), debes establecer el argumento on_instance_stop_action como verdadero (true).
De lo contrario, omite el argumento on_instance_stop_action.
Para crear una VM desde la API de Compute Engine, usa el método instances.insert:
Debes especificar un nombre, un tipo de máquina y un disco de arranque para la VM.
Para crear una VM que finalice de forma automática después de un período específico, debes incluir el campo maxRunDuration. Si deseas especificar la acción de finalización, incluye el campo instanceTerminationAction, que es opcional para las VMs Spot.
IMAGE_PROJECT: es el proyecto que contiene la imagen.
Por ejemplo, si especificas family/debian-10 como la imagen, especifica debian-cloud como proyecto de imagen.
IMAGE: La imagen de la VM nueva. Puedes definir una versión específica de una imagen pública o una familia de imágenes.
Por ejemplo, si especificas family/debian-10 como la imagen y debian-cloud como el proyecto de imagen, Compute Engine crea una VM a partir de la versión más reciente de la familia de imágenes de Debian 10.
DURATION: La duración en segundos en la que quieras que esta VM se ejecute antes de finalizar automáticamente. La duración mínima es de 30 segundos (30s) y la máxima es de 120 días (120d).
TERMINATION_ACTION: La acción de finalización de esta VM, que puede ser de detención (STOP) o eliminación (DELETE). Ya sea que este campo sea obligatorio o que tenga un valor predeterminado, varíe en el modelo de aprovisionamiento de la VM:
Si se trata de una VM Spot (si la VM usa el campo "provisioningModel": "SPOT"), el campo "instanceTerminationAction": "TERMINATION_ACTION" es opcional. Si se omite este campo, se detiene la acción de finalización predeterminada.
De lo contrario, el campo "instanceTerminationAction": "TERMINATION_ACTION" es obligatorio (predeterminado).
Una hora representa la fecha, la hora y la zona horaria en las que quieres que se finalice una VM. Para crear una VM que finalice de forma automática en un momento específico, usa la Google Cloud consola, Google Cloud CLI o la API de Compute Engine.
Console
En la consola de Google Cloud , ve a la página Crear una instancia.
En la sección Políticas de disponibilidad, expande Configuración avanzada del modelo de aprovisionamiento de VM.
Selecciona la casilla de verificación Establece un límite de tiempo para la VM.
Aparecerá el campo Tipo de límite de tiempo.
En el campo Tipo de límite de tiempo, selecciona Por fecha para especificar el límite de tiempo como una hora y una fecha. En el siguiente campo, haz clic en date_rangeSeleccionar fecha y hora y selecciona la fecha, hora y zona horaria para el límite de tiempo.
En la lista Cuando se finaliza la VM, selecciona lo que sucede cuando el entorno de ejecución de la VM alcanza el límite de tiempo especificado:
Para detener la VM de forma automática, selecciona Detener (predeterminado).
Si la VM tiene SSD locales y establece la acción de finalización (TERMINATION_ACTION) en detener (STOP), debes incluir la marca --discard-local-ssds-at-termination-timestamp=true.
De lo contrario, omite la marca --discard-local-ssds-at-termination-timestamp.
TIME: Es la hora en la que deseas que se finalice esta VM de forma automática. El tiempo que especifiques debe ser al menos 30 segundos en el futuro y 120 días como máximo. Dale formato a la hora como una marca de tiempo RFC 3339:
YYYY-MM-DDTHH:MM:SSOFFSET
Reemplaza lo siguiente:
YYYY-MM-DD: una fecha con formato de un año de 4 dígitos, un mes de 2 dígitos y un día de 2 dígitos, separado del mes por guiones.
HH:MM:SS: una hora con formato de hora de 2 dígitos con el formato de 24 horas, minutos de 2 dígitos y segundos de 2 dígitos separados por dos puntos
OFFSET: la zona horaria con formato como una compensación del horario universal coordinado (UTC). Por ejemplo, para usar la hora estándar del Pacífico (PST), que es 8 horas antes del UTC, especifica -08:00. Como alternativa, para no usar compensación (UTC+0), especifica Z.
TERMINATION_ACTION: La acción de finalización de esta VM, que puede ser de detención (STOP) o eliminación (DELETE). Ya sea que este campo sea obligatorio o que tenga un valor predeterminado, varíe en el modelo de aprovisionamiento de la VM:
Si se trata de una VM Spot (si la VM usa la marca --provisioning-model=SPOT), la marca --instance-termination-action=TERMINATION_ACTION es opcional. Si se omite esta marca, se detiene la acción de finalización predeterminada.
De lo contrario, se requiere la marca --instance-termination-action=TERMINATION_ACTION (predeterminada).
Para crear una VM desde la API de Compute Engine, usa el método instances.insert:
Debes especificar un nombre, un tipo de máquina y un disco de arranque para la VM.
Para crear una VM que finalice de forma automática en un momento específico, debes incluir el campo terminationTime. Si deseas especificar la acción de finalización, incluye el campo instanceTerminationAction, que es opcional para las VMs Spot.
IMAGE_PROJECT: es el proyecto que contiene la imagen.
Por ejemplo, si especificas family/debian-10 como la imagen, especifica debian-cloud como proyecto de imagen.
IMAGE: La imagen de la VM nueva. Puedes definir una versión específica de una imagen pública o una familia de imágenes.
Por ejemplo, si especificas family/debian-10 como la imagen y debian-cloud como el proyecto de imagen, Compute Engine crea una VM a partir de la versión más reciente de la familia de imágenes de Debian 10.
TIME: Es la hora en la que deseas que se finalice esta VM de forma automática. El tiempo que especifiques debe ser al menos 30 segundos en el futuro y 120 días como máximo. Dale formato a la hora como una marca de tiempo RFC 3339:
YYYY-MM-DDTHH:MM:SSOFFSET
Reemplaza lo siguiente:
YYYY-MM-DD: una fecha con formato de un año de 4 dígitos, un mes de 2 dígitos y un día de 2 dígitos, separado del mes por guiones.
HH:MM:SS: una hora con formato de hora de 2 dígitos con el formato de 24 horas, minutos de 2 dígitos y segundos de 2 dígitos separados por dos puntos
OFFSET: la zona horaria con formato como una compensación del horario universal coordinado (UTC). Por ejemplo, para usar la hora estándar del Pacífico (PST), que es 8 horas antes del UTC, especifica -08:00. Como alternativa, para no usar compensación (UTC+0), especifica Z.
TERMINATION_ACTION: La acción de finalización de esta VM, que puede ser de detención (STOP) o eliminación (DELETE). Ya sea que este campo sea obligatorio o que tenga un valor predeterminado, varíe en el modelo de aprovisionamiento de la VM:
Si se trata de una VM Spot (si la VM usa el campo "provisioningModel": "SPOT"), el campo "instanceTerminationAction": "TERMINATION_ACTION" es opcional. Si se omite este campo, se detiene la acción de finalización predeterminada.
De lo contrario, el campo "instanceTerminationAction": "TERMINATION_ACTION" es obligatorio (predeterminado).
Limita el entorno de ejecución de una VM existente
Para limitar el entorno de ejecución de una VM existente, actualiza el programa de la VM.
Si aún no comprendes cómo definir la configuración para los límites de tiempo, primero revisa las secciones anteriores sobre cómo limitar el tiempo de ejecución de una VM nueva.
Puedes usar la consola Google Cloud , Google Cloud CLI o la API de Compute Engine para actualizar las propiedades relacionadas con la programación de la VM, como se describe en esta sección.
Este método requiere que primero detengas la VM, luego actualices sus propiedades y, por último, la reinicies.
Como alternativa, si quieres actualizar las propiedades de VMs adicionales de forma simultánea, y detener y reiniciar una VM de forma automática, consulta Actualiza las propiedades de la instancia.
Console
En la consola de Google Cloud , ve a la página Instancias de VM.
En la columna Nombre, haz clic en el nombre de la VM que quieras actualizar.
En la página de detalles de la instancia de VM, completa los siguientes pasos:
Si la VM se está ejecutando, haz clic en Detener para detenerla.
Para editar la VM, haz clic en editEditar.
En la página Editar instancia, completa los siguientes pasos:
En la sección Políticas de disponibilidad, modifica la casilla de verificación Establece un límite de tiempo para la VM y cualquier campo debajo de él como quieras.
Debes omitir la marca --max-run-duration o la marca --termination-time para establecer el límite de tiempo como una hora o una duración, respectivamente.
Incluye la marca --instance-termination-action para establecer la acción de finalización.
Si la VM tiene SSD locales y establece la acción de finalización (TERMINATION_ACTION) en detener (STOP), debes incluir la marca --discard-local-ssds-at-termination-timestamp=true.
De lo contrario, omite la marca --discard-local-ssds-at-termination-timestamp=true.
Luego, reemplaza lo siguiente:
VM_NAME: Es el nombre de la VM que
deseas cambiar.
DURATION: La duración que quieres que ejecute esta VM antes de que se finalice de forma automática. Formatea la duración en forma de la cantidad de días, horas, minutos y segundos seguidos de d, h, m y s, respectivamente. Por ejemplo, especifica 30m para una duración de 30 minutos o especifica 1d2h3m4s para una duración de 1 día, 2 horas, 3 minutos y 4 segundos. La duración mínima es de 30 segundos (30s) y la máxima es de 120 días (120d).
TIME: Es la hora en la que deseas que se finalice esta VM de forma automática. El tiempo que especifiques debe ser al menos 30 segundos en el futuro y 120 días como máximo. Dale formato a la hora como una marca de tiempo RFC 3339:
YYYY-MM-DDTHH:MM:SSOFFSET
Reemplaza lo siguiente:
YYYY-MM-DD: una fecha con formato de un año de 4 dígitos, un mes de 2 dígitos y un día de 2 dígitos, separado del mes por guiones
HH:MM:SS: una hora con formato de hora de 2 dígitos con el formato de 24 horas, minutos de 2 dígitos y segundos de 2 dígitos separados por dos puntos
OFFSET: la zona horaria con formato como una compensación del horario universal coordinado (UTC). Por ejemplo, para usar la hora estándar del Pacífico (PST), que es 8 horas antes del UTC, especifica -08:00. Como alternativa, para no usar compensación (UTC+0), especifica Z.
TERMINATION_ACTION: La acción de finalización de esta VM, que puede ser de detención (STOP) o eliminación (DELETE). Ya sea que este campo sea obligatorio o que tenga un valor predeterminado, varíe en el modelo de aprovisionamiento de la VM:
Si se trata de una VM Spot (si la VM usa la marca --provisioning-model=SPOT), la marca --instance-termination-action=TERMINATION_ACTION es opcional. Si se omite esta marca, se detiene la acción de finalización predeterminada.
De lo contrario, se requiere la marca --instance-termination-action=TERMINATION_ACTION.
VM_NAME: Es el nombre de la VM que
deseas cambiar.
Actualiza la propiedad scheduling de la VM, incluidos los campos para el límite de tiempo de la VM, a través del método instances.setScheduling.
Incluye el campo maxRunDuration o el campo terminationTime para establecer el límite de tiempo, ya sea una duración o una hora, respectivamente:
Para establecer una duración, usa la siguiente solicitud:
IMAGE_PROJECT: es el proyecto que contiene la imagen.
Por ejemplo, si especificas family/debian-10 como la imagen, especifica debian-cloud como proyecto de imagen.
IMAGE: La imagen de la VM nueva. Puedes definir una versión específica de una imagen pública o una familia de imágenes.
Por ejemplo, si especificas family/debian-10 como la imagen y debian-cloud como el proyecto de imagen, Compute Engine crea una VM a partir de la versión más reciente de la familia de imágenes de Debian 10.
DURATION: La duración en segundos en la que quieras que esta VM se ejecute antes de finalizar automáticamente. La duración mínima es de 30 segundos (30s) y la máxima es de 120 días (120d).
TIME: Es la hora en la que deseas que se finalice esta VM de forma automática. El tiempo que especifiques debe ser al menos 30 segundos en el futuro y 120 días como máximo. Dale formato a la hora como una marca de tiempo RFC 3339:
YYYY-MM-DDTHH:MM:SSOFFSET
Reemplaza lo siguiente:
YYYY-MM-DD: una fecha con formato de un año de 4 dígitos, un mes de 2 dígitos y un día de 2 dígitos, separado del mes por guiones.
HH:MM:SS: una hora con formato de hora de 2 dígitos con el formato de 24 horas, minutos de 2 dígitos y segundos de 2 dígitos separados por dos puntos
OFFSET: la zona horaria con formato como una compensación del horario universal coordinado (UTC). Por ejemplo, para usar la hora estándar del Pacífico (PST), que es 8 horas antes del UTC, especifica -08:00. Como alternativa, para no usar compensación (UTC+0), especifica Z.
TERMINATION_ACTION: La acción de finalización de esta VM, que puede ser de detención (STOP) o eliminación (DELETE). Ya sea que este campo sea obligatorio o que tenga un valor predeterminado, varíe en el modelo de aprovisionamiento de la VM:
Si se trata de una VM Spot (si la VM usa el campo "provisioningModel": "SPOT"), el campo "instanceTerminationAction": "TERMINATION_ACTION" es opcional. Si se omite este campo, se detiene la acción de finalización predeterminada.
De lo contrario, el campo "instanceTerminationAction": "TERMINATION_ACTION" es obligatorio (predeterminado).
[[["Fácil de comprender","easyToUnderstand","thumb-up"],["Resolvió mi problema","solvedMyProblem","thumb-up"],["Otro","otherUp","thumb-up"]],[["Difícil de entender","hardToUnderstand","thumb-down"],["Información o código de muestra incorrectos","incorrectInformationOrSampleCode","thumb-down"],["Faltan la información o los ejemplos que necesito","missingTheInformationSamplesINeed","thumb-down"],["Problema de traducción","translationIssue","thumb-down"],["Otro","otherDown","thumb-down"]],["Última actualización: 2026-03-14 (UTC)"],[],[]]