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 elegante 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 concluir as 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 uma paragem ou 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 Trusted Cloud by S3NS. Parar ou eliminar a instância através de um dos seguintes métodos:
Trusted 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-shutdown
no comando.API REST: inclua o parâmetro de consulta
noGracefulShutdown=true
no 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, faça 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 graciosamente 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 gradual 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 controlado 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.
O que se segue?
Ative o encerramento elegante numa instância do Compute Engine
Veja o encerramento controlado numa instância do Compute Engine