En este documento se explica cómo reducir el tiempo de apagado de una instancia de Compute Engine configurándola para que omita el apagado del SO invitado al detenerla o eliminarla.
Si configuras una instancia para que omita el apagado del SO invitado al detenerse o eliminarse, Compute Engine apagará inmediatamente el SO invitado cuando el estado de la instancia cambie a STOPPING
. Esta acción te ayuda a liberar cuota o recursos más rápido, ya que acelera la detención o la eliminación de una instancia. Para obtener más información sobre las fases por las que pasa una instancia durante la detención o la eliminación, incluido el intervalo predeterminado para el cierre limpio del SO invitado, consulta Operación de detención.
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:
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 configurar una instancia de forma que omita el apagado del SO invitado, 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 configurar una instancia de forma que omita el apagado del SO invitado. Para ver los permisos exactos que se necesitan, despliega la sección Permisos necesarios:
Permisos obligatorios
Para configurar una instancia de forma que omita el apagado del SO invitado, se necesitan los siguientes permisos:
-
Para crear una instancia, 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 actualizar una instancia, haz lo siguiente:
compute.instances.update
en la instancia
También puedes obtener estos permisos con roles personalizados u otros roles predefinidos.
Configurar instancias para omitir el apagado del SO invitado
Para configurar una instancia de cálculo de forma que se omita el apagado del SO invitado al detener o eliminar la instancia, utilice uno de los siguientes métodos:
Configurar el apagado del SO invitado al crear una instancia
Configurar el apagado del SO invitado al crear instancias en bloque
Configurar el apagado del SO invitado al crear una plantilla de instancia
Configurar el apagado del SO invitado en una instancia ya creada
Solo puedes configurar una instancia de proceso para que omita el apagado del SO invitado si la instancia está detenida (
TERMINATED
).Para configurar una instancia de forma que omita el apagado del SO invitado, selecciona una de las siguientes opciones:
gcloud
Si aún no lo has hecho, detén la instancia.
Para configurar una instancia de forma que omita el apagado del SO invitado, usa el comando
gcloud beta compute instances set-scheduling
con la marca--skip-guest-os-shutdown
:gcloud beta compute instances set-scheduling INSTANCE_NAME \ --skip-guest-os-shutdown \ --zone=ZONE
Haz los cambios siguientes:
INSTANCE_NAME
: el nombre de la instancia.ZONE
: la zona en la que se encuentra la instancia.
REST
Si aún no lo has hecho, detén la instancia.
Para configurar una instancia de forma que omita el apagado del SO invitado, haz una solicitud
POST
al métodoinstances.setScheduling
beta. En el cuerpo de la solicitud, incluye el camposkipGuestOsShutdown
y asigna el valortrue
:POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/setScheduling { "skipGuestOsShutdown": true }
Para obtener más información sobre cómo actualizar una instancia, consulta Actualizar las propiedades de una instancia.
Configurar el apagado del SO invitado al crear una instancia
Para crear una instancia de proceso que esté configurada para omitir el apagado del SO invitado, selecciona una de las siguientes opciones:
gcloud
Para crear una instancia configurada para omitir el apagado del SO invitado, usa el comando
gcloud compute instances create
con la marca--skip-guest-os-shutdown
:gcloud compute instances create INSTANCE_NAME \ --machine-type=MACHINE_TYPE \ --skip-guest-os-shutdown \ --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 quieres crear la instancia.
REST
Para crear una instancia configurada para omitir el apagado del SO invitado, haz una solicitud
POST
al métodoinstances.insert
. En el cuerpo de la solicitud, incluye el camposkipGuestOsShutdown
con el valortrue
:POST https://compute.googleapis.com/compute/v1/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": { "skipGuestOsShutdown": true } }
Haz los cambios siguientes:
PROJECT_ID
: el ID del proyecto en el que quieres crear la instancia.ZONE
: la zona en la que quieres crear la instancia.INSTANCE_NAME
: el nombre de la instancia.MACHINE_TYPE
: el tipo de máquina que se va a usar en 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 debes formatear como
family/IMAGE_FAMILY
. Este valor especifica la imagen del SO más reciente que no está obsoleta. Por ejemplo, si especificasfamily/debian-12
, Compute Engine usará la versión más reciente de la familia de imágenes Debian 12. Para obtener más información sobre cómo usar familias de imágenes, consulta las prácticas recomendadas para familias de imágenes.
Para obtener más información sobre cómo crear una instancia, consulta el artículo Crear e iniciar una instancia de Compute Engine.
Configurar el apagado del SO invitado al crear instancias en bloque
Para crear instancias de computación en bloque que estén configuradas para omitir el apagado del SO invitado, selecciona una de las siguientes opciones:
gcloud
Para crear instancias en bloque que estén configuradas para omitir el apagado del SO invitado, usa el comando
gcloud compute instances bulk create
con la marca--skip-guest-os-shutdown
.Por ejemplo, para crear instancias en bloque que usen un patrón de nombre en una sola zona, ejecuta el siguiente comando:
gcloud compute instances bulk create \ --count=COUNT \ --machine-type=MACHINE_TYPE \ --name-pattern="NAME_PATTERN" \ --skip-guest-os-shutdown \ --zone=ZONE
Haz los cambios siguientes:
COUNT
: número de instancias que se van a crear.MACHINE_TYPE
: el tipo de máquina que se va a usar en 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 usasinstance-#
como patrón de nombre, Compute Engine genera instancias con nombres que empiezan porinstance-1
yinstance-2
, y continúa con este patrón incremental hasta el número de instancias que especifiques enCOUNT
.ZONE
: la zona en la que quieres crear instancias.
REST
Para crear instancias en bloque que estén configuradas para omitir el apagado del SO invitado, haz una solicitud
POST
al métodoinstances.bulkInsert
. En el cuerpo de la solicitud, incluye el camposkipGuestOsShutdown
con el valortrue
.Por ejemplo, para crear instancias de forma masiva que usen un patrón de nombre en una sola zona, haz una solicitud
POST
de la siguiente manera:POST https://compute.googleapis.com/compute/v1/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": { "skipGuestOsShutdown": true } } }
Haz los cambios siguientes:
PROJECT_ID
: el ID del proyecto en el que quieres crear instancias en bloque.ZONE
: la zona en la que quieres crear instancias.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 usasinstance-#
como patrón de nombre, Compute Engine genera instancias con nombres que empiezan porinstance-1
yinstance-2
, y continúa con este patrón incremental hasta el número de instancias que especifiques enCOUNT
.MACHINE_TYPE
: el tipo de máquina que se va a usar en 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 debes formatear como
family/IMAGE_FAMILY
. Este valor especifica la imagen del SO más reciente que no está obsoleta. Por ejemplo, si especificasfamily/debian-12
, Compute Engine usará la versión más reciente de la familia de imágenes Debian 12. Para obtener más información sobre cómo usar familias de imágenes, consulta las prácticas recomendadas para familias de imágenes.
Para obtener más información sobre cómo crear instancias en bloque, consulta el artículo Crear instancias en bloque.
Configurar el apagado del SO invitado al crear una plantilla de instancia
Después de crear una plantilla de instancia configurada para omitir el apagado del SO invitado cuando detengas o elimines instancias de Compute, puedes usar la plantilla de instancia para hacer lo siguiente:
Puedes configurar las instancias de un grupo de instancias gestionado (MIG) para que omitan el apagado del SO invitado al detenerse o eliminarse si haces lo siguiente:
Crear una instancia configurada para omitir el apagado del SO invitado
Para crear una plantilla de instancia configurada para omitir el apagado del SO invitado, selecciona una de las siguientes opciones:
gcloud
Para crear una plantilla de instancia configurada para omitir el apagado del SO invitado, usa el comando
gcloud compute instance-templates create
con la marca--skip-guest-os-shutdown
.Por ejemplo, para crear una plantilla de instancia regional que especifique que se omita el apagado del SO invitado, ejecuta el siguiente comando. Si quieres crear una plantilla de instancia global, usa el mismo comando sin la marca
--instance-template-region
.gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \ --instance-template-region=REGION \ --machine-type=MACHINE_TYPE \ --skip-guest-os-shutdown
Haz los cambios siguientes:
INSTANCE_TEMPLATE_NAME
: el nombre de la plantilla de instancia.REGION
: la región en la que quieres crear la plantilla de instancia.MACHINE_TYPE
: el tipo de máquina que se debe especificar en la plantilla de instancia.
REST
Para crear una plantilla de instancia configurada para omitir el apagado del SO invitado, haz una solicitud
POST
a uno de los siguientes métodos:Para crear una plantilla de instancia global, usa el método
instanceTemplates.insert
.Para crear una plantilla de instancia regional, usa el método
regionInstanceTemplates.insert
.
En el cuerpo de la solicitud, incluye el campo
skipGuestOsShutdown
con el valortrue
.Por ejemplo, para crear una plantilla de instancia regional que especifique que se omita el apagado del SO invitado, haz una solicitud
POST
de la siguiente manera:POST https://compute.googleapis.com/compute/v1/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": { "skipGuestOsShutdown": true } } }
Haz los cambios siguientes:
PROJECT_ID
: el ID del proyecto en el que quieres crear la plantilla de instancia.REGION
: la región en la que quieres 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
. 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 que se debe especificar en la plantilla de instancia.
Para obtener más información sobre cómo crear una plantilla de instancia, consulta el artículo Crear plantillas de instancia.
Ver el ajuste de apagado del SO invitado
Puedes comprobar si Compute Engine omite el cierre del SO invitado cuando detienes o eliminas una instancia de computación.
Para ver el tiempo de apagado del SO invitado de una instancia, selecciona una de las siguientes opciones:
gcloud
Para ver los detalles de una instancia y si omite el apagado del SO invitado, usa el comando
gcloud compute instances describe
:gcloud compute instances describe INSTANCE_NAME \ --zone=ZONE
Haz los cambios siguientes:
INSTANCE_NAME
: el nombre de la instancia.ZONE
: la zona en la que se encuentra la instancia.
Si has configurado la instancia para que omita el apagado del SO invitado, el resultado contendrá el campo
skipGuestOsShutdown
con el valortrue
, como en el siguiente ejemplo:... scheduling: automaticRestart: true skipGuestOsShutdown: true onHostMaintenance: MIGRATE preemptible: false provisioningModel: STANDARD ...
De lo contrario, si falta el campo
skipGuestOsShutdown
o se le asigna el valorfalse
, el SO invitado usará el tiempo de apagado predeterminado.REST
Para ver los detalles de una instancia y si omite el apagado del SO invitado, haz una solicitud
GET
al métodoinstances.get
:GET https://compute.googleapis.com/compute/v1/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 la instancia.
Si has configurado la instancia para que omita el apagado del SO invitado, el resultado contendrá el campo
skipGuestOsShutdown
con el valortrue
, como en el siguiente ejemplo:{ ... "scheduling": { "automaticRestart": true, "skipGuestOsShutdown": true, "onHostMaintenance": "MIGRATE", "preemptible": false, "provisioningModel": "STANDARD" }, ... }
De lo contrario, si falta el campo
skipGuestOsShutdown
o se le asigna el valorfalse
, el SO invitado usará el tiempo de apagado predeterminado.Siguientes pasos
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-19 (UTC).
-