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 cuando se detiene o borra.
Si configuras una instancia para que omita el cierre del SO invitado cuando se detiene o borra, Compute Engine cierra de inmediato el SO invitado cuando el estado de la instancia cambia a STOPPING
. Esta acción te ayuda a liberar cuota o recursos más rápido, ya que acelera la detención o 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 el borrado, incluido el intervalo predeterminado para el cierre limpio del SO invitado, consulta Operación de detención.
Antes de comenzar
-
Si aún no lo hiciste, configura la autenticación.
La autenticación verifica tu identidad para acceder a los servicios y las APIs de Google Cloud . Para ejecutar código o muestras desde un entorno de desarrollo local, puedes autenticarte en Compute Engine seleccionando una de las siguientes opciones:
Select the tab for how you plan to use the samples on this page:
gcloud
-
Instala Google Cloud CLI. Después de la instalación, inicializa Google Cloud CLI ejecutando el siguiente comando:
gcloud init
Si usas un proveedor de identidad externo (IdP), primero debes acceder a gcloud CLI con tu identidad federada.
- 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 proporciones a gcloud CLI.
Instala Google Cloud CLI. Después de la instalación, inicializa Google Cloud CLI ejecutando el siguiente comando:
gcloud init
Si usas un proveedor de identidad externo (IdP), primero debes acceder a gcloud CLI con tu identidad federada.
Para obtener más información, consulta Autentícate para usar REST en la documentación de autenticación de Google Cloud .
Roles requeridos
Para obtener los permisos que necesitas para configurar una instancia de modo que omita el cierre del SO invitado, pídele a tu administrador que te otorgue el rol de IAM Administrador de instancias de Compute (v1) (
roles/compute.instanceAdmin.v1
) en tu proyecto. Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.Este rol predefinido contiene los permisos necesarios para configurar una instancia de modo que omita el cierre del SO invitado. Para ver los permisos exactos que son necesarios, expande la sección Permisos requeridos:
Permisos necesarios
Se requieren los siguientes permisos para configurar una instancia de modo que omita el cierre del SO invitado:
-
Para crear una instancia, haz lo siguiente:
compute.instances.create
en el proyecto- Para usar una imagen personalizada con el fin de crear la VM, sigue estos pasos:
compute.images.useReadOnly
en la imagen - Si deseas usar una instantánea para crear la VM, sigue estos pasos:
compute.snapshots.useReadOnly
en la instantánea - Para usar una plantilla de instancias a fin de crear la VM, haz lo siguiente:
compute.instanceTemplates.useReadOnly
en la plantilla de instancias - Para asignar una red heredada a la VM:
compute.networks.use
en el proyecto - Si deseas 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 y punto heredado;
compute.networks.useExternalIp
en el proyecto - A fin de 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 - A fin de configurar los metadatos de la instancia de VM para la VM y los puntos, sigue estos pasos:
compute.instances.setMetadata
en el proyecto - A fin de configurar etiquetas para la VM y los puntos;
compute.instances.setTags
en la VM - Si deseas configurar etiquetas para la VM, haz lo siguiente:
compute.instances.setLabels
en la VM - A fin de configurar una cuenta de servicio para que la VM la use
compute.instances.setServiceAccount
en la VM - Si deseas crear un disco nuevo para la VM:
compute.disks.create
en el proyecto - Para conectar un disco existente en modo de solo lectura o de lectura y escritura, haz lo siguiente:
compute.disks.use
en el disco - Para conectar un disco existente en modo de solo lectura y dos puntos, sigue estos pasos:
compute.disks.useReadOnly
en el disco
-
Para crear una plantilla de instancias:
compute.instanceTemplates.create
en el proyecto -
Para actualizar una instancia, haz
compute.instances.update
en ella.
También puedes obtener estos permisos con roles personalizados o con otros roles predefinidos.
Configura instancias para omitir el cierre del SO invitado
Para configurar una instancia de procesamiento de modo que omita el cierre del SO invitado cuando detengas o borres la instancia, usa uno de los siguientes métodos:
Configura el cierre del SO invitado en una instancia existente
Configura el cierre del SO invitado mientras creas una instancia
Configura el cierre del SO invitado mientras creas instancias de forma masiva
Configura el cierre del SO invitado mientras creas una plantilla de instancias
Configura el cierre del SO invitado en una instancia existente
Solo puedes configurar una instancia de procesamiento para que omita el cierre del SO invitado si la instancia está detenida (
TERMINATED
).Para configurar una instancia de modo que omita el cierre del SO invitado, selecciona una de las siguientes opciones:
gcloud
Si aún no lo hiciste, detén la instancia.
Para configurar una instancia de modo que omita el cierre 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
Reemplaza lo siguiente:
INSTANCE_NAME
: El nombre de la instancia.ZONE
: Es la zona en la que existe la instancia.
REST
Si aún no lo hiciste, detén la instancia.
Para configurar una instancia de modo que omita el cierre del SO invitado, realiza una solicitud
POST
al métodoinstances.setScheduling
en versión beta. En el cuerpo de la solicitud, incluye el camposkipGuestOsShutdown
y configúralo comotrue
: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 Actualiza las propiedades de las instancias.
Configura el cierre del SO invitado mientras creas una instancia
Para crear una instancia de procesamiento configurada para omitir el apagado del SO invitado, selecciona una de las siguientes opciones:
gcloud
Para crear una instancia configurada para omitir el cierre 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
Reemplaza lo siguiente:
INSTANCE_NAME
: El nombre de la instancia.MACHINE_TYPE
: Es el tipo de máquina que se usará para la instancia.ZONE
: Es la zona en la que deseas crear la instancia.
REST
Para crear una instancia configurada para omitir el cierre del SO invitado, realiza una solicitud
POST
al métodoinstances.insert
. En el cuerpo de la solicitud, incluye el camposkipGuestOsShutdown
configurado comotrue
: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 } }
Reemplaza lo siguiente:
PROJECT_ID
: ID del proyecto en el que deseas crear la instancia.ZONE
: Es la zona en la que deseas crear la instancia.INSTANCE_NAME
: El nombre de la instancia.MACHINE_TYPE
: Es el tipo de máquina que se usará 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 compatibles, consulta Imágenes públicas.IMAGE
: especifica una de las siguientes opciones:una versión específica de la imagen de SO; por ejemplo,
debian-12-bookworm-v20240617
.Una familia de imágenes, que debes formatear como
family/IMAGE_FAMILY
. Este valor especifica la imagen de SO no obsoleta más reciente. Por ejemplo, si especificasfamily/debian-12
, Compute Engine usa 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 las familias de imágenes, consulta Prácticas recomendadas para las familias de imágenes.
Para obtener más información sobre cómo crear una instancia, consulta Crea y, luego, inicia una instancia de Compute Engine.
Configura el cierre del SO invitado mientras creas instancias de forma masiva
Para crear instancias de procesamiento de forma masiva que estén configuradas para omitir el cierre del SO invitado, selecciona una de las siguientes opciones:
gcloud
Para crear instancias de forma masiva que estén configuradas para omitir el cierre del SO invitado, usa el comando
gcloud compute instances bulk create
con la marca--skip-guest-os-shutdown
.Por ejemplo, para crear instancias de forma masiva 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
Reemplaza lo siguiente:
COUNT
: Es la cantidad de instancias que se crearán.MACHINE_TYPE
: Es el tipo de máquina que se usará para las instancias.NAME_PATTERN
: Es el patrón del nombre de las instancias. Para reemplazar una secuencia de números en el nombre de una instancia, usa una secuencia de caracteres hash (#
). Por ejemplo, si usasinstance-#
como patrón de nombre, Compute Engine genera instancias con nombres que comienzan coninstance-1
,instance-2
y continúa con este patrón incremental hasta la cantidad de instancias que especifiques enCOUNT
.ZONE
: Es la zona en la que deseas crear instancias.
REST
Para crear instancias de forma masiva que estén configuradas para omitir el cierre del SO invitado, realiza una solicitud
POST
al métodoinstances.bulkInsert
. En el cuerpo de la solicitud, incluye el camposkipGuestOsShutdown
configurado comotrue
.Por ejemplo, para crear instancias de forma masiva que usen un patrón de nombre en una sola zona, realiza 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 } } }
Reemplaza lo siguiente:
PROJECT_ID
: Es el ID del proyecto en el que deseas crear instancias de forma masiva.ZONE
: Es la zona en la que deseas crear instancias.COUNT
: Es la cantidad de instancias que se crearán.NAME_PATTERN
: Es el patrón del nombre de las instancias. Para reemplazar una secuencia de números en el nombre de una instancia, usa una secuencia de caracteres hash (#
). Por ejemplo, si usasinstance-#
como patrón de nombre, Compute Engine genera instancias con nombres que comienzan coninstance-1
,instance-2
y continúa con este patrón incremental hasta la cantidad de instancias que especifiques enCOUNT
.MACHINE_TYPE
: Es el tipo de máquina que se usará 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 compatibles, consulta Imágenes públicas.IMAGE
: especifica una de las siguientes opciones:una versión específica de la imagen de SO; por ejemplo,
debian-12-bookworm-v20240617
.Una familia de imágenes, que debes formatear como
family/IMAGE_FAMILY
. Este valor especifica la imagen de SO no obsoleta más reciente. Por ejemplo, si especificasfamily/debian-12
, Compute Engine usa 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 las familias de imágenes, consulta Prácticas recomendadas para las familias de imágenes.
Para obtener más información sobre cómo crear instancias de forma masiva, consulta Crea instancias de forma masiva.
Configura el cierre del SO invitado mientras creas una plantilla de instancias
Después de crear una plantilla de instancias configurada para omitir el cierre del SO invitado cuando detienes o borras instancias de procesamiento, puedes usar la plantilla de instancias para hacer lo siguiente:
Puedes configurar las instancias en un grupo de instancias administrado (MIG) para que omitan el cierre del SO invitado cuando se detengan o borren si haces lo siguiente:
Crea una instancia configurada para omitir el cierre del SO invitado
Para crear una plantilla de instancias configurada para omitir el cierre del SO invitado, selecciona una de las siguientes opciones:
gcloud
Para crear una plantilla de instancias configurada para omitir el cierre 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 instancias regional que especifique que se omita el cierre del SO invitado, ejecuta el siguiente comando. Si deseas crear una plantilla de instancias 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
Reemplaza lo siguiente:
INSTANCE_TEMPLATE_NAME
: el nombre de la plantilla de instancias.REGION
: Es la región en la que deseas crear la plantilla de instancias.MACHINE_TYPE
: Es el tipo de máquina que se especificará en la plantilla de instancias.
REST
Para crear una plantilla de instancias configurada para omitir el cierre del SO invitado, realiza una solicitud
POST
a uno de los siguientes métodos:Para crear una plantilla de instancias global: método
instanceTemplates.insert
Para crear una plantilla de instancias regional: método
regionInstanceTemplates.insert
En el cuerpo de la solicitud, incluye el campo
skipGuestOsShutdown
configurado comotrue
.Por ejemplo, para crear una plantilla de instancias regional que especifique que se omita el cierre del SO invitado, realiza 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 } } }
Reemplaza lo siguiente:
PROJECT_ID
: Es el ID del proyecto en el que deseas crear la plantilla de instancias.REGION
: Es la región en la que deseas crear la plantilla de instancias.INSTANCE_TEMPLATE_NAME
: el nombre de la plantilla de 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 compatibles, consulta Imágenes públicas.IMAGE
: especifica una de las siguientes opciones:una versión específica de la imagen de SO; por ejemplo,
debian-12-bookworm-v20240617
.Una familia de imágenes, que debe tener el formato
family/IMAGE_FAMILY
. Esto especifica la imagen de SO no obsoleta más reciente. Por ejemplo, si especificasfamily/debian-12
, se usa la versión más reciente de la familia de imágenes de Debian 12. Para obtener más información sobre el uso de las familias de imágenes, consulta Prácticas recomendadas para las familias de imágenes.
MACHINE_TYPE
: Es el tipo de máquina que se especificará en la plantilla de instancias.
Para obtener más información sobre cómo crear una plantilla de instancias, consulta Crea plantillas de instancias.
Cómo ver la configuración de apagado del SO invitado
Puedes verificar si Compute Engine omite el cierre del SO invitado cuando detienes o borras una instancia de procesamiento.
Para ver el tiempo de apagado del SO invitado en una instancia, selecciona una de las siguientes opciones:
gcloud
Para ver los detalles de una instancia y si omite el cierre del SO invitado, usa el comando
gcloud compute instances describe
:gcloud compute instances describe INSTANCE_NAME \ --zone=ZONE
Reemplaza lo siguiente:
INSTANCE_NAME
: El nombre de la instancia.ZONE
: Es la zona en la que existe la instancia.
Si configuraste la instancia para que omita el cierre del SO invitado, el resultado contendrá el campo
skipGuestOsShutdown
establecido entrue
, 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 establece enfalse
, el SO invitado usa el tiempo de apagado predeterminado.REST
Para ver los detalles de una instancia y si omite el cierre del SO invitado, realiza una solicitud
GET
al métodoinstances.get
:GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME
Reemplaza lo siguiente:
PROJECT_ID
: Es el ID del proyecto en el que existe la instancia.ZONE
: Es la zona en la que existe la instancia.INSTANCE_NAME
: El nombre de la instancia.
Si configuraste la instancia para que omita el cierre del SO invitado, el resultado contendrá el campo
skipGuestOsShutdown
establecido entrue
, 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 establece enfalse
, el SO invitado usa el tiempo de apagado predeterminado.¿Qué sigue?
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-09-18 (UTC)
-