Este documento explica como suspender ou retomar instâncias do Compute Engine. Para saber mais sobre como suspender, interromper ou redefinir instâncias, consulte Suspender, interromper ou redefinir instâncias do Compute Engine.
Se você quiser manter sua instância do Compute Engine, mas não quiser gerar cobranças por ela quando ela não estiver em uso, suspenda a instância. A suspensão de uma instância preserva a instância e migra o conteúdo da memória dela para o armazenamento. Depois de retomar a instância, o Compute Engine migra a memória da instância do armazenamento de volta para a instância, e ela começa a ser executada novamente.
A suspensão de uma instância do Compute Engine é útil para:
Ambientes de desenvolvimento e teste que não estão sendo totalmente utilizados durante períodos de inatividade, como durante noites ou fins de semana, e que você quer manter para economizar custos ou ter uma inicialização mais rápida do que criar novas instâncias.
Aplicativos que exigem um longo período de inicialização depois que a instância é inicializada, mas antes que o aplicativo esteja pronto para atender à primeira solicitação, como estações de trabalho de desenvolvedores virtuais ou aplicativos Java complexos.
Antes de começar
-
Configure a autenticação, caso ainda não tenha feito isso.
A autenticação é
o processo de verificação da sua identidade para acesso a serviços e APIs do Google Cloud .
Para executar códigos ou amostras de um ambiente de desenvolvimento local, autentique-se no
Compute Engine selecionando uma das seguintes opções:
Select the tab for how you plan to use the samples on this page:
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
-
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.
Go
Para usar os exemplos Go desta página em um ambiente de desenvolvimento local, instale e inicialize o gcloud CLI e e configure o Application Default Credentials com suas credenciais de usuário.
Confira mais informações em Set up authentication for a local development environment.
Java
Para usar os exemplos Java desta página em um ambiente de desenvolvimento local, instale e inicialize o gcloud CLI e e configure o Application Default Credentials com suas credenciais de usuário.
Confira mais informações em Set up authentication for a local development environment.
Node.js
Para usar os exemplos Node.js desta página em um ambiente de desenvolvimento local, instale e inicialize o gcloud CLI e e configure o Application Default Credentials com suas credenciais de usuário.
Confira mais informações em Set up authentication for a local development environment.
PHP
Para usar os exemplos PHP desta página em um ambiente de desenvolvimento local, instale e inicialize o gcloud CLI e e configure o Application Default Credentials com suas credenciais de usuário.
Confira mais informações em Set up authentication for a local development environment.
Python
Para usar os exemplos Python desta página em um ambiente de desenvolvimento local, instale e inicialize o gcloud CLI e e configure o Application Default Credentials com suas credenciais de usuário.
Confira mais informações em Set up authentication for a local development environment.
REST
Para usar as amostras da API REST nesta página em um ambiente de desenvolvimento local, use as credenciais fornecidas para gcloud CLI.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
Para mais informações, consulte Autenticar para usar REST na documentação de autenticação do Google Cloud.
-
Funções exigidas
Para receber as permissões necessárias para suspender ou retomar uma instância de computação,
peça ao administrador para conceder a você o
papel do IAM de Administrador da instância da computação (v1) (roles/compute.instanceAdmin.v1
) na instância.
Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.
Esse papel predefinido contém as permissões necessárias para suspender ou retomar uma instância de computação. Para conferir as permissões exatas necessárias, expanda a seção Permissões necessárias:
Permissões necessárias
As permissões a seguir são necessárias para suspender ou retomar uma instância de computação:
-
Para suspender uma instância:
compute.instances.suspend
-
Para retomar uma instância:
compute.instances.resume
Essas permissões também podem ser concedidas com funções personalizadas ou outros papéis predefinidos.
Limitações
Ao suspender uma instância de computação, as seguintes limitações são aplicadas:
Só é possível suspender uma instância se o SO convidado oferecer suporte a ela. Para mais informações, consulte Detalhes do sistema operacional.
Só é possível suspender uma instância que usa o Debian 8 ou 9 como SO convidado se você configurar o SO antes de suspender a instância.
A instância só pode ser suspensa por até 60 dias antes que o Compute Engine faça a transição automática do estado para
TERMINATED
.É possível suspender VMs do Spot ou instâncias preemptivas. No entanto, se o Compute Engine interromper a instância antes da conclusão da operação de suspensão, ele encerrará a operação de suspensão e forçará a interrupção das instâncias.
Não é possível suspender instâncias com GPUs anexadas.
Não é possível suspender instâncias do Bare Metal.
Não é possível suspender VMs confidenciais.
Não é possível suspender instâncias usando os processos padrão integrados ao ambiente convidado. Não há suporte para comandos como
systemctl suspend
no Ubuntu 16.04 ou versões mais recentes. Se for chamado, o Compute Engine vai ignorar o indicador de convidado.Não é possível suspender instâncias com mais de 208 GB de memória.
Não é possível suspender instâncias com discos protegidos por CSEK anexados.
Ativar operações de suspensão no Debian 8 ou 9
Se uma instância de computação estiver executando o Debian 8 e 9 como SO convidado, antes de suspender a instância, será necessário ativar as operações de suspensão e retomada fazendo uma das seguintes ações:
Recomendado: configure o ACPID
Configurar o ACPID
Para ativar a operação de suspensão e retomada no Debian 8 ou 9, configure o Daemon de eventos de configuração avançada e interface de energia (ACPID, na sigla em inglês) para processar o evento do botão de suspensão. Depois de ativar o evento do botão de suspensão profunda, é possível adicionar um script de shell para processar o evento de suspensão, conforme descrito nesta seção.
Para configurar o ACPID para oferecer suporte a operações de suspensão e retomada, faça o seguinte:
Conecte-se à sua instância do Linux, caso ainda não tenha feito isso.
Crie a pasta
events
na pastaacpi
:sudo mkdir -p /etc/acpi/events/
Configure o ACPID para processar o evento do botão de suspensão:
cat <<EOF | sudo tee /etc/acpi/events/sleepbtn-acpi-support event=button[ /]sleep action=/etc/acpi/sleepbtn-acpi-support.sh EOF
Crie o script de manipulação de eventos de suspensão:
cat <<EOF | sudo tee /etc/acpi/sleepbtn-acpi-support.sh #!/bin/sh echo mem > /sys/power/state EOF
Configure as permissões do script:
sudo chmod 755 /etc/acpi/sleepbtn-acpi-support.sh
Para que as mudanças entrem em vigor, reinicie o ACPID:
sudo systemctl restart acpid.service
Instalar o D-Bus
Para ativar a operação de suspensão e retomada no Debian 8 ou 9, instale o D-Bus.
Para instalar o D-Bus na instância de computação do SO convidado quando ele estiver usando o Debian 8 ou 9, faça o seguinte:
Conecte-se à sua instância do Linux, caso ainda não tenha feito isso.
Instale o D-Bus:
sudo apt-get install dbus
Para que as mudanças entrem em vigor, reinicie o
logind
:sudo systemctl restart systemd-logind.service
Suspender uma instância
Se o SO convidado da sua instância de computação estiver usando o Debian 8 ou 9, antes de suspender a instância, você precisará configurar o SO convidado para oferecer suporte a operações de suspensão e retomada, conforme descrito neste documento.
Para suspender uma instância, use um dos métodos a seguir com base em se a instância tem discos SSD locais conectados:
Se a instância não tiver discos SSD locais conectados, consulte Suspender uma instância sem discos SSD locais.
Se a instância tiver discos SSD locais conectados e você quiser descartar ou preservar (pré-visualização) os dados da SSD local, consulte Suspender uma instância com discos SSD locais.
Suspender uma instância sem discos SSD locais
É possível suspender várias instâncias de computação simultaneamente ou individualmente. Para várias instâncias, use o console do Google Cloud ou, para instâncias localizadas na mesma zona, a CLI do Google Cloud. Para instâncias individuais, selecione uma das seguintes opções:
No console do Google Cloud, acesse a página Instâncias de VMs.
Selecione uma ou mais instâncias a serem suspensas.
Clique em
Suspender e, em seguida, em Suspender para confirmar.
Para suspender uma ou mais instâncias em uma única zona, use o
comando gcloud compute instances suspend
:
gcloud compute instances suspend INSTANCE_NAMES \
--zone=ZONE
Substitua:
INSTANCE_NAMES
: uma lista separada por espaços em branco de nomes de instâncias, por exemplo,instance-01 instance-02 instance-03
.ZONE
: a zona em que as instâncias estão localizadas.
Para suspender uma instância, faça uma solicitação POST
para o
método instances.suspend
:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID /zones/ZONE /instances/INSTANCE_NAME /suspend
Substitua:
PROJECT_ID
: o ID do projeto em que a instância está localizada.ZONE
: a zona em que a instância está localizada.INSTANCE_NAME
: o nome da instância.
Suspender uma instância com discos SSD locais
Com base no número de instâncias de computação que você quer suspender simultaneamente e se é necessário preservar os dados dos discos SSD locais conectados, faça o seguinte:
Para preservar os dados dos discos SSD locais anexados a uma instância (exceto instâncias Z3), suspenda a instância usando a CLI gcloud ou a API REST.
Para suspender várias instâncias ao mesmo tempo, use o console do Google Cloud ou, no caso de instâncias localizadas na mesma zona, a CLI gcloud.
Para suspender uma ou mais instâncias com discos SSD locais conectados, selecione uma das seguintes opções:
No console do Google Cloud, acesse a página Instâncias de VMs.
Selecione uma ou mais instâncias a serem suspensas.
Clique em
Suspender e, em seguida, em Suspender para confirmar.
Ao suspender uma ou mais instâncias em uma única zona com discos SSD locais anexados, especifique se os dados do SSD local serão descartados ou preservados da seguinte forma:
Para descartar dados da SSD local, use o comando
gcloud compute instances suspend
com a flag--discard-local-ssd=true
:gcloud compute instances suspend
INSTANCE_NAMES \ --discard-local-ssd=true \ --zone=ZONE Para preservar os dados do SSD local, use o comando
gcloud beta compute instances suspend
com a flag--discard-local-ssd=false
:gcloud beta compute instances suspend
INSTANCE_NAMES \ --discard-local-ssd=false \ --zone=ZONE
Substitua:
INSTANCE_NAMES
: uma lista separada por espaços em branco de nomes de instâncias, por exemplo,instance-01 instance-02 instance-03
.ZONE
: a zona em que as instâncias estão localizadas.
Ao suspender uma instância com discos SSD locais conectados, especifique se os dados do SSD local serão descartados ou preservados da seguinte maneira:
Para descartar dados da SSD local, faça uma solicitação
POST
ao métodoinstances.suspend
. No URL da solicitação, inclua o parâmetro de consultadiscardLocalSsd
definido comotrue
:POST https://compute.googleapis.com/compute/v1/projects/
PROJECT_ID /zones/ZONE /instances/INSTANCE_NAME /suspend?discardLocalSsd=truePara preservar os dados do SSD local, faça uma solicitação
POST
para o métodobeta.instances.suspend
. No URL da solicitação, inclua o parâmetro de consultadiscardLocalSsd
definido comofalse
:POST https://compute.googleapis.com/compute/beta/projects/
PROJECT_ID /zones/ZONE /instances/INSTANCE_NAME /suspend?discardLocalSsd=false
Substitua:
PROJECT_ID
: o ID do projeto em que a instância está localizada.ZONE
: a zona em que a instância está localizada.INSTANCE_NAME
: o nome da instância.
Retome uma instância suspensa.
Antes de retomar uma instância de computação suspensa, considere o seguinte:
Só será possível retomar uma instância se houver capacidade suficiente na zona em que ela está localizada. Isso geralmente não é um problema. Se você tiver problemas para retomar uma instância, tente novamente mais tarde.
Se você anexou discos SSD locais à instância e escolheu preservar os dados do SSD local ao suspendê-la, talvez seja necessário remontar os discos SSD locais após a retomada. Para mais informações, consulte como remontar discos não inicializáveis em instâncias do Linux ou instâncias do Windows.
É possível retomar várias instâncias simultaneamente ou individualmente. Para várias instâncias, use o console do Google Cloud ou, para instâncias localizadas na mesma zona, a CLI gcloud. Para instâncias individuais, selecione uma das seguintes opções:
No console do Google Cloud, acesse a página Instâncias de VMs.
Selecione uma ou mais instâncias suspensas para retomar.
Clique em
Iniciar / continuar e em Iniciar.
Para retomar uma ou mais instâncias suspensas em uma única zona, use o
comando gcloud compute instances resume
:
gcloud compute instances resume INSTANCE_NAMES \
--zone=ZONE
Substitua:
INSTANCE_NAMES
: uma lista separada por espaços em branco de nomes de instâncias, por exemplo,instance-01 instance-02 instance-03
.ZONE
: a zona em que as instâncias suspensas estão localizadas.
Para retomar uma instância suspensa, faça uma solicitação POST
para o
método instances.resume
:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID /zones/ZONE /instances/INSTANCE_NAME /resume
Substitua:
INSTANCE_NAME
: o nome da instância de suspensão a ser retomada.PROJECT_ID
: o ID do projeto em que a instância suspensa está localizada.ZONE
: a zona em que a instância suspensa está localizada.