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.
Antes de comenzar
-
Para obtener los permisos que necesitas para limitar el tiempo de ejecución de una VM, pídele a tu administrador que te otorgue el rol de IAM Administrador de instancias de Compute (v1) (
roles/compute.instanceAdmin.v1
) en el proyecto. Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.También puedes obtener los permisos necesarios mediante roles personalizados o cualquier otro rol predefinido.
-
Si aún no lo hiciste, configura la autenticación.
La autenticación es el proceso mediante el cual se verifica tu identidad para acceder a los servicios y las APIs de Trusted Cloud by S3NS .
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 Trusted Cloud console to access Trusted Cloud by S3NS services and APIs, you don't need to set up authentication.
gcloud
-
Instala Google Cloud CLI y, luego, accede a gcloud CLI con tu identidad federada. Después de acceder, inicializa Google Cloud CLI ejecutando el siguiente comando:
gcloud init
- Set a default region and zone.
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 gcloud CLI.
Instala Google Cloud CLI y, luego, accede a gcloud CLI con tu identidad federada. Después de acceder, inicializa Google Cloud CLI ejecutando el siguiente comando:
gcloud init
Si deseas obtener más información, consulta Autentica para usar REST en la Trusted Cloud documentación de autenticación.
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 límite 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.
No puedes usar límites de tiempo con VMs interrumpibles heredadas. En su lugar, usa límites de tiempo con VM Spot.
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 una VM de forma automática, 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 estadoRUNNING
.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 se 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 Trusted Cloud consola, Google Cloud CLI, Terraform o la API de Compute Engine.
Console
En la consola de Trusted 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).
- Para borrar la VM, selecciona Borrar.
Opcional: Especifica otras opciones de VM. Para obtener más información, consulta Crea e inicia una instancia de VM.
Para crear y, también, iniciar la VM, haz clic en Crear.
gcloud
Para crear una VM a partir de la CLI de gcloud, usa el
gcloud compute instances create
comando .- Para crear una VM que finalice de forma automática después de un período específico, debes incluir la marca
--max-run-duration
. - Si deseas especificar la acción de finalización, incluye la marca
--instance-termination-action
. - Configura la marca
--discard-local-ssds-at-termination-timestamp
:- 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
.
- Si la VM tiene SSD locales y la acción de terminación (
gcloud compute instances create VM_NAME \ --max-run-duration=DURATION \ --instance-termination-action=TERMINATION_ACTION
Reemplaza lo siguiente:
VM_NAME
: es el nombre de la VM nueva.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 ded
,h
,m
ys
, respectivamente. Por ejemplo, especifica30m
para una duración de 30 minutos o especifica1d2h3m4s
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).
- Si se trata de una VM Spot (si la VM usa la marca
Para obtener más información sobre otras opciones que puedes especificar cuando creas una VM, consulta Crea y, luego, inicia una instancia de VM.
Terraform
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 argumentoinstance_termination_action
, a menos que estés creando una VM Spot (configura el argumentoprovisioning_model
enSPOT
), que se detiene de forma predeterminada (STOP
). - Configura el argumento
on_instance_stop_action
:- 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 argumentoon_instance_stop_action
como verdadero (true
). - De lo contrario, omite el argumento
on_instance_stop_action
.
- Si la VM tiene SSD locales y la acción de finalización (argumento
Para obtener más información, consulta la documentación de Terraform para el recurso
google_compute_instance
.REST
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 campoinstanceTerminationAction
, que es opcional para las VMs Spot.POST https://compute.googleapis.com/compute/v1/projects/
PROJECT_ID
/zones/ZONE
/instances { "machineType": "zones/ZONE/machineTypes/MACHINE_TYPE", "name": "VM_NAME
", "disks": [ { "initializeParams": { "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE" }, "boot": true } ] "scheduling": { "maxRunDuration": { "seconds": DURATION }, "instanceTerminationAction": "TERMINATION_ACTION" }, }Reemplaza lo siguiente:
PROJECT_ID
: El ID del proyecto en el que se creará la VM.ZONE
: Es la zona en la que se creará la VM. La zona también debe admitir el tipo de máquina que se usará para la VM nueva.MACHINE_TYPE
: Es el tipo de máquina predefinido o personalizado de la VM nueva.VM_NAME
: es el nombre de la VM nueva.IMAGE_PROJECT
: es el proyecto que contiene la imagen. Por ejemplo, si especificasfamily/debian-10
como la imagen, especificadebian-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 especificasfamily/debian-10
como la imagen ydebian-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).
- Si se trata de una VM Spot (si la VM usa el campo
Para obtener más información sobre las opciones que puedes especificar cuando creas una VM, consulta Crea y, luego, inicia una instancia de VM.
Establece una hora
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 Trusted Cloud consola, Google Cloud CLI o la API de Compute Engine.
Console
En la consola de Trusted 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
Seleccionar 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).
- Para borrar la VM, selecciona Borrar.
Opcional: Especifica otras opciones de VM. Para obtener más información, consulta Crea e inicia una instancia de VM.
Para crear y, también, iniciar la VM, haz clic en Crear.
gcloud
Para crear una VM a partir de la CLI de gcloud, usa el
gcloud compute instances create
comando .- Para crear una VM que finalice de forma automática en un momento específico, debes incluir la marca
--termination-time
. - Si deseas especificar la acción de finalización, incluye la marca
--instance-termination-action
, que es opcional para las VMs Spot. - Configura la marca
--discard-local-ssds-at-termination-timestamp
:- 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
.
- Si la VM tiene SSD locales y establece la acción de finalización (
gcloud compute instances create VM_NAME \ --termination-time=TIME \ --instance-termination-action=TERMINATION_ACTION
Reemplaza lo siguiente:
VM_NAME
: es el nombre de la VM nueva.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 puntosOFFSET
: 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), especificaZ
.
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).
- Si se trata de una VM Spot (si la VM usa la marca
Para obtener más información sobre otras opciones que puedes especificar cuando creas una VM, consulta Crea y, luego, inicia una instancia de VM.
REST
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 campoinstanceTerminationAction
, que es opcional para las VMs Spot.POST https://compute.googleapis.com/compute/v1/projects/
PROJECT_ID
/zones/ZONE
/instances { "machineType": "zones/ZONE/machineTypes/MACHINE_TYPE", "name": "VM_NAME
", "disks": [ { "initializeParams": { "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE" }, "boot": true } ] "scheduling": { "terminationTime": "TIME", "instanceTerminationAction": "TERMINATION_ACTION" }, }Reemplaza lo siguiente:
PROJECT_ID
: El ID del proyecto en el que se creará la VM.ZONE
: Es la zona en la que se creará la VM. La zona también debe admitir el tipo de máquina que se usará para la VM nueva.MACHINE_TYPE
: Es el tipo de máquina predefinido o personalizado de la VM nueva.VM_NAME
: es el nombre de la VM nueva.IMAGE_PROJECT
: es el proyecto que contiene la imagen. Por ejemplo, si especificasfamily/debian-10
como la imagen, especificadebian-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 especificasfamily/debian-10
como la imagen ydebian-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 puntosOFFSET
: 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), especificaZ
.
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).
- Si se trata de una VM Spot (si la VM usa el campo
Para obtener más información sobre las opciones que puedes especificar cuando creas una VM, consulta Crea y, luego, inicia una instancia de VM.
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 Trusted 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 Trusted Cloud consola, 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 Editar.
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.
Para obtener más información sobre cómo configurar las propiedades de los límites de tiempo, consulta Limita el tiempo de ejecución de una VM nueva.
Para guardar los cambios, haz clic en Guardar.
Si quieres comenzar a ejecutar la VM ahora, haz clic en Iniciar (opcional).
gcloud
Para actualizar el límite de tiempo de una VM con gcloud CLI, completa los siguientes pasos:
Si la VM está en ejecución, detén la VM con el comando
gcloud compute instances stop
:gcloud compute instances stop VM_NAME
Reemplaza
VM_NAME
por el nombre de la VM que quieras actualizar.Actualiza el límite de tiempo de la VM con el comando
gcloud compute instances set-scheduling
.gcloud compute instances set-scheduling VM_NAME \ --max-run-duration=DURATION \ --termination-time=TIME \ --instance-termination-action=TERMINATION_ACTION \ --discard-local-ssds-at-termination-timestamp=true
Configura los siguientes parámetros:
- 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 ded
,h
,m
ys
, respectivamente. Por ejemplo, especifica30m
para una duración de 30 minutos o especifica1d2h3m4s
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 guionesHH: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 puntosOFFSET
: 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), especificaZ
.
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
.
- Si se trata de una VM Spot (si la VM usa la marca
- Debes omitir la marca
Si quieres que la VM comience a ejecutarse, iníciala con el comando
gcloud compute instances start
:gcloud compute instances start VM_NAME
Reemplaza
VM_NAME
por el nombre de la VM.
REST
Para actualizar el límite de tiempo de una VM con la API de Compute Engine, completa los siguientes pasos:
Si la VM está en ejecución, detén la VM con el método
instances.stop
:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/stop
Reemplaza lo siguiente:
PROJECT_ID
: El ID del proyecto que contiene la instantánea.ZONE
: La zona que contiene la VM.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étodoinstances.setScheduling
. Incluye el campomaxRunDuration
o el campoterminationTime
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:
POST https://compute.googleapis.com/compute/v1/projects/
PROJECT_ID
/zones/ZONE
/instances/VM_NAME/setScheduling { "maxRunDuration": { "seconds": DURATION }, "instanceTerminationAction": "TERMINATION_ACTION" }Para configurar una hora, usa la siguiente solicitud:
POST https://compute.googleapis.com/compute/v1/projects/
PROJECT_ID
/zones/ZONE
/instances/VM_NAME/setScheduling { "terminationTime": "TIME", "instanceTerminationAction": "TERMINATION_ACTION" }
Reemplaza lo siguiente:
PROJECT_ID
: El ID del proyecto en el que se creará la VM.ZONE
: Es la zona en la que se creará la VM. La zona también debe admitir el tipo de máquina que se usará para la VM nueva.MACHINE_TYPE
: Es el tipo de máquina predefinido o personalizado de la VM nueva.VM_NAME
: es el nombre de la VM nueva.IMAGE_PROJECT
: es el proyecto que contiene la imagen. Por ejemplo, si especificasfamily/debian-10
como la imagen, especificadebian-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 especificasfamily/debian-10
como la imagen ydebian-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 puntosOFFSET
: 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), especificaZ
.
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).
- Si se trata de una VM Spot (si la VM usa el campo
Si deseas que la VM comience a ejecutarse, iníciala con el método
instances.start
:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/start
Reemplaza lo siguiente:
PROJECT_ID
: El ID del proyecto que contiene la instantánea.ZONE
: La zona que contiene la VM.VM_NAME
: El nombre de la VM.
Supervisa el entorno de ejecución de una VM
Puedes supervisar el tiempo de ejecución de una VM que tiene un límite de tiempo con las siguientes opciones:
Para ver cuándo una VM en ejecución está programada para finalizarse de forma automática, consulta la marca de tiempo de finalización de la VM:
- Consulta los detalles de una VM.
- En el resultado, consulta el campo de la VM para la marca de tiempo de finalización:
- Si usas la consola de Trusted Cloud , consulta el campo Duración máx..
- Si usas Google Cloud CLI o la API de Compute Engine, consulta el campo
terminationTimestamp
.
Para verificar si una VM se finalizó automáticamente, consulta sus operaciones:
- Ver operaciones de VM.
En el resultado, puedes identificar las operaciones de VM que se deben a un límite de tiempo buscando los siguientes tipos de operaciones:
compute.instances.deferredStop
indica una acción de finalización automática de detencióncompute.instances.deferredDelete
indica una acción de finalización automática de eliminación
¿Qué sigue?
Aprende a optimizar aún más las VMs:
- Si tus cargas de trabajo son tolerantes a errores, puedes usar VMs Spot para obtener descuentos significativos y cuota dedicada opcional.
- Si deseas que una VM ejecute comandos automáticamente antes de apagarse, puedes usar secuencias de comandos de apagado.
Obtén más información sobre otras opciones para limitar de forma automática los tiempos de ejecución de las VMs:
Salvo que se indique lo contrario, el contenido de esta página está sujeto a la licencia Atribución 4.0 de Creative Commons, y los ejemplos de código están sujetos a la licencia Apache 2.0. Para obtener más información, consulta las políticas del sitio de Google Developers. Java es una marca registrada de Oracle o sus afiliados.
Última actualización: 2025-08-08 (UTC)
[[["Fácil de comprender","easyToUnderstand","thumb-up"],["Resolvió mi problema","solvedMyProblem","thumb-up"],["Otro","otherUp","thumb-up"]],[["Falta la información que necesito","missingTheInformationINeed","thumb-down"],["Muy complicado o demasiados pasos","tooComplicatedTooManySteps","thumb-down"],["Desactualizado","outOfDate","thumb-down"],["Problema de traducción","translationIssue","thumb-down"],["Problema con las muestras o los códigos","samplesCodeIssue","thumb-down"],["Otro","otherDown","thumb-down"]],["Última actualización: 2025-08-08 (UTC)"],[[["This document details how to set time limits for virtual machine (VM) instances, enabling automatic termination (stop or delete) after a specified duration or at a set time."],["Setting time limits on VMs helps manage temporary workloads, minimize costs, and free up quotas by automatically terminating them upon reaching the defined limit."],["You can configure a new or existing VM to be automatically terminated either by specifying a maximum run duration (from 30 seconds to 120 days) or by setting a specific termination time, with the ability to choose whether the VM should be stopped or deleted."],["When setting a duration for a time limit, the termination timestamp is calculated by adding the duration to the VM's start time, whereas setting a specific time defines the exact termination point, but the specified time must always be in the future."],["To monitor VM run time, you can view the VM's `terminationTimestamp` field to see when it's scheduled for termination, or check the VM operations for `compute.instances.deferredStop` or `compute.instances.deferredDelete` to verify if the VM was automatically stopped or deleted due to a time limit."]]],[]] -