En este documento, se explica cómo suspender o reanudar instancias de Compute Engine. Para obtener más información sobre cómo suspender, detener o restablecer instancias, consulta Cómo suspender, detener o restablecer instancias de Compute Engine.
Si deseas conservar tu instancia de Compute Engine, pero no quieres que se te cobre por ella cuando no esté en uso, puedes suspenderla. Si suspendes una instancia, se conserva y se migra el contenido de la memoria de la instancia al almacenamiento. Después de reanudar la instancia, Compute Engine migra la memoria de la instancia del almacenamiento a la instancia, y esta vuelve a comenzar a ejecutarse.
Suspender una instancia de Compute Engine es útil para lo siguiente:
Entornos de prueba y desarrollo que no se usan por completo durante los períodos de inactividad, como las noches o los fines de semana, y que deseas mantener para reducir los costos o hacer una inicialización más rápida que la creación de instancias nuevas.
Aplicaciones que requieren un largo período de inicialización después de que la instancia termina de iniciarse, pero antes de que la aplicación esté lista para hacer su primera solicitud, como estaciones de trabajo de desarrolladores virtuales o aplicaciones complejas de Java.
Antes de comenzar
-
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 API 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:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
-
Para suspender una instancia, haz lo siguiente:
compute.instances.suspend
-
Para reanudar una instancia, haz lo siguiente:
compute.instances.resume
Solo puedes suspender una instancia si el SO invitado la admite. Para obtener más información, consulta Detalles de los sistemas operativos.
Solo puedes suspender una instancia que use Debian 8 o 9 como SO invitado si configuras el SO antes de suspender la VM.
Solo puedes suspender una instancia durante un máximo de 60 días antes de que Compute Engine cambie automáticamente su estado a
TERMINATED
.Puedes suspender VMs Spot o instancias interrumpibles. Sin embargo, si Compute Engine interrumpe la instancia antes de que se complete la operación de suspensión, Compute Engine finaliza la operación de suspensión y, luego, interrumpe las instancias.
No puedes suspender instancias con GPUs conectadas.
No puedes suspender instancias de Bare Metal.
No puedes suspender las Confidential VMs.
No puedes suspender instancias mediante los procesos estándar integrados en su entorno de invitado. Los comandos como
systemctl suspend
en Ubuntu 16.04 o versiones posteriores no son compatibles. Si se realiza una llamada, Compute Engine ignora la señal del invitado.No puedes suspender instancias con más de 208 GB de memoria.
No puedes suspender instancias que tengan discos adjuntos protegidos por CSEK.
Opción recomendada: Configura el ACPID
Si aún no lo hiciste, conéctate a tu instancia de Linux.
Crea la carpeta
events
en la carpetaacpi
:sudo mkdir -p /etc/acpi/events/
Configura el ACPID para controlar el evento del botón de suspensión:
cat <<EOF | sudo tee /etc/acpi/events/sleepbtn-acpi-support event=button[ /]sleep action=/etc/acpi/sleepbtn-acpi-support.sh EOF
Crea la secuencia de comandos para controlar eventos de suspensión:
cat <<EOF | sudo tee /etc/acpi/sleepbtn-acpi-support.sh #!/bin/sh echo mem > /sys/power/state EOF
Configura los permisos para la secuencia de comandos:
sudo chmod 755 /etc/acpi/sleepbtn-acpi-support.sh
Para que se apliquen los cambios, reinicia el ACPID:
sudo systemctl restart acpid.service
Si aún no lo hiciste, conéctate a tu instancia de Linux.
Instala D-Bus:
sudo apt-get install dbus
Para que se apliquen los cambios, reinicia
logind
:sudo systemctl restart systemd-logind.service
Si tu instancia no tiene discos SSD locales conectados, consulta Cómo suspender una instancia sin discos SSD locales.
Si tu instancia tiene discos SSD locales conectados y deseas descartar o preservar (Versión preliminar) los datos del SSD local de los discos, consulta Cómo suspender una instancia con discos SSD locales.
En la consola de Google Cloud, ve a la página Instancias de VM.
Elige una o más instancias que desees suspender.
Haz clic en
Suspender y, luego, en Suspender para confirmar.INSTANCE_NAMES
: Es una lista de nombres de instancias separados por espacios en blanco, por ejemplo,instance-01 instance-02 instance-03
.ZONE
: Es la zona en la que se encuentran las instancias.PROJECT_ID
: Es el ID del proyecto en el que se encuentra la instancia.ZONE
: Es la zona en la que se encuentra la instancia.INSTANCE_NAME
: El nombre de la instancia.Para preservar los datos de los discos SSD locales conectados a una instancia, suspende la instancia con gcloud CLI o la API de REST.
Para suspender varias instancias de forma simultánea, usa la consola de Google Cloud o, en el caso de las instancias ubicadas en la misma zona, gcloud CLI.
En la consola de Google Cloud, ve a la página Instancias de VM.
Elige una o más instancias que desees suspender.
Haz clic en
Suspender y, luego, en Suspender para confirmar.Para descartar los datos del SSD local, usa el comando
gcloud compute instances suspend
con la marca--discard-local-ssd=true
:gcloud compute instances suspend INSTANCE_NAMES \ --discard-local-ssd=true \ --zone=ZONE
Para conservar los datos del SSD local, usa el comando
gcloud beta compute instances suspend
con la marca--discard-local-ssd=false
:gcloud beta compute instances suspend INSTANCE_NAMES \ --discard-local-ssd=false \ --zone=ZONE
INSTANCE_NAMES
: Es una lista de nombres de instancias separados por espacios en blanco, por ejemplo,instance-01 instance-02 instance-03
.ZONE
: Es la zona en la que se encuentran las instancias.Para descartar los datos del SSD local, realiza una solicitud
POST
al métodoinstances.suspend
. En la URL de la solicitud, incluye el parámetro de consultadiscardLocalSsd
configurado comotrue
:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/suspend?discardLocalSsd=true
Para conservar los datos de las SSD locales, realiza una solicitud
POST
al métodobeta.instances.suspend
. En la URL de la solicitud, incluye el parámetro de consultadiscardLocalSsd
configurado comofalse
:POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/suspend?discardLocalSsd=false
PROJECT_ID
: Es el ID del proyecto en el que se encuentra la instancia.ZONE
: Es la zona en la que se encuentra la instancia.INSTANCE_NAME
: El nombre de la instancia.Solo puedes reanudar una instancia si hay capacidad suficiente en la zona en la que se encuentra. Por lo general, esto no es un problema. Si tienes problemas para reanudar una instancia, vuelve a intentarlo más tarde.
Si conectaste discos SSD locales a la instancia y elegiste conservar los datos de SSD locales cuando la suspendiste, es posible que debas volver a activar los discos SSD locales después de reanudarla. Para obtener más información, consulta cómo volver a activar discos que no son de inicio en instancias de Linux o instancias de Windows.
En la consola de Google Cloud, ve a la página Instancias de VM.
Selecciona una o más instancias suspendidas que quieras reanudar.
Haz clic en
Iniciar / Reanudar y, luego, en Iniciar.INSTANCE_NAMES
: Es una lista de nombres de instancias separados por espacios en blanco, por ejemplo,instance-01 instance-02 instance-03
.ZONE
: Es la zona en la que se encuentran las instancias suspendidas.INSTANCE_NAME
: Es el nombre de la instancia suspendida que se reanudará.PROJECT_ID
: El ID del proyecto en el que se encuentra la instancia suspendida.ZONE
: Es la zona en la que se encuentra la instancia suspendida.
Go
Para usar las muestras de Go de esta página en un entorno de desarrollo local, instala e inicializa gcloud CLI y, luego, configura las credenciales predeterminadas de la aplicación con tus credenciales de usuario.
Para obtener más información, consulta Set up authentication for a local development environment.
Java
Para usar las muestras de Java de esta página en un entorno de desarrollo local, instala e inicializa gcloud CLI y, luego, configura las credenciales predeterminadas de la aplicación con tus credenciales de usuario.
Para obtener más información, consulta Set up authentication for a local development environment.
Node.js
Para usar las muestras de Node.js de esta página en un entorno de desarrollo local, instala e inicializa gcloud CLI y, luego, configura las credenciales predeterminadas de la aplicación con tus credenciales de usuario.
Para obtener más información, consulta Set up authentication for a local development environment.
PHP
Para usar las muestras de PHP de esta página en un entorno de desarrollo local, instala e inicializa gcloud CLI y, luego, configura las credenciales predeterminadas de la aplicación con tus credenciales de usuario.
Para obtener más información, consulta Set up authentication for a local development environment.
Python
Para usar las muestras de Python de esta página en un entorno de desarrollo local, instala e inicializa gcloud CLI y, luego, configura las credenciales predeterminadas de la aplicación con tus credenciales de usuario.
Para obtener más información, consulta Set up authentication for a local development environment.
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.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
Si deseas obtener más información, consulta Autentica para usar REST en la documentación de autenticación de Google Cloud.
Roles obligatorios
Para obtener los permisos que necesitas para suspender o reanudar una instancia de procesamiento, pídele a tu administrador que te otorgue el rol de IAM Administrador de instancias de Compute (v1) (
roles/compute.instanceAdmin.v1
) en la instancia. 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 suspender o reanudar una instancia de procesamiento. Para ver los permisos exactos que son necesarios, expande la sección Permisos requeridos:
Permisos necesarios
Se requieren los siguientes permisos para suspender o reanudar una instancia de procesamiento:
También puedes obtener estos permisos con roles personalizados o con otros roles predefinidos.
Limitaciones
Cuando se suspende una instancia de procesamiento, se aplican las siguientes limitaciones:
Habilita las operaciones de suspensión en Debian 8 o 9
Si una instancia de procesamiento ejecuta Debian 8 y 9 como su SO invitado, antes de suspender la instancia, debes habilitar las operaciones de suspensión y reanudación. Para ello, realiza una de las siguientes acciones:
Configura el ACPID
Para habilitar la operación de suspensión y reanudación en Debian 8 o 9, puedes configurar el daemon de eventos de Interfaz avanzada y configuración avanzada (ACPID) para controlar el evento del botón de suspensión. Después de habilitar el evento del botón de suspensión profunda, puedes agregar una secuencia de comandos de shell para controlar el evento de suspensión, como se describe en esta sección.
Para configurar el ACPID para que admita operaciones de suspensión y reanudación, haz lo siguiente:
Instala D-Bus
Para habilitar la operación de suspensión y reanudación en Debian 8 o 9, puedes instalar D-Bus.
Para instalar D-Bus en el SO invitado de tu instancia de procesamiento cuando el SO usa Debian 8 o 9, haz lo siguiente:
Suspende una instancia
Si el SO huésped de tu instancia de procesamiento usa Debian 8 o 9, antes de suspender la instancia, debes configurar el SO huésped para que admita las operaciones de suspensión y reanudación como se describe en este documento.
Para suspender una instancia, usa uno de los siguientes métodos según si la instancia tiene discos SSD locales conectados:
Cómo suspender una instancia sin discos SSD locales
Puedes suspender varias instancias de procesamiento de forma simultánea o individual. Para varias instancias, usa la consola de Google Cloud o, para instancias ubicadas en la misma zona, Google Cloud CLI. Para instancias individuales, selecciona cualquiera de las siguientes opciones:
Console
gcloud
Para suspender una o más instancias en una sola zona, usa el comando
gcloud compute instances suspend
:gcloud compute instances suspend INSTANCE_NAMES \ --zone=ZONE
Reemplaza lo siguiente:
Go
Java
Node.js
PHP
Python
REST
Para suspender una instancia, realiza una solicitud
POST
al métodoinstances.suspend
:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/suspend
Reemplaza lo siguiente:
Suspende una instancia con discos SSD locales
Según la cantidad de instancias de procesamiento que deseas suspender de forma simultánea y si necesitas conservar los datos de sus discos SSD locales conectados, haz lo siguiente:
Para suspender una o más instancias que tengan discos SSD locales conectados, selecciona una de las siguientes opciones:
Console
gcloud
Cuando suspendas una o más instancias en una sola zona que tengan discos SSD locales conectados, especifica si quieres descartar o conservar los datos del SSD local de la siguiente manera:
Reemplaza lo siguiente:
REST
Cuando suspendas una instancia que tiene discos SSD locales conectados, especifica si quieres descartar o preservar los datos de SSD locales de la siguiente manera:
Reemplaza lo siguiente:
Reanuda una instancia suspendida
Antes de reanudar una instancia de procesamiento suspendida, ten en cuenta lo siguiente:
Puedes reanudar varias instancias de forma simultánea o individual. Para varias instancias, usa la consola de Google Cloud o, para instancias ubicadas en la misma zona, gcloud CLI. Para instancias individuales, selecciona cualquiera de las siguientes opciones:
Console
gcloud
Para reanudar una o más instancias suspendidas en una sola zona, usa el comando
gcloud compute instances resume
:gcloud compute instances resume INSTANCE_NAMES \ --zone=ZONE
Reemplaza lo siguiente:
Go
Java
Node.js
PHP
Python
REST
Para reanudar una instancia suspendida, realiza una solicitud
POST
al métodoinstances.resume
:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/resume
Reemplaza lo siguiente:
¿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: 2024-12-22 (UTC)
-