Este documento descreve as ações de suspensão e paragem em instâncias de máquinas virtuais (VMs) num grupo de instâncias geridas (GIG). Também descreve como a suspensão e a paragem de VMs num MIG podem ajudar a poupar custos e reduzir o tempo de espera quando precisa de mais VMs no grupo.
Os GIGs permitem-lhe suspender e parar VMs para alcançar o seguinte:
- Pause uma aplicação ou um serviço que não esteja a usar para poupar custos, uma vez que não paga recursos de computação.
- Acelere a expansão do MIG iniciando VMs pré-inicializadas a partir do conjunto de espera de VMs paradas e suspensas.
Exemplos de utilização
As secções seguintes descrevem exemplos de utilização típicos do conjunto de espera num MIG.
Pause uma aplicação ou um serviço
Pode suspender ou parar as VMs num MIG para pausar a sua aplicação e retomá-la quando necessário, de acordo com os seus cálculos, horário de trabalho, hora de ponta e restrições orçamentais. Pode manter os resultados dos seus cálculos atuais em discos persistentes ou, no caso de VMs suspensas, na memória.
Por exemplo, pode querer suspender ou parar as VMs num MIG nos seguintes cenários:
- Tem cargas de trabalho pesadas durante os dias úteis e quer suspender as VMs aos fins de semana para poupar custos.
- Tem um ambiente de teste necessário durante as alterações de implementação e quer pará-lo quando não estiver a desenvolver ativamente.
Acelere o aumento da escala do MIG
Pode manter um conjunto de espera de VMs pré-inicializadas prontas para serem iniciadas quando o MIG for redimensionado para cima. Em vez de criar novas VMs e aguardar que a sua app seja inicializada e fique pronta para ser executada, o MIG inicia ou retoma VMs do conjunto de espera. Nesse caso, a inicialização da VM é concluída antecipadamente e não num momento crítico de aumento da carga.
Os conjuntos de espera são úteis para aplicações que demoram muito tempo a inicializar, por exemplo, nos seguintes cenários:
- Aplicações que precisam de transferir conteúdo atualizado para discos persistentes.
- Aplicações que precisam de colocar em cache conteúdo adicional na memória, através de transferências do armazenamento externo, de computação local ou de uma combinação de ambos.
- Aplicações que precisam de instalar software novo durante a inicialização, como nós do Kubernetes.
Recursos preservados
A tabela seguinte mostra os recursos que são preservados quando suspende e para VMs num MIG.
Preservados | VM suspensa | VM parada |
---|---|---|
Nome da VM | ||
IP interno | ||
IP externo (efémero) | ||
IP externo (estático*) | ||
Discos† | ||
Metadados | ||
Memória |
*Para preservar um IP externo quando para ou suspende uma VM num GIG, use a configuração de GIG com estado para promover o IP externo para um IP estático.
†Se uma VM tiver discos SSD locais associados, quando parar ou suspender a VM, os dados nos discos SSD locais não são preservados.
Comportamento e configuração
O conjunto de espera é formado por conjuntos de VMs parados e suspensos. Todas as VMs paradas passam a fazer parte do conjunto parado e todas as VMs suspensas passam a fazer parte do conjunto suspenso. Se configurou o dimensionamento automático num MIG, depois de suspender ou parar uma VM, o MIG cria imediatamente novas VMs para manter o tamanho recomendado do MIG.
Tamanhos de segmentação de conjuntos suspensos e parados
À semelhança do tamanho alvo do MIG, os conjuntos parados e suspensos têm os seus próprios tamanhos alvo. Pode controlar o tamanho do destino do conjunto de espera das seguintes formas:
- Configurando os valores dos tamanhos segmentados parados e suspensos.
- Parando e suspendendo manualmente as VMs, o que altera automaticamente os tamanhos de destino.
Quando altera os tamanhos dos alvos para pools paradas ou suspensas, o MIG comporta-se da seguinte forma:
- Quando aumenta o tamanho dos conjuntos suspensos ou parados, o MIG cria novas VMs, aguarda até que as VMs sejam inicializadas e, em seguida, suspende ou para as VMs em conformidade. Para GIGs regionais, as VMs são criadas de acordo com a forma de distribuição de destino configurada.
- Quando diminui o tamanho dos conjuntos suspensos ou parados, o MIG seleciona arbitrariamente as VMs suspensas ou paradas a eliminar.
- Quando altera o tamanho do alvo do MIG e o tamanho do conjunto de recursos suspensos ou parados em simultâneo, o MIG tenta minimizar o número de operações necessárias para aplicar as alterações. Isto significa que o MIG pode retomar ou iniciar VMs do conjunto de espera, ou suspender ou parar algumas VMs em execução.
Política de modo de espera
A política de espera define o comportamento do conjunto de espera com base nos seguintes parâmetros especificados por si:
- Modo: o modo no qual o GIG usa VMs suspensas e
paradas. Pode ser o modo
manual
ouscale-out-pool
. - Atraso inicial: o tempo durante o qual o MIG executa uma VM criada recentemente antes de a suspender ou parar. Configure o atraso inicial para permitir tempo suficiente para a sua app ser pré-inicializada e estar pronta para ser executada quando a MV for iniciada ou retomada.
Modo
Pode escolher como gerir os conjuntos de reserva definindo o modo de funcionamento.
Existem duas opções possíveis: modo manual
e modo scale-out-pool
.
Modo manual (predefinição)
No modo manual, tem controlo total sobre as VMs que são paradas e suspensas no MIG. O modo manual é o modo predefinido do conjunto de espera.
O modo manual é útil nos seguintes casos:
- Para pausar a sua carga de trabalho e poupar nos custos das VMs em execução inativa.
- Para integrar o GIG com escaladores automáticos de terceiros que requerem a gestão avançada de VMs individuais.
- Parar VMs selecionadas para fins de depuração.
Com o modo manual, o MIG não aplica nenhuma automatização ao conjunto de reserva:
- Quando aumenta o tamanho alvo do MIG, o MIG não inicia nem retoma automaticamente as VMs, mas cria novas.
- Quando o utilizador ou o escalador automático diminui o tamanho alvo do MIG, o MIG não para nem suspende automaticamente as VMs em execução, mas elimina-as.
Modo de grupo de expansão
No modo de pool de expansão, o MIG usa as VMs das pools de espera para acelerar a expansão retomando-as ou iniciando-as. Em seguida, o MIG repõe automaticamente o conjunto de reserva com novas VMs para manter os tamanhos desejados.
O modo de conjunto de escalabilidade horizontal é útil para acelerar a escalabilidade horizontal do MIG nos seguintes casos:
- Se usar o escalador automático do Compute Engine.
- Se usar escaladores automáticos de terceiros e quiser preservar qualquer integração existente.
- Se aumentar manualmente o tamanho alvo das VMs em execução.
No modo de conjunto de escalabilidade horizontal, o MIG comporta-se da seguinte forma:
Quando o utilizador ou o escalador automático aumenta o tamanho alvo das VMs em execução no MIG, o MIG toma medidas pela seguinte ordem:
- O MIG retoma as VMs suspensas caso estejam disponíveis nas zonas onde o MIG é expandido.
- Depois de retomar as VMs suspensas, se o tamanho alvo do MIG ainda não for atingido, o MIG inicia as VMs paradas, se estiverem disponíveis nas zonas onde o MIG é expandido.
- Depois de iniciar as VMs, se o tamanho alvo do MIG ainda não for alcançado, cria novas VMs de raiz.
Depois de usar o conjunto de espera para acelerar o aumento da escala, o MIG faz o seguinte:
- Cria novas VMs para repor os conjuntos suspensos e parados com base nos respetivos tamanhos-alvo e de acordo com o formato de distribuição-alvo no caso de um MIG regional.
- Coloca as novas VMs no estado de execução.
- Suspende ou para as novas VMs após a passagem do atraso inicial.
Quando o utilizador ou o escalador automático diminui o tamanho alvo do MIG, o MIG não para nem suspende automaticamente as VMs em execução, mas elimina-as.
Atraso inicial
Para se certificar de que a VM é inicializada corretamente, especifique o atraso inicial na política de espera. O atraso inicial é o tempo que as VMs esperam antes de serem paradas ou suspensas após a criação. Isto dá ao script de inicialização tempo para ser concluído.
O atraso inicial ocorre nos seguintes casos:
- É criada uma nova VM com o estado de destino pretendido de
SUSPENDED
ouTERMINATED
. - Uma instância existente no estado
RUNNING
é suspensa ou parada.
Em ambos os casos, a instância pode ser inicializada antes de ser suspensa ou parada.
Quando quiser usar o conjunto de reserva para acelerar a expansão do MIG, é recomendado que meça o tempo necessário para a sua aplicação ser inicializada no tipo de máquina selecionado para garantir que é suficiente para a aplicação estar totalmente pronta antes de ser suspensa ou parada. Caso contrário, retomar ou iniciar VMs a partir do pool de espera pode demorar mais tempo do que criar VMs a partir do zero.
Estado do alvo para VMs em MIGs
Os MIGs têm uma API declarativa. Isto significa que declara o estado de destino para as VMs no MIG e o pedido da API é bem-sucedido quando o estado de destino é guardado. Em seguida, o MIG executa as operações necessárias para alcançar o estado de destino, e pode verificar a ação atual e o estado atual de todas as VMs através da API.
A suspensão e a paragem de VMs num MIG funcionam da mesma forma declarativa. Quando envia um pedido para suspender ou parar VMs, o MIG armazena as informações sobre o estado de destino de cada VM e inicia as operações necessárias para o alcançar.
Quando lista VMs geridas num MIG, pode ver o campo targetStatus
.
Descreve o estado final de uma VM quando o MIG está estável.
Pode ter um dos seguintes valores:
RUNNING
STOPPED
SUSPENDED
As VMs num GIG podem ter os mesmos estados do ciclo de vida que as VMs individuais.
Seguem-se exemplos de operações possíveis num MIG e os valores associados do campo targetStatus
:
- Crie a nova VM e suspenda-a após a inicialização.
- Estado do alvo da VM:
SUSPENDED
.
- Estado do alvo da VM:
- Retomar uma VM suspensa anteriormente.
- Estado do alvo da VM:
RUNNING
- Estado do alvo da VM:
- Parar uma VM em execução anterior.
- Estado do alvo da VM:
STOPPED
- Estado do alvo da VM:
- Inicie uma VM parada anteriormente.
- Estado do alvo da VM:
RUNNING
- Estado do alvo da VM:
Limitações
- As seguintes limitações para suspender VMs autónomas
também se aplicam à suspensão de VMs num MIG:
- Não pode suspender uma instância que use uma GPU.
- Não pode suspender uma instância bare metal.
- Não pode suspender uma instância através dos processos padrão incorporados no ambiente convidado. Os comandos, como o comando
systemctl suspend
no Ubuntu 16.04 e posterior, não estão disponíveis. O sinal interno é ignorado. - Só pode suspender uma instância durante um máximo de 60 dias antes de a VM ser parada automaticamente.
- Não pode suspender instâncias com mais de 208 GB de memória.
- Pode suspender instâncias preemptivas, mas a instância preemptiva pode ser terminada antes de ser suspensa com êxito.
- Não pode suspender uma Confidential VM.
- Não é possível suspender uma VM com discos protegidos por CSEK anexados.
- Num MIG regional com
EVEN
forma de distribuição de destino e redistribuição de instâncias ativadas, não pode suspender, parar, retomar nem iniciar VMs específicas no grupo. Para gerir um conjunto de reserva, defina os tamanhos de destino dos conjuntos suspensos e parados. - Não pode usar o modo de conjunto de expansão se tiver configurado um segundo modelo de instância para a atualização canary no MIG.
- Não pode suspender nem parar VMs num MIG se tiver desativado as reparações no MIG.
- Só pode suspender uma instância durante um máximo de 60 dias antes de a VM ser parada automaticamente.
Preços
Cada VM parada e suspensa é faturada pelos seguintes itens:
- Qualquer utilização de disco persistente para o disco de arranque e quaisquer discos adicionais associados à VM. Para mais informações, consulte os preços do Persistent Disk.
- Quaisquer IPs estáticos anexados à VM. Para mais informações, consulte o artigo Preços de IP.
- No caso de VMs suspensas, a memória da VM e o estado do dispositivo. Para mais informações, consulte Preços das instâncias de VM.
O que se segue?
- Saiba como suspender ou parar manualmente VMs num MIG.
- Saiba como acelerar o aumento da escala com VMs suspensas e paradas.
- Saiba mais acerca das atualizações para VMs suspensas e paradas.