Sobre o encerramento sem dificuldades

Neste documento, explicamos os requisitos e as limitações que se aplicam ao encerrar instâncias do Compute Engine de maneira otimizada.

Quando você interrompe ou exclui uma instância de computação, o Compute Engine permite um curto período para que o SO convidado seja totalmente encerrado. Se o SO convidado não concluir as tarefas nesse período, o Compute Engine vai forçar um encerramento, o que pode levar à perda de dados ou à corrupção dos sistemas de arquivos. Para evitar esses problemas, é possível ativar o encerramento completo em uma instância de computação. Quando uma instância de computação é encerrada de forma otimizada, o SO convidado tem até seis horas para concluir as tarefas em execução antes que o Compute Engine a encerre.

O encerramento completo é útil para cenários como os seguintes:

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

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

  • Permitir que um servidor de e-mail termine o processamento antes de ser encerrado.

  • Permitir que uma sessão de jogo multiplayer termine.

Entender o encerramento completo

As seções a seguir explicam como funciona o encerramento completo.

Período de encerramento completo

Em uma instância de computação, o encerramento completo fica desativado por padrão. É possível ativá-lo ao criar ou atualizar uma instância de computação. Ao ativar o encerramento completo, é possível especificar um período de encerramento de um segundo a seis horas.

Recomendamos que você escolha uma duração para o encerramento completo que dê aos aplicativos tempo suficiente para concluir as tarefas em execução. Por exemplo, se você estimar que seus aplicativos precisam de 10 minutos para serem concluídos, recomendamos que você especifique uma duração personalizada de 15 minutos. Depois que todas as tarefas no SO convidado forem concluídas, será possível encerrar manualmente o encerramento completo para economizar custos, conforme descrito na próxima seção.

Processo de encerramento completo

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

O Compute Engine encerra o encerramento completo de uma instância de computação quando o limite de tempo expira ou se você encerra manualmente o encerramento completo usando um dos seguintes métodos:

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

  • De Cloud de Confiance by S3NS. Interrompa ou exclua a instância de computação usando um dos seguintes métodos:

    • Console doCloud de Confiance : siga estas etapas:

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

      2. Selecione a linha que contém a instância de computação e clique em Parar ou Excluir. Se não houver a opção Parar ou Excluir, clique em Mais ações e selecione Parar ou Excluir.

      3. Na caixa de diálogo que aparece, marque a caixa de seleção Ignorar encerramento completo (se aplicável) antes de confirmar a interrupção ou exclusão da instância de computação.

    • 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 completo termina, o Compute Engine envia o sinal de desligamento suave G2 da Advanced Configuration and Power Interface (ACPI) para o SO convidado, define o estado da instância de computação como STOPPING e, em seguida, continua com a operação de interrupção ou exclusão.

Interromper ou excluir instâncias de computação sem encerramento completo

Depois de ativar o encerramento completo em uma instância de computação, ainda é possível interromper ou excluir a instância sem passar pelo processo de encerramento completo. Essa abordagem ajuda a economizar custos quando, por exemplo, você não precisa encerrar normalmente a instância de computação em um dia específico ou se a carga de trabalho em execução na instância de computação foi alterada.

Para pular o encerramento completo em uma instância de computação, siga um destes procedimentos:

  • Pular o encerramento completo para operações únicas. Mantenha o encerramento completo ativado, mas ignore-o para operações específicas de interrupção ou exclusão. Para fazer isso, siga o processo de encerramento manual.

  • Desativar completamente o encerramento completo. Se você não precisar mais encerrar completamente uma instância de computação, desative o encerramento completo. Para mais informações, consulte Desativar o encerramento completo em uma instância do Compute Engine.

Preços

Não há custos associados à ativação ou desativação do encerramento completo em uma instância de computação. No entanto, quando você interrompe ou exclui uma instância de computação com o encerramento completo ativado, continua recebendo cobranças por CPU e memória durante o período de encerramento completo. Essas cobranças são interrompidas quando o período de encerramento completo termina e o estado da instância de computação muda para STOPPING.

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

Limitações

Ao ativar o encerramento completo em uma instância de computação, as seguintes limitações se aplicam:

  • Depois de ativar o encerramento completo para uma instância de computação, não é possível simular eventos de manutenção do host em VMs de TPU.

  • Depois que uma operação de interrupção ou exclusão é iniciada e um encerramento completo está em andamento (PENDING_STOP), não é possível fazer o seguinte:

    • Não é possível redefinir, reiniciar ou suspender a instância de computação.

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

    • Não é possível ativar ou desativar a proteção contra exclusão em uma instância de computação que o Compute Engine está excluindo.

    • Não é possível coletar dumps de núcleo.

  • O Compute Engine não inicia um encerramento completo ou interrompe abruptamente um encerramento completo em andamento (PENDING_STOP) quando um dos seguintes eventos ocorre:

    • O Compute Engine interrompe ou exclui uma VM spot ou instância preemptiva devido à preempção.

    • O Compute Engine interrompe uma instância de computação após o início de um evento de manutenção do host, e a política de manutenção do host da instância de computação é definida como TERMINATE.

    • O Compute Engine interrompe uma instância de computação depois de encontrar um erro de host.

  • É possível encerrar e excluir de forma completa no máximo 8.000 instâncias de computação por vez, por projeto e região.

  • Só é possível realizar o encerramento completo de instâncias de computação criadas em massa ou modificar as configurações de encerramento completo delas depois que o Compute Engine concluir a criação de todas as instâncias de computação.

  • Não é possível pular ou encerrar um encerramento completo de uma instância de computação em um grupo gerenciado de instâncias (MIG) nos seguintes casos:

A seguir