Neste documento, explicamos 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 a instância do Compute Engine, mas não quiser receber cobranças por ela quando 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.
Suspender uma instância do Compute Engine é útil para:
Ambientes de desenvolvimento e teste que não estão sendo totalmente usados durante períodos de inatividade, como 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 inicializa, mas antes que o aplicativo esteja pronto para atender à primeira solicitação, como estações de trabalho de desenvolvedores virtuais ou aplicativos Java complexos
Limitações
Ao suspender uma instância de computação, as seguintes limitações se aplicam:
Só é possível suspender uma instância se o SO convidado permitir. Para mais informações, consulte Detalhes do sistema operacional.
Só é possível suspender uma instância que usa as seguintes imagens do SO se você configurar o SO, conforme descrito neste documento:
Debian 8 ou 9
Qualquer SO Windows
É possível suspender uma instância por até 60 dias antes que o Compute Engine faça a transição automática do estado dela para
TERMINATED.É possível suspender VMs spot ou instâncias preemptivas. No entanto, se o Compute Engine fizer a preempção da instância antes da conclusão da operação de suspensão, o Compute Engine vai encerrar a operação de suspensão e fazer a preempção das instâncias.
Não é possível suspender instâncias usando os processos padrão integrados ao ambiente convidado. Comandos como
systemctl suspendno Ubuntu 16.04 ou mais recente não são compatíveis. Se for chamado, o Compute Engine vai ignorar o sinal de convidado.Não é possível suspender os seguintes tipos de instâncias:
Instâncias bare metal.
VMs confidenciais.
Instâncias com GPUs anexadas.
Instâncias com mais de 208 GB de memória.
Instâncias com discos protegidos por CSEK anexados.
Ativar operações de suspensão em um SO convidado
Se a instância de computação usar o Debian 8 ou 9 como SO convidado ou qualquer SO Windows, será necessário configurar o SO antes de suspender e retomar instâncias. Se a instância usar um SO convidado diferente, pule esta seção.
Ativar operações de suspensão no Debian 8 ou 9
Antes de suspender ou retomar instâncias de computação que usam o Debian 8 ou 9 como um SO convidado, configure o SO convidado usando um dos seguintes métodos:
Configurar o ACPID
Para ativar a operação de suspensão e retomada no Debian 8 ou 9, configure o daemon de eventos da Interface avançada de energia e configuração (ACPID) para processar o evento do botão de suspensão. Depois de ativar o evento do botão de suspensão profunda, você pode adicionar um script de shell para processar o evento de suspensão, conforme descrito nesta seção.
Para configurar o ACPID para aceitar operações de suspensão e retomada, faça o seguinte:
Se você ainda não fez isso, conecte-se à sua instância do Linux.
Crie a pasta
eventsna 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 EOFCrie 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 EOFConfigure as permissões do script:
sudo chmod 755 /etc/acpi/sleepbtn-acpi-support.shPara 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 no SO convidado da instância de computação quando o SO estiver usando o Debian 8 ou 9, faça o seguinte:
Se você ainda não fez isso, conecte-se à sua instância do Linux.
Instale o D-Bus:
sudo apt-get install dbusPara que as mudanças entrem em vigor, reinicie o
logind:sudo systemctl restart systemd-logind.service
Ativar operações de suspensão no Windows
Para suspender uma instância que usa um SO convidado do Windows, é necessário desativar a hibernação no SO. Se você importou uma imagem do Windows, a hibernação pode estar ativada por padrão, e você precisa desativá-la para suspender a instância.
Para desativar a hibernação no Windows, siga estas etapas:
Conecte-se à sua instância do Windows, caso ainda não tenha feito isso.
Abra o PowerShell como administrador.
Desativar a hibernação:
powercfg -h offVerifique se a hibernação está desativada:
powercfg -a
Antes de começar
-
Configure a autenticação, caso ainda não tenha feito isso.
Com isso, você confirma 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:
Selecione a guia para como planeja usar as amostras nesta página:
Console
Quando você usa o console Google Cloud para acessar serviços Google Cloud e APIs, não é necessário configurar a autenticação.
gcloud
-
Instale a CLI do Google Cloud. Após a instalação, inicialize a Google Cloud CLI executando o seguinte comando:
gcloud initAo usar um provedor de identidade (IdP) externo, primeiro faça login na gcloud CLI com sua identidade federada.
-
- Defina uma região e uma zona padrão.
-
Instale a CLI do Google Cloud.
-
Ao usar um provedor de identidade (IdP) externo, primeiro faça login na gcloud CLI com sua identidade federada.
-
Se você estiver usando um shell local, crie credenciais de autenticação local para sua conta de usuário:
gcloud auth application-default login
Não é necessário fazer isso se você estiver usando o Cloud Shell.
Se um erro de autenticação for retornado e você estiver usando um provedor de identidade (IdP) externo, confirme se você fez login na CLI gcloud com sua identidade federada.
-
Instale a CLI do Google Cloud.
-
Ao usar um provedor de identidade (IdP) externo, primeiro faça login na gcloud CLI com sua identidade federada.
-
Se você estiver usando um shell local, crie credenciais de autenticação local para sua conta de usuário:
gcloud auth application-default login
Não é necessário fazer isso se você estiver usando o Cloud Shell.
Se um erro de autenticação for retornado e você estiver usando um provedor de identidade (IdP) externo, confirme se você fez login na CLI gcloud com sua identidade federada.
-
Instale a CLI do Google Cloud.
-
Ao usar um provedor de identidade (IdP) externo, primeiro faça login na gcloud CLI com sua identidade federada.
-
Se você estiver usando um shell local, crie credenciais de autenticação local para sua conta de usuário:
gcloud auth application-default login
Não é necessário fazer isso se você estiver usando o Cloud Shell.
Se um erro de autenticação for retornado e você estiver usando um provedor de identidade (IdP) externo, confirme se você fez login na CLI gcloud com sua identidade federada.
-
Instale a CLI do Google Cloud.
-
Ao usar um provedor de identidade (IdP) externo, primeiro faça login na gcloud CLI com sua identidade federada.
-
Se você estiver usando um shell local, crie credenciais de autenticação local para sua conta de usuário:
gcloud auth application-default login
Não é necessário fazer isso se você estiver usando o Cloud Shell.
Se um erro de autenticação for retornado e você estiver usando um provedor de identidade (IdP) externo, confirme se você fez login na CLI gcloud com sua identidade federada.
-
Instale a CLI do Google Cloud.
-
Ao usar um provedor de identidade (IdP) externo, primeiro faça login na gcloud CLI com sua identidade federada.
-
Se você estiver usando um shell local, crie credenciais de autenticação local para sua conta de usuário:
gcloud auth application-default login
Não é necessário fazer isso se você estiver usando o Cloud Shell.
Se um erro de autenticação for retornado e você estiver usando um provedor de identidade (IdP) externo, confirme se você fez login na CLI gcloud com sua identidade federada.
Go
Para usar os exemplos de Go nesta página em um ambiente de desenvolvimento local, instale e inicialize a CLI gcloud e configure o Application Default Credentials com suas credenciais de usuário.
Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Java
Para usar os exemplos do Java nesta página em um ambiente de desenvolvimento local, instale e inicialize a CLI gcloud e configure o Application Default Credentials com suas credenciais de usuário.
Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Node.js
Para usar os exemplos do Node.js nesta página em um ambiente de desenvolvimento local, instale e inicialize a CLI gcloud e configure o Application Default Credentials com suas credenciais de usuário.
Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
PHP
Para usar os exemplos de PHP nesta página em um ambiente de desenvolvimento local, instale e inicialize a CLI gcloud e configure o Application Default Credentials com suas credenciais de usuário.
Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Python
Para usar os exemplos do Python nesta página em um ambiente de desenvolvimento local, instale e inicialize a CLI gcloud e configure o Application Default Credentials com suas credenciais de usuário.
Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
REST
Para usar as amostras da API REST desta página em um ambiente de desenvolvimento local, use as credenciais fornecidas para gcloud CLI.
Instale a CLI do Google Cloud.
Ao usar um provedor de identidade (IdP) externo, primeiro faça login na gcloud CLI com sua identidade federada.
Saiba mais em 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 do Compute (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 acessar as permissões exatas necessárias, expanda a seção Permissões necessárias:
Permissões necessárias
As seguintes permissões 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.
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, configure 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 seguintes métodos, dependendo se a instância tem discos SSD locais anexados:
Se a instância não tiver discos SSD locais anexados, consulte Suspender uma instância sem discos SSD locais.
Se a instância tiver discos SSD locais anexados e você quiser descartar ou preservar (prévia) os dados do SSD local dos discos, 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 instâncias individuais. Para várias instâncias, use o console do Google Cloud ou, para instâncias localizadas na mesma zona, a Google Cloud CLI. Para instâncias individuais, selecione uma das seguintes opções:
Console
No console do Google Cloud , acesse a página Instâncias de VM.
Selecione uma ou mais instâncias a serem suspensas.
Clique em Suspender e, em seguida, em Suspender para confirmar.
gcloud
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.
Go
Java
Node.js
PHP
Python
REST
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á.INSTANCE_NAME: o nome da instância.
Suspender uma instância com discos SSD locais
Com base em quantas instâncias de computação você quer suspender simultaneamente e se é necessário preservar os dados dos discos SSD locais anexados, faça o seguinte:
Para preservar os dados dos discos SSD locais anexados a uma instância (exceto instâncias com discos SSD Titanium), suspenda a instância usando a CLI gcloud ou a API REST.
Para suspender várias instâncias simultaneamente, use o console 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 anexados, selecione uma das seguintes opções:
Console
No console do Google Cloud , acesse a página Instâncias de VM.
Selecione uma ou mais instâncias a serem suspensas.
Clique em Suspender e, em seguida, em Suspender para confirmar.
gcloud
Ao suspender uma ou mais instâncias em uma única zona que têm discos SSD locais anexados, especifique se os dados do SSD local serão descartados ou preservados da seguinte maneira:
Para descartar dados da SSD local, use o comando
gcloud compute instances suspendcom a flag--discard-local-ssd=true:gcloud compute instances suspend INSTANCE_NAMES \ --discard-local-ssd=true \ --zone=ZONEPara preservar os dados da SSD local, use o comando
gcloud beta compute instances suspendcom 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.
REST
Ao suspender uma instância com discos SSD locais anexados, 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
POSTao métodoinstances.suspend. No URL da solicitação, inclua o parâmetro de consultadiscardLocalSsddefinido 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
POSTpara o métodobeta.instances.suspend. No URL da solicitação, inclua o parâmetro de consultadiscardLocalSsddefinido 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á.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 de novo mais tarde.
Se você anexou discos SSD locais à instância e escolheu preservar os dados do SSD local ao suspender, talvez seja necessário remontar os discos SSD locais após a retomada. Para mais informações, consulte como remontar discos que não são de inicialização em instâncias do Linux ou instâncias do Windows.
É possível retomar várias instâncias simultaneamente ou instâncias individuais. 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:
Console
No console do Google Cloud , acesse a página Instâncias de VM.
Selecione uma ou mais instâncias suspensas para retomar.
Clique em Iniciar / continuar e em Iniciar.
gcloud
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.
Go
Java
Node.js
PHP
Python
REST
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 suspensa a ser retomada.PROJECT_ID: o ID do projeto em que a instância suspensa está.ZONE: a zona em que a instância suspensa está localizada.