Este documento apresenta uma vista geral do processo de encerramento controlado em instâncias do Compute Engine. Para saber mais acerca dos estados pelos quais uma instância pode passar durante o respetivo ciclo de vida, consulte o artigo Ciclo de vida da instância do Compute Engine.
Quando para ou elimina uma instância, o Compute Engine permite um curto período para que o SO convidado seja totalmente encerrado. Se o SO convidado não terminar a execução de tarefas dentro deste período, o Compute Engine força o encerramento, o que pode levar potencialmente à perda de dados ou a sistemas de ficheiros danificados.
Para evitar estes problemas, pode ativar o encerramento controlado numa instância. Com esta definição ativada, o SO convidado tem até uma hora para concluir a execução de tarefas antes de o Compute Engine o encerrar. O encerramento elegante é útil para cenários em que quer alcançar o seguinte:
Permitir que uma tarefa de computação de alto desempenho (HPC) seja totalmente encerrada.
Permitir que uma base de dados termine o envio de transações ativas.
Permitir que um servidor de email termine o processamento antes do encerramento.
Permitir que uma sessão de jogo multijogador termine a execução.
Acerca do encerramento controlado
As secções seguintes explicam como funciona o encerramento gradual.
Período de encerramento
Numa instância de computação, o encerramento elegante está desativado por predefinição. Pode ativá-lo quando criar ou atualizar uma instância. Quando ativa o encerramento controlado, pode especificar um período de encerramento da seguinte forma:
Período predefinido: se não especificar um período de encerramento, o Compute Engine usa um período predefinido de 10 minutos.
Período personalizado: de um segundo a uma hora.
Recomendamos que escolha um período de encerramento que dê às suas aplicações tempo suficiente para terminar a execução de tarefas. Por exemplo, se estimar que as suas aplicações precisam de 10 minutos para terminar a execução de tarefas, recomendamos que especifique um período de encerramento de 15 minutos. Esta abordagem impede que as tarefas sejam interrompidas à força e a potencial corrupção de dados. Depois de todas as tarefas no SO convidado terminarem a execução, pode terminar manualmente o encerramento normal para poupar custos, conforme descrito na secção seguinte.
Processo de encerramento
Quando para ou elimina uma instância de computação com o encerramento elegante ativado, ou se o Compute Engine a parar ou eliminar para um encerramento ou uma eliminação agendada, o estado da instância muda para PENDING_STOP. O encerramento normal começa, o que permite que as suas aplicações terminem a execução das respetivas tarefas.
O Compute Engine termina o encerramento gradual de uma instância quando o período de encerramento gradual expira ou quando termina manualmente o encerramento gradual da seguinte forma:
A partir do SO convidado. Para a instância através do comando shutdown do SO convidado; por exemplo,
sudo shutdown -h now.De Google Cloud. Para a instância ou elimina-a através de um dos seguintes métodos:
Google Cloud console: conclua os seguintes passos:
Aceda à página Instâncias de VM.
Selecione a instância e, de seguida, clique em Parar ou Eliminar. Se não existir a opção Parar nem Eliminar, clique em Mais ações > Parar ou Eliminar.
Na caixa de diálogo apresentada, selecione a caixa de verificação Ignorar encerramento normal (se aplicável) antes de confirmar a paragem ou a eliminação da instância.
CLI do Google Cloud: inclua a flag
--no-graceful-shutdownno comando.API REST: inclua o parâmetro de consulta
noGracefulShutdown=trueno URL do pedido.
Quando o processo de encerramento controlado termina, o Compute Engine envia o
sinal de desligamento suave G2 da Interface de configuração e energia avançada (ACPI)
para o SO convidado, define o estado da instância como STOPPING e, em seguida, continua com
a operação de paragem ou eliminação.
Parar ou eliminar sem encerramento adequado
Depois de ativar o encerramento controlado numa instância, pode continuar a pará-la ou eliminá-la sem passar pelo processo de encerramento controlado. Esta abordagem ajuda a poupar custos quando, por exemplo, não precisa de encerrar corretamente a instância num dia específico ou se a carga de trabalho em execução na instância tiver mudado.
Para ignorar o encerramento gradual, efetue uma das seguintes ações:
Ignore o encerramento normal para operações únicas. Mantenha o encerramento normal ativado, mas ignore-o para operações específicas de paragem ou eliminação. Para o fazer, siga o processo de encerramento manual.
Desative completamente o encerramento normal. Se já não precisar de encerrar corretamente uma instância, pode desativar esta funcionalidade. Para mais informações, consulte o artigo Desative o encerramento elegante numa instância do Compute Engine.
Limitações
O encerramento gradual tem as seguintes limitações:
Não pode ativar o encerramento controlado nas seguintes instâncias de computação:
Instâncias que fazem parte de um grupo de instâncias geridas (GIG).
Instâncias que especificam um tempo de execução limitado.
Depois de ativar o encerramento controlado numa instância, não pode fazer o seguinte:
Não pode atualizar propriedades de instância que requerem um reinício.
Se a instância for uma VM de TPU, não pode simular eventos de manutenção do anfitrião.
Se um encerramento controlado estiver em curso (
PENDING_STOP), não pode fazer o seguinte:Não pode atualizar as propriedades da instância.
Se a instância estiver a ser eliminada, não pode ativar nem desativar a proteção contra eliminação.
A sua instância não é encerrada corretamente ou um encerramento correto é interrompido se ocorrer o seguinte:
A sua VM do Spot ou instância preemptiva foi preemptiva.
A sua instância tem uma política de manutenção do anfitrião definida como
TERMINATE, e o Compute Engine para a instância para um evento do anfitrião.
Só pode encerrar e eliminar corretamente até 8000 instâncias de cada vez por projeto e por região.
Só pode encerrar normalmente ou modificar as definições de encerramento normal para instâncias criadas em massa depois de o Compute Engine terminar de criar todas as instâncias.
Preços
Não existe qualquer custo para ativar ou desativar o encerramento normal numa instância de computação.
No entanto, quando para ou elimina uma instância com o encerramento elegante ativado, continua a incorrer em cobranças pela instância como se estivesse em execução. Estas cobranças param quando o período de encerramento controlado termina e o estado da instância muda para STOPPING.
Para informações de preços mais detalhadas, consulte a secção Preços das instâncias de VM.