Visão geral do encerramento sem dificuldades


Este documento apresenta uma visão geral do processo de desligamento suave em instâncias do Compute Engine. Para saber mais sobre os estados que uma instância pode passar durante o ciclo de vida, consulte Ciclo de vida da instância do Compute Engine.

Ao parar ou excluir uma instância, o Compute Engine permite um período curto para que o SO convidado seja encerrado completamente. Se o SO convidado não terminar de executar tarefas nesse período, o Compute Engine forçará o desligamento, o que pode levar à perda de dados ou corromper sistemas de arquivos.

Para evitar esses problemas, ative o desligamento suave em uma instância. Com essa configuração ativada, o SO convidado tem até uma hora para concluir as tarefas em execução antes que o Compute Engine o encerre. O desligamento suave é útil para situações em que você quer:

  • Permitir que um job de computação de alto desempenho (HPC) seja encerrado completamente.

  • Permitir que um banco de dados termine de enviar transações ativas.

  • Permitir que um servidor de e-mail termine o processamento antes do desligamento.

  • Permitir que uma sessão de jogo multiplayer seja concluída.

Sobre o desligamento normal

As seções a seguir explicam como o desligamento suave funciona.

Período de encerramento

Em uma instância de computação, o desligamento suave fica desativado por padrão. É possível ativá-lo ao criar ou atualizar uma instância. Ao ativar o encerramento suave, é possível especificar um período de encerramento da seguinte maneira:

  • Período padrão: se você não especificar um período de desligamento, o Compute Engine vai usar um período padrão de 10 minutos.

  • Período personalizado: de um segundo a uma hora.

Recomendamos escolher um período de desligamento que dê tempo suficiente aos seus aplicativos para concluir as tarefas em execução. Por exemplo, se você estimar que seus aplicativos precisam de 10 minutos para concluir as tarefas em execução, recomendamos especificar um período de desligamento de 15 minutos. Essa abordagem evita que as tarefas sejam interrompidas à força e a possível corrupção de dados. Depois que todas as tarefas no SO convidado terminarem de ser executadas, você poderá encerrar manualmente o desligamento suave para economizar custos, conforme descrito na próxima seção.

Processo de desligamento

Quando você interrompe ou exclui uma instância de computação com o desligamento suave ativado, ou se o Compute Engine interrompe ou exclui a instância para uma interrupção ou exclusão programada, o estado da instância muda para PENDING_STOP. O desligamento suave começa, permitindo que os aplicativos terminem de executar as tarefas.

O Compute Engine encerra o desligamento suave de uma instância quando o período de desligamento suave expira ou quando você encerra o desligamento suave manualmente da seguinte maneira:

  • No SO convidado. Você interrompe a instância usando o comando de desligamento do SO convidado, por exemplo, sudo shutdown -h now.

  • De Google Cloud. Você interrompe ou exclui a instância usando um dos seguintes métodos:

    • Console do Google Cloud: siga estas etapas:

      1. Acesse a página Instâncias da VM.

      2. Selecione a instância e clique em Stop ou Delete.

      3. Na caixa de diálogo exibida, selecione a caixa de seleção Skip graceful shutdown (if applicable) antes de confirmar a interrupção ou exclusão da instância.

    • Google Cloud CLI: inclua a flag --no-graceful-shutdown no comando.

    • API REST: inclua o parâmetro de consulta noGracefulShutdown=true no URL da solicitação.

Quando o processo de encerramento suave é concluído, o Compute Engine envia o sinal de desligamento suave da ACPI (Advanced Configuration and Power Interface) G2 para o SO convidado, define o estado da instância como STOPPING e continua com a operação de interrupção ou exclusão.

Parar ou excluir sem encerramento otimizado

Depois de ativar o encerramento normal em uma instância, ainda é possível interromper ou excluí-la sem passar pelo processo de encerramento normal. Essa abordagem ajuda a economizar custos quando, por exemplo, você não precisa desligar a instância de forma suave em um dia específico ou se a carga de trabalho executada na instância tiver mudado.

Para pular o encerramento suave, siga um destes procedimentos:

Limitações

O desligamento suave tem as seguintes limitações:

  • Não é possível ativar o desligamento suave nas seguintes instâncias de computação:

  • Depois de ativar o desligamento suave em uma instância, não será possível fazer o seguinte:

    • Não é possível atualizar propriedades de instância que exigem uma reinicialização.

    • Se a instância for uma VM de TPU, não será possível simular eventos de manutenção do host.

  • Se um encerramento suave estiver em andamento (PENDING_STOP), não será possível fazer o seguinte:

    • Não é possível atualizar as propriedades da instância.

    • Se a instância estiver sendo excluída, não será possível ativar ou desativar a proteção contra exclusão.

  • A instância não é encerrada corretamente ou um encerramento tranquilo é interrompido se ocorrer o seguinte:

  • Só é possível encerrar e excluir até 8.000 instâncias por vez por projeto e região.

  • Só é possível encerrar ou modificar as configurações de desligamento suave para instâncias criadas em massa depois que o Compute Engine terminar de criar todas as instâncias.

Preços

Não há custo para ativar ou desativar o desligamento otimizado em uma instância de computação. No entanto, quando você interrompe ou exclui uma instância com o desligamento suave ativado, continua a gerar cobranças pela instância como se ela estivesse em execução. Essas cobranças são interrompidas quando o período de encerramento suave termina e o estado da instância é alterado para STOPPING.

Para informações mais detalhadas sobre preços, consulte Preços de instâncias de VM.

A seguir