Este documento explica cómo habilitar el apagado ordenado en una instancia de Compute Engine nueva o existente. Para obtener más información sobre el cierre ordenado, consulte Descripción general del cierre ordenado .
Cuando habilita el cierre ordenado en una instancia, puede darle a su sistema operativo invitado hasta una hora para que se apague limpiamente cuando detiene o elimina la instancia. Esto ayuda a prevenir posibles pérdidas de datos o sistemas de archivos corruptos.
Antes de comenzar
- Si aún no lo has hecho, configura la autenticación. La autenticación es el proceso mediante el cual se verifica su identidad para acceder a Google Cloud servicios y API. Para ejecutar código o muestras desde un entorno de desarrollo local, puedes autenticarte en Compute Engine seleccionando una de las siguientes opciones:
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
-
After installing the Google Cloud CLI, initialize it by running the following command:
gcloud init
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
- Set a default region and zone.
- Para crear instancias:
-
compute.instances.create
en el proyecto. - Para usar una imagen personalizada para crear la VM:
compute.images.useReadOnly
en la imagen - Para usar una instantánea para crear la VM:
compute.snapshots.useReadOnly
en la instantánea - Para usar una plantilla de instancia para crear la VM:
compute.instanceTemplates.useReadOnly
en la plantilla de instancia - Para asignar una red heredada a la VM:
compute.networks.use
en el proyecto - Para especificar una dirección IP estática para la VM:
compute.addresses.use
en el proyecto - Para asignar una dirección IP externa a la VM cuando se usa una red heredada:
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 VPC:
compute.subnetworks.useExternalIp
en el proyecto o en la subred elegida - Para configurar metadatos de instancia de VM para la VM:
compute.instances.setMetadata
en el proyecto - Para configurar etiquetas para la VM:
compute.instances.setTags
en la VM - Para configurar etiquetas para la VM:
compute.instances.setLabels
en la VM - Para configurar una cuenta de servicio para que la use la VM:
compute.instances.setServiceAccount
en la VM - Para crear un nuevo disco para la VM:
compute.disks.create
en el proyecto - Para conectar un disco existente en modo de solo lectura o lectura-escritura:
compute.disks.use
en el disco - Para conectar un disco existente en modo de solo lectura:
compute.disks.useReadOnly
en el disco
-
- Para crear una plantilla de instancia:
compute.instanceTemplates.create
en el proyecto - Para habilitar el cierre ordenado en una instancia existente:
compute.instances.update
en la instancia Habilite el cierre ordenado mientras crea instancias de forma masiva
Habilite el cierre ordenado al crear una plantilla de instancia
En la consola de Google Cloud, vaya a la página de instancias de VM .
En la columna Nombre , haga clic en el nombre de la instancia en la que desea habilitar el cierre ordenado.
Se abre la página de detalles de la instancia.
Haga clic en
Editar .En la sección Gestión , haga lo siguiente:
Seleccione la casilla de verificación Apagar correctamente la VM .
Opcional: para especificar un período de apagado gradual personalizado, especifique una duración en el campo Duración máxima .
Haga clic en Guardar .
INSTANCE_NAME
: el nombre de la instancia.ZONE
: la zona donde se encuentra la instancia.Cree un archivo JSON vacío.
Para ver las propiedades de una instancia existente, realice una solicitud
GET
al métodoinstances.get
beta :GET https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME
Reemplace lo siguiente:
PROJECT_ID
: el ID del proyecto donde se encuentra la instancia.ZONE
: la zona donde se encuentra la instancia.INSTANCE_NAME
: el nombre de una instancia existente.
En el archivo JSON vacío que creó en los pasos anteriores, haga lo siguiente:
Ingrese los detalles de configuración de la instancia del resultado de la solicitud
GET
.En el campo
scheduling
, agregue el campogracefulShutdown
de la siguiente manera:{ ... "scheduling": { ... "gracefulShutdown": { "enabled": true } }, ... }
Opcionalmente, para especificar un período de cierre gradual personalizado, incluya el campo
maxDuration
:{ ... "scheduling": { ... "gracefulShutdown": { ... "enabled": true, "maxDuration": { "seconds": "MAX_DURATION" } } }, ... }
Reemplace
MAX_DURATION
con una duración en segundos para el período de apagado gradual. El valor debe estar entre1
y3600
, que son 3600 segundos (una hora).
Para actualizar la instancia y reiniciarla, realice una solicitud
PUT
al métodoinstances.update
. En la solicitud, haga lo siguiente:En la URL de solicitud, incluya el parámetro de consulta
mostDisruptiveAllowedAction
establecido enRESTART
.En el cuerpo de la solicitud, incluya las propiedades de la instancia del archivo JSON que creó y actualizó 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 } }, ... }
En la consola de Google Cloud, vaya a la página de instancias de VM .
Haga clic en Crear instancia .
Se abre la página Crear una instancia .
Especifique un nombre para la instancia.
Especifique la región y la zona en las que crear la instancia.
Especifique un tipo de máquina para la instancia.
En el menú de navegación, haga clic en Avanzado .
Expanda la sección de configuración avanzada del modelo de aprovisionamiento de VM
y luego haga lo siguiente:Seleccione la casilla de verificación Apagar correctamente la VM .
Opcional: para especificar un período de apagado gradual personalizado, especifique una duración en el campo Duración máxima .
Haga clic en Crear .
INSTANCE_NAME
: el nombre de la instancia.MACHINE_TYPE
: el tipo de máquina que se utilizará para la instancia.ZONE
: la zona en la que crear la instancia.PROJECT_ID
: el ID del proyecto en el que crear la instancia.ZONE
: la zona en la que crear la instancia.INSTANCE_NAME
: el nombre de la instancia.MACHINE_TYPE
: el tipo de máquina para 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, consulte Imágenes públicas .IMAGE
: especifique uno de los siguientes:Una versión específica de la imagen del sistema operativo, 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 sistema operativo más reciente y no obsoleta. Por ejemplo, si especificafamily/debian-12
, se utiliza la última versión de la familia de imágenes de Debian 12. Para obtener más información sobre el uso de familias de imágenes, consulte Mejores prácticas de familias de imágenes .
COUNT
: el número de instancias a crear.MACHINE_TYPE
: el tipo de máquina para las instancias.NAME_PATTERN
: el patrón de nombre de las instancias. Para reemplazar una secuencia de números en el nombre de una instancia, utilice una secuencia de caracteres almohadilla (#
). Por ejemplo, el uso deinstance-#
para el patrón de nombre genera instancias con nombres que comienzan coninstance-1
,instance-2
y continúan hasta el número de instancias especificado porCOUNT
.ZONE
: la zona en la que crear instancias de forma masiva.PROJECT_ID
: el ID del proyecto en el que crear instancias de forma masiva.ZONE
: la zona en la que crear instancias de forma masiva.COUNT
: el número de instancias a crear.NAME_PATTERN
: el patrón de nombre de las instancias. Para reemplazar una secuencia de números en el nombre de una instancia, utilice una secuencia de caracteres almohadilla (#
). Por ejemplo, el uso deinstance-#
para el patrón de nombre genera instancias con nombres que comienzan coninstance-1
,instance-2
y continúan hasta el número de instancias especificado porCOUNT
.MACHINE_TYPE
: el tipo de máquina para 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, consulte Imágenes públicas .IMAGE
: especifique uno de los siguientes:Una versión específica de la imagen del sistema operativo, 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 sistema operativo más reciente y no obsoleta. Por ejemplo, si especificafamily/debian-12
, se utiliza la última versión de la familia de imágenes de Debian 12. Para obtener más información sobre el uso de familias de imágenes, consulte Mejores prácticas de familias de imágenes .
ZONE
: la zona en la que crear instancias de forma masiva.En la consola de Google Cloud, vaya a la página Plantillas de instancia .
Haga clic en Crear plantilla de instancia .
Se abre la página Crear una plantilla de instancia .
En el campo Nombre , ingrese un nombre para la plantilla de instancia.
Seleccione la Ubicación de la siguiente manera:
Para reducir la dependencia entre regiones mediante la creación de una plantilla de instancia regional, haga lo siguiente:
Elija Regional , si aún no está seleccionado.
En el campo Región , seleccione la región en la que crear la plantilla de instancia.
De lo contrario, para usar la plantilla de instancias en todas las regiones, elija Global .
En la sección Configuración de la máquina , especifique un tipo de máquina.
Expanda la sección de configuración avanzada del modelo de aprovisionamiento de VM
y luego haga lo siguiente:Seleccione la casilla de verificación Apagar correctamente la VM .
Opcional: para especificar un período de apagado gradual personalizado, especifique una duración en el campo Duración máxima .
Haga clic en Crear .
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 para las instancias creadas usando la plantilla de instancia.Para crear una plantilla de instancia global: método
instanceTemplates.insert
.Para crear una plantilla de instancia regional: método beta
regionInstanceTemplates.insert
.PROJECT_ID
: el ID del proyecto donde crear la plantilla de instancia.REGION
: la región donde 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, consulte Imágenes públicas .IMAGE
: especifique uno de los siguientes:Una versión específica de la imagen del sistema operativo, 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 sistema operativo más reciente y no obsoleta. Por ejemplo, si especificafamily/debian-12
, se utiliza la última versión de la familia de imágenes de Debian 12. Para obtener más información sobre el uso de familias de imágenes, consulte Mejores prácticas de familias de imágenes .
MACHINE_TYPE
: el tipo de máquina para las instancias creadas usando la plantilla de instancia.
REST
Para usar las muestras de la API de REST en esta página en un entorno de desarrollo local, debes usar las credenciales que proporcionas a la CLI de gcloud.
After installing the Google Cloud CLI, initialize it by running the following command:
gcloud init
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
Para obtener más información, consulta Autentica para usar REST en la documentación de autenticación de Google Cloud .
Roles requeridos
Para obtener los permisos que necesita para habilitar el cierre ordenado en una instancia informática, solicite a su administrador que le otorgue el rol de IAM de Administrador de instancia informática (v1) (
roles/compute.instanceAdmin.v1
) en su proyecto. Para obtener más información sobre cómo otorgar roles, consulte Administrar el acceso a proyectos, carpetas y organizaciones .Esta función predefinida contiene los permisos necesarios para habilitar el cierre ordenado en una instancia informática. Para ver los permisos exactos que se requieren, expanda la sección Permisos requeridos :
Permisos requeridos
Se requieren los siguientes permisos para habilitar el cierre ordenado en una instancia informática:
Es posible que también pueda obtener estos permisos con roles personalizados u otros roles predefinidos .
Habilitar el apagado elegante
Para habilitar el apagado ordenado en una instancia informática, utilice uno de los siguientes métodos:
Habilitar el cierre ordenado en una instancia existente
Puede habilitar el apagado ordenado en una instancia informática existente sin detenerla ni reiniciarla. El período de apagado gradual predeterminado es de 10 minutos, pero puede especificar un período de apagado personalizado entre un segundo y una hora.
Para habilitar el cierre ordenado en una instancia existente, seleccione una de las siguientes opciones:
Consola
nube de gcloud
Para habilitar el cierre ordenado en una instancia existente, usa el comando
gcloud beta compute instances update
con la marca--graceful-shutdown
:gcloud beta compute instances update INSTANCE_NAME \ --graceful-shutdown \ --zone=ZONE
Reemplace lo siguiente:
Opcionalmente, para especificar un período de cierre gradual personalizado, incluya la marca
--graceful-shutdown-max-duration
:gcloud beta compute instances update INSTANCE_NAME \ --graceful-shutdown \ --graceful-shutdown-max-duration=MAX_DURATION \ --zone=ZONE
Reemplace
MAX_DURATION
con una duración para el período de apagado. El valor debe tener el formato del número de horas, minutos o segundos seguidos deh
,m
ys
respectivamente. Por ejemplo, especifique1h
para una hora o20m10s
para 20 minutos y 10 segundos.DESCANSAR
Para obtener más información sobre cómo actualizar las propiedades de una instancia, consulte Actualizar propiedades de instancia .
Habilite el cierre elegante al crear una instancia
Cuando crea una instancia informática que tiene habilitado el apagado ordenado, el período de apagado predeterminado es de 10 minutos. Opcionalmente, puede especificar un período de apagado personalizado entre un segundo y una hora.
Para crear una instancia que tenga habilitado el cierre ordenado, seleccione una de las siguientes opciones:
Consola
nube de gcloud
Para crear una instancia que tenga habilitado el apagado elegante, 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
Reemplace lo siguiente:
Opcionalmente, para especificar un período de cierre gradual personalizado, incluya 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
Reemplace
MAX_DURATION
con una duración para el período de cierre gradual. El valor debe tener el formato del número de horas, minutos o segundos seguidos deh
,m
ys
respectivamente. Por ejemplo, especifique1h
para una hora o20m10s
para 20 minutos y 10 segundos.DESCANSAR
Para crear una instancia que tenga habilitado el cierre ordenado, realice una solicitud
POST
al métodobeta.instances.insert
. En el cuerpo de la solicitud, incluya 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 } } }
Reemplace lo siguiente:
Opcionalmente, para especificar un período de cierre gradual personalizado, incluya 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" } } } }
Reemplace
MAX_DURATION
con una duración en segundos para el período de apagado gradual. El valor debe estar entre1
y3600
, que son 3600 segundos (una hora).Para obtener más opciones de configuración al crear una instancia, consulte Crear e iniciar una instancia de Compute Engine .
Habilite el cierre ordenado mientras crea instancias de forma masiva
Cuando crea instancias informáticas de forma masiva que tienen habilitado el apagado ordenado, el período de apagado predeterminado es de 10 minutos. Opcionalmente, puede especificar un período de apagado personalizado entre un segundo y una hora.
Para crear instancias de forma masiva que tengan habilitado el cierre ordenado, seleccione una de las siguientes opciones:
nube de gcloud
Para crear instancias de forma masiva que tengan habilitado el apagado elegante, use el comando
gcloud beta compute instances bulk create
con la marca--graceful-shutdown
.Por ejemplo, para crear instancias de forma masiva en una sola zona y especificar un patrón de nombre para las instancias, ejecute el siguiente comando:
gcloud beta compute instances bulk create \ --count=COUNT \ --graceful-shutdown \ --machine-type=MACHINE_TYPE \ --name-pattern="NAME_PATTERN" \ --zone=ZONE
Reemplace lo siguiente:
Opcionalmente, para especificar un período de cierre gradual personalizado, incluya 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
Reemplace
MAX_DURATION
con una duración para el período de cierre gradual. El valor debe tener el formato del número de horas, minutos o segundos seguidos deh
,m
ys
respectivamente. Por ejemplo, especifique1h
para una hora o20m10s
para 20 minutos y 10 segundos.DESCANSAR
Para crear instancias de forma masiva que tengan habilitado el cierre ordenado, realice una solicitud
POST
al métodoinstances.bulkInsert
beta . En el cuerpo de la solicitud, incluya el campogracefulShutdown
.Por ejemplo, para crear instancias de forma masiva en una sola zona y especificar un patrón de nombre para las instancias, realice 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 } } } }
Reemplace lo siguiente:
Opcionalmente, para especificar un período de cierre gradual personalizado, incluya 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" } } } } }
Reemplace
MAX_DURATION
con una duración en segundos para el período de apagado gradual. El valor debe estar entre1
y3600
, que son 3600 segundos (una hora).Para obtener más opciones de configuración al crear instancias de forma masiva, consulte Crear máquinas virtuales de forma masiva .
Habilite el cierre ordenado al crear una plantilla de instancia
Cuando crea una plantilla de instancia que tiene habilitado el apagado ordenado, el período de apagado predeterminado es de 10 minutos. Opcionalmente, puede especificar un período de apagado personalizado entre un segundo y una hora.
Todas las instancias informáticas creadas con la plantilla de instancias tienen habilitado el apagado ordenado.
Para crear una plantilla de instancia que tenga habilitado el apagado ordenado, seleccione una de las siguientes opciones:
Consola
nube de gcloud
Para crear una plantilla de instancia que tenga habilitado el apagado elegante, use 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 apagado ordenado, ejecute el siguiente comando:
gcloud beta compute instance-templates create INSTANCE_TEMPLATE_NAME \ --graceful-shutdown \ --instance-template-region=REGION \ --machine-type=MACHINE_TYPE
Reemplace lo siguiente:
Opcionalmente, para especificar un período 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
Reemplace
MAX_DURATION
con una duración para el período de apagado. El valor debe tener el formato del número de horas, minutos o segundos seguidos deh
,m
ys
respectivamente. Por ejemplo, especifique1h
para una hora o20m10s
para 20 minutos y 10 segundos.DESCANSAR
Para crear una plantilla de instancia que tenga habilitado el apagado ordenado, realice una solicitud
POST
a uno de los siguientes métodos:Por ejemplo, para crear una plantilla de instancia regional que tenga habilitado el cierre ordenado, realice 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 } } } }
Reemplace lo siguiente:
Opcionalmente, para especificar un período 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" } } } } }
Reemplace
MAX_DURATION
con una duración en segundos para el período de apagado. El valor debe estar entre1
y3600
, que son 3600 segundos (una hora).Para obtener más opciones de configuración al crear una plantilla de instancia, consulte Crear plantillas de instancia .
¿Qué sigue?
A menos que se indique lo contrario, el contenido de esta página está sujeto a la licencia Reconocimiento 4.0 de Creative Commons y las muestras de código están sujetas a la licencia Apache 2.0. Para obtener más información, consulta las políticas del sitio web de Google Developers. Java es una marca registrada de Oracle o sus afiliados.
Última actualización: 2025-04-17 (UTC).
-