En este documento se explica cómo habilitar el cierre ordenado en una instancia de Compute Engine nueva o ya creada. Para obtener más información sobre el cierre controlado, consulta el artículo Descripción general del cierre controlado.
Si habilitas el cierre ordenado en una instancia, puedes dar a su sistema operativo invitado hasta una hora para que se cierre correctamente cuando detengas o elimines la instancia. De esta forma, se evita la posible pérdida de datos o la corrupción de los sistemas de archivos.
Antes de empezar
-
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.
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. 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.
Para obtener más información, consulta el artículo Autenticarse para usar REST de la documentación sobre autenticación de Google Cloud .
Roles obligatorios
Para obtener los permisos que necesitas para habilitar el cierre ordenado en una instancia de Compute, pide a tu administrador que te conceda el rol de gestión de identidades y accesos Administrador de instancias de Compute (v. 1) (
roles/compute.instanceAdmin.v1
) en tu proyecto. Para obtener más información sobre cómo conceder roles, consulta el artículo Gestionar el acceso a proyectos, carpetas y organizaciones.Este rol predefinido contiene los permisos necesarios para habilitar el cierre ordenado en una instancia de proceso. Para ver los permisos exactos que se necesitan, despliega la sección Permisos necesarios:
Permisos obligatorios
Para habilitar el cierre ordenado en una instancia de proceso, se necesitan los siguientes permisos:
-
Para crear instancias, sigue estos pasos:
compute.instances.create
en el proyecto- Para usar una imagen personalizada para crear la VM, haz clic en
compute.images.useReadOnly
en la imagen. - Para usar una captura para crear la VM,
compute.snapshots.useReadOnly
en la captura - Para usar una plantilla de instancia para crear la VM, haz clic en
compute.instanceTemplates.useReadOnly
en la plantilla de instancia. - Para asignar una red antigua a la VM, haz lo siguiente:
compute.networks.use
en el proyecto - Para especificar una dirección IP estática para la máquina virtual,
compute.addresses.use
en el proyecto - Para asignar una dirección IP externa a la VM cuando se usa una red antigua, haz lo siguiente:
compute.networks.useExternalIp
en el proyecto - Para especificar una subred para la VM,
compute.subnetworks.use
en el proyecto o en la subred elegida. - Para asignar una dirección IP externa a la VM cuando se usa una red de VPC,
compute.subnetworks.useExternalIp
en el proyecto o en la subred elegida. - Para definir los metadatos de la instancia de VM de la VM:
compute.instances.setMetadata
en el proyecto, - Para definir etiquetas en la máquina virtual,
compute.instances.setTags
en la máquina virtual - Para definir etiquetas de la VM,
compute.instances.setLabels
en la VM - Para definir una cuenta de servicio que use la VM, haz lo siguiente en la VM:
compute.instances.setServiceAccount
- Para crear un disco para la VM
compute.disks.create
del proyecto, sigue estos pasos: - Para adjuntar un disco en modo de solo lectura o de lectura y escritura, haz lo siguiente:
compute.disks.use
en el disco - Para adjuntar un disco en modo de solo lectura,
compute.disks.useReadOnly
en el disco.
-
Para crear una plantilla de instancia, sigue estos pasos:
compute.instanceTemplates.create
en el proyecto -
Para habilitar el cierre ordenado en una instancia:
compute.instances.update
en la instancia
También puedes obtener estos permisos con roles personalizados u otros roles predefinidos.
Habilitar el cierre ordenado
Para habilitar el cierre ordenado en una instancia de proceso, utiliza uno de los siguientes métodos:
Habilitar el cierre ordenado en una instancia
Puedes habilitar el cierre ordenado en una instancia de proceso sin detenerla ni reiniciarla. El periodo de cierre gradual predeterminado es de 10 minutos, pero puedes especificar un periodo de cierre personalizado de entre un segundo y una hora.
Para habilitar el cierre ordenado en una instancia, selecciona una de las siguientes opciones:
Consola
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 instancia en la que quieras habilitar el cierre ordenado.
Se abrirá la página de detalles de la instancia.
Haz clic en
Editar.En la sección Gestión, haga lo siguiente:
Selecciona la casilla Apagar la VM correctamente.
Opcional: Para especificar un periodo de cierre gradual personalizado, indica una duración en el campo Duración máxima.
Haz clic en Guardar.
gcloud
Para habilitar el cierre ordenado en una instancia, usa el comando
gcloud beta compute instances update
con la marca--graceful-shutdown
:gcloud beta compute instances update INSTANCE_NAME \ --graceful-shutdown \ --zone=ZONE
Haz los cambios siguientes:
INSTANCE_NAME
: el nombre de la instancia.ZONE
: la zona en la que se encuentra la instancia.
Si quieres especificar un periodo de cierre gradual personalizado, incluye la marca
--graceful-shutdown-max-duration
:gcloud beta compute instances update INSTANCE_NAME \ --graceful-shutdown \ --graceful-shutdown-max-duration=MAX_DURATION \ --zone=ZONE
Sustituye
MAX_DURATION
por la duración del periodo de apagado. El valor debe tener el formato del número de horas, minutos o segundos seguido deh
,m
ys
, respectivamente. Por ejemplo, especifica1h
para una hora o20m10s
para 20 minutos y 10 segundos.REST
Crea un archivo JSON vacío.
Para ver las propiedades de una instancia, envía una solicitud
GET
al método betainstances.get
:GET https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME
Haz los cambios siguientes:
PROJECT_ID
: el ID del proyecto en el que se encuentra la instancia.ZONE
: la zona en la que se encuentra la instancia.INSTANCE_NAME
: el nombre de una instancia.
En el archivo JSON vacío que has creado en los pasos anteriores, haz lo siguiente:
Introduce los detalles de la configuración de la instancia del resultado de la solicitud
GET
.En el campo
scheduling
, añade el campogracefulShutdown
de la siguiente manera:{ ... "scheduling": { ... "gracefulShutdown": { "enabled": true } }, ... }
Si quiere especificar un periodo de cierre gradual personalizado, incluya el campo
maxDuration
:{ ... "scheduling": { ... "gracefulShutdown": { ... "enabled": true, "maxDuration": { "seconds": "MAX_DURATION" } } }, ... }
Sustituye
MAX_DURATION
por la duración en segundos del periodo de cierre gradual. El valor debe estar comprendido entre1
y3600
, es decir,3600 segundos (una hora).
Para actualizar la instancia y reiniciarla, haz una solicitud
PUT
al método betainstances.update
. En la solicitud, haz lo siguiente:En la URL de la solicitud, incluya el parámetro de consulta
mostDisruptiveAllowedAction
con el valorRESTART
.En el cuerpo de la solicitud, incluye las propiedades de la instancia del archivo JSON que creaste y actualizaste en los pasos anteriores.
La solicitud
PUT
para actualizar la instancia es similar a la siguiente:PUT https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME?mostDisruptiveAllowedAction=RESTART { ... "scheduling": { ... "gracefulShutdown": { "enabled": true } }, ... }
Para obtener más información sobre cómo actualizar las propiedades de una instancia, consulta Actualizar propiedades de instancias.
Habilitar el cierre ordenado al crear una instancia
Cuando creas una instancia de proceso con el cierre gradual habilitado, el periodo de cierre predeterminado es de 10 minutos. También puedes especificar un periodo de apagado personalizado de entre un segundo y una hora.
Para crear una instancia con el cierre ordenado habilitado, selecciona una de las siguientes opciones:
Consola
En la consola de Google Cloud , ve a la página Instancias de VM.
Haz clic en Crear instancia.
Se abrirá la página Crear una instancia.
Escribe el nombre de la instancia.
Especifica la región y la zona en las que se creará la instancia.
Especifica un tipo de máquina para la instancia.
En el menú de navegación, haz clic en Opciones avanzadas.
Despliega la sección
Configuración avanzada del modelo de aprovisionamiento de VMs y, a continuación, haz lo siguiente:Selecciona la casilla Apagar la VM correctamente.
Opcional: Para especificar un periodo de cierre gradual personalizado, indica una duración en el campo Duración máxima.
Haz clic en Crear.
gcloud
Para crear una instancia que tenga habilitado el cierre ordenado, usa el comando
gcloud beta compute instances create
con la marca--graceful-shutdown
:gcloud beta compute instances create INSTANCE_NAME \ --graceful-shutdown \ --machine-type=MACHINE_TYPE \ --zone=ZONE
Haz los cambios siguientes:
INSTANCE_NAME
: el nombre de la instancia.MACHINE_TYPE
: el tipo de máquina que se va a usar en la instancia.ZONE
: la zona en la que se creará la instancia.
Si quieres especificar un periodo de cierre gradual personalizado, incluye la marca
--graceful-shutdown-max-duration
:gcloud beta compute instances create INSTANCE_NAME \ --graceful-shutdown \ --graceful-shutdown-max-duration=MAX_DURATION \ --machine-type=MACHINE_TYPE \ --zone=ZONE
Sustituye
MAX_DURATION
por la duración del periodo de cierre gradual. El valor debe tener el formato de número de horas, minutos o segundos seguido deh
,m
ys
, respectivamente. Por ejemplo, especifica1h
para una hora o20m10s
para 20 minutos y 10 segundos.REST
Para crear una instancia que tenga habilitada la función de cierre ordenado, haz una solicitud
POST
al métodobeta.instances.insert
. En el cuerpo de la solicitud, incluye el campogracefulShutdown
:POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/instances { "name": "INSTANCE_NAME", "machineType": "zones/ZONE/machineTypes/MACHINE_TYPE", "disks": [ { "boot": true, "initializeParams": { "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE" } } ], "networkInterfaces": [ { "network": "global/networks/default" } ], "scheduling": { "gracefulShutdown": { "enabled": true } } }
Haz los cambios siguientes:
PROJECT_ID
: el ID del proyecto en el que se va a crear la instancia.ZONE
: la zona en la que se creará la instancia.INSTANCE_NAME
: el nombre de la instancia.MACHINE_TYPE
: el tipo de máquina de la instancia.IMAGE_PROJECT
: el proyecto de imagen que contiene la imagen (por ejemplo,debian-cloud
). Para obtener más información sobre los proyectos de imágenes admitidos, consulta Imágenes públicas.IMAGE
: especifica una de las siguientes opciones:Una versión específica de la imagen del SO, por ejemplo,
debian-12-bookworm-v20240617
.Una familia de imágenes, que debe tener el formato
family/IMAGE_FAMILY
. Este formato especifica la imagen del SO más reciente que no está obsoleta. Por ejemplo, si especificasfamily/debian-12
, se usará la versión más reciente de la familia de imágenes de Debian 12. Para obtener más información sobre cómo usar familias de imágenes, consulte las prácticas recomendadas para familias de imágenes.
Si quieres especificar un periodo de cierre gradual personalizado, incluye el campo
maxDuration
en el cuerpo de la solicitud:POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/instances { "name": "INSTANCE_NAME", "machineType": "zones/ZONE/machineTypes/MACHINE_TYPE", "disks": [ { "boot": true, "initializeParams": { "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE" } } ], "networkInterfaces": [ { "network": "global/networks/default" } ], "scheduling": { "gracefulShutdown": { "enabled": true, "maxDuration": { "seconds": "MAX_DURATION" } } } }
Sustituye
MAX_DURATION
por la duración en segundos del periodo de cierre gradual. El valor debe estar comprendido entre1
y3600
, es decir,3600 segundos (una hora).Para ver más opciones de configuración al crear una instancia, consulta Crear e iniciar una instancia de Compute Engine.
Habilitar el cierre ordenado al crear instancias en bloque
Cuando creas instancias de computación en bloque que tienen habilitado el cierre gradual, el periodo de cierre predeterminado es de 10 minutos. También puedes especificar un periodo de apagado personalizado de entre un segundo y una hora.
Para crear instancias en bloque que tengan habilitado el cierre ordenado, selecciona una de las siguientes opciones:
gcloud
Para crear instancias en bloque que tengan habilitado el cierre ordenado, usa el comando
gcloud beta compute instances bulk create
con la marca--graceful-shutdown
.Por ejemplo, para crear instancias en bloque en una sola zona y especificar un patrón de nombre para las instancias, ejecuta el siguiente comando:
gcloud beta compute instances bulk create \ --count=COUNT \ --graceful-shutdown \ --machine-type=MACHINE_TYPE \ --name-pattern="NAME_PATTERN" \ --zone=ZONE
Haz los cambios siguientes:
COUNT
: número de instancias que se van a crear.MACHINE_TYPE
: el tipo de máquina de las instancias.NAME_PATTERN
: el patrón de nombre de las instancias. Para sustituir una secuencia de números en un nombre de instancia, utiliza una secuencia de caracteres de almohadilla (#
). Por ejemplo, si se usainstance-#
como patrón de nombre, se generan instancias con nombres que empiezan porinstance-1
,instance-2
y así sucesivamente hasta el número de instancias especificado porCOUNT
.ZONE
: la zona en la que se crearán las instancias en bloque.
Si quieres especificar un periodo de cierre gradual personalizado, incluye la marca
--graceful-shutdown-max-duration
:gcloud beta compute instances bulk create \ --count=COUNT \ --graceful-shutdown \ --graceful-shutdown-max-duration=MAX_DURATION \ --machine-type=MACHINE_TYPE \ --name-pattern="NAME_PATTERN" \ --zone=ZONE
Sustituye
MAX_DURATION
por la duración del periodo de cierre gradual. El valor debe tener el formato de número de horas, minutos o segundos seguido deh
,m
ys
, respectivamente. Por ejemplo, especifica1h
para una hora o20m10s
para 20 minutos y 10 segundos.REST
Para crear instancias en bloque que tengan habilitado el cierre ordenado, haz una solicitud
POST
al método betainstances.bulkInsert
. En el cuerpo de la solicitud, incluye el campogracefulShutdown
.Por ejemplo, para crear instancias de forma masiva en una sola zona y especificar un patrón de nombres para las instancias, haz una solicitud
POST
de la siguiente manera:POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/instances/bulkInsert { "count": COUNT, "namePattern": "NAME_PATTERN", "instanceProperties": { "machineType": "MACHINE_TYPE", "disks": [ { "boot": true, "initializeParams": { "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE" } } ], "networkInterfaces": [ { "network": "global/networks/default" } ], "scheduling": { "gracefulShutdown": { "enabled": true } } } }
Haz los cambios siguientes:
PROJECT_ID
: ID del proyecto en el que se crearán las instancias en bloque.ZONE
: la zona en la que se crearán las instancias en bloque.COUNT
: número de instancias que se van a crear.NAME_PATTERN
: el patrón de nombre de las instancias. Para sustituir una secuencia de números en un nombre de instancia, utiliza una secuencia de caracteres de almohadilla (#
). Por ejemplo, si se usainstance-#
como patrón de nombre, se generan instancias con nombres que empiezan porinstance-1
,instance-2
y así sucesivamente hasta el número de instancias especificado porCOUNT
.MACHINE_TYPE
: el tipo de máquina de las instancias.IMAGE_PROJECT
: el proyecto de imagen que contiene la imagen (por ejemplo,debian-cloud
). Para obtener más información sobre los proyectos de imágenes admitidos, consulta Imágenes públicas.IMAGE
: especifica una de las siguientes opciones:Una versión específica de la imagen del SO, por ejemplo,
debian-12-bookworm-v20240617
.Una familia de imágenes, que debe tener el formato
family/IMAGE_FAMILY
. Este formato especifica la imagen del SO más reciente que no está obsoleta. Por ejemplo, si especificasfamily/debian-12
, se usará la versión más reciente de la familia de imágenes de Debian 12. Para obtener más información sobre cómo usar familias de imágenes, consulte las prácticas recomendadas para familias de imágenes.
ZONE
: la zona en la que se crearán las instancias en bloque.
Si quieres especificar un periodo de cierre gradual personalizado, incluye el campo
maxDuration
en el cuerpo de la solicitud:POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/instances/bulkInsert { "count": COUNT, "namePattern": "NAME_PATTERN", "instanceProperties": { "machineType": "MACHINE_TYPE", "disks": [ { "boot": true, "initializeParams": { "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE" } } ], "networkInterfaces": [ { "network": "global/networks/default" } ], "scheduling": { "gracefulShutdown": { "enabled": true, "maxDuration": { "seconds": "MAX_DURATION" } } } } }
Sustituye
MAX_DURATION
por la duración en segundos del periodo de cierre gradual. El valor debe estar comprendido entre1
y3600
, es decir,3600 segundos (una hora).Para obtener más opciones de configuración al crear instancias de forma masiva, consulta Crear VMs de forma masiva.
Habilitar el cierre ordenado al crear una plantilla de instancia
Cuando creas una plantilla de instancia con el cierre gradual habilitado, el periodo de cierre predeterminado es de 10 minutos. También puedes especificar un periodo de apagado personalizado de entre un segundo y una hora.
Todas las instancias de proceso creadas con la plantilla de instancia tienen habilitado el cierre ordenado.
Para crear una plantilla de instancia con el cierre ordenado habilitado, selecciona una de las siguientes opciones:
Consola
En la consola, ve a la página Plantillas de instancia. Google Cloud
Haz clic en Crear plantilla de instancia.
Se abrirá la página Crear una plantilla de instancia.
En el campo Nombre, introduce un nombre para la plantilla de instancia.
Selecciona la ubicación de la siguiente manera:
Para reducir la dependencia entre regiones creando una plantilla de instancia regional, siga estos pasos:
Elige Regional, si no está seleccionado.
En el campo Región, seleccione la región en la que quiera crear la plantilla de instancia.
De lo contrario, para usar la plantilla de instancia en varias regiones, elige Global.
En la sección Configuración de la máquina, especifica un tipo de máquina.
Despliega la sección
Configuración avanzada del modelo de aprovisionamiento de VMs y, a continuación, haz lo siguiente:Selecciona la casilla Apagar la VM correctamente.
Opcional: Para especificar un periodo de cierre gradual personalizado, indica una duración en el campo Duración máxima.
Haz clic en Crear.
gcloud
Para crear una plantilla de instancia que tenga habilitado el cierre ordenado, usa el comando
gcloud beta compute instance-templates create
con la marca--graceful-shutdown
.Por ejemplo, para crear una plantilla de instancia regional que tenga habilitado el cierre gradual, ejecuta el siguiente comando:
gcloud beta compute instance-templates create INSTANCE_TEMPLATE_NAME \ --graceful-shutdown \ --instance-template-region=REGION \ --machine-type=MACHINE_TYPE
Haz los cambios siguientes:
INSTANCE_TEMPLATE_NAME
: el nombre de la plantilla de instancia.REGION
: la región en la que se creará la plantilla de instancia.MACHINE_TYPE
: el tipo de máquina de las instancias creadas con la plantilla de instancia.
Si quiere especificar un periodo de cierre gradual personalizado, incluya la marca
--graceful-shutdown-max-duration
.gcloud beta compute instance-templates create INSTANCE_TEMPLATE_NAME \ --graceful-shutdown \ --graceful-shutdown-max-duration=MAX_DURATION \ --instance-template-region=REGION \ --machine-type=MACHINE_TYPE
Sustituye
MAX_DURATION
por la duración del periodo de apagado. El valor debe tener el formato del número de horas, minutos o segundos seguido deh
,m
ys
, respectivamente. Por ejemplo, especifica1h
para una hora o20m10s
para 20 minutos y 10 segundos.REST
Para crear una plantilla de instancia que tenga habilitado el cierre ordenado, haz una solicitud
POST
a uno de los siguientes métodos:Para crear una plantilla de instancia global, usa el método beta
instanceTemplates.insert
.Para crear una plantilla de instancia regional, usa el método beta
regionInstanceTemplates.insert
.
Por ejemplo, para crear una plantilla de instancia regional que tenga habilitado el cierre gradual, haz una solicitud
POST
de la siguiente manera:POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/instanceTemplates { "name": "INSTANCE_TEMPLATE_NAME", "properties": { "disks": [ { "boot": true, "initializeParams": { "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE" } } ], "machineType": "MACHINE_TYPE", "networkInterfaces": [ { "network": "global/networks/default" } ], "scheduling": { "gracefulShutdown": { "enabled": true } } } }
Haz los cambios siguientes:
PROJECT_ID
: el ID del proyecto en el que se va a crear la plantilla de instancia.REGION
: la región en la que se creará la plantilla de instancia.INSTANCE_TEMPLATE_NAME
: el nombre de la plantilla de instancia.IMAGE_PROJECT
: el proyecto de imagen que contiene la imagen (por ejemplo,debian-cloud
). Para obtener más información sobre los proyectos de imágenes admitidos, consulta Imágenes públicas.IMAGE
: especifica una de las siguientes opciones:Una versión específica de la imagen del SO, por ejemplo,
debian-12-bookworm-v20240617
.Una familia de imágenes, que debe tener el formato
family/IMAGE_FAMILY
. Este formato especifica la imagen del SO más reciente que no está obsoleta. Por ejemplo, si especificasfamily/debian-12
, se usará la versión más reciente de la familia de imágenes de Debian 12. Para obtener más información sobre cómo usar familias de imágenes, consulte las prácticas recomendadas para familias de imágenes.
MACHINE_TYPE
: el tipo de máquina de las instancias creadas con la plantilla de instancia.
Si quiere especificar un periodo de cierre gradual personalizado, incluya el campo
maxDuration
en el cuerpo de la solicitud.POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/global/instanceTemplates { "name": "INSTANCE_TEMPLATE_NAME", "properties": { "disks": [ { "boot": true, "initializeParams": { "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE" } } ], "machineType": "MACHINE_TYPE", "networkInterfaces": [ { "network": "global/networks/default" } ], "scheduling": { "gracefulShutdown": { "enabled": true, "maxDuration": { "seconds": "MAX_DURATION" } } } } }
Sustituye
MAX_DURATION
por la duración en segundos del periodo de apagado. El valor debe estar entre1
y3600
, es decir,3600 segundos (una hora).Para ver más opciones de configuración al crear una plantilla de instancia, consulta Crear plantillas de instancia.
Siguientes pasos
Programar una instancia de máquina virtual para iniciarla y detenerla
Inhabilitar el cierre ordenado en una instancia de Compute Engine
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).
-