Google Cloud Platform - Script Start e Stop de VMs

Google Cloud Platform - Script Start e Stop de VMs

Olá pessoal,

Após algumas dúvidas referente ao start e stop de forma remota em máquinas virtuais rodando em nuvem que amigos abordaram comigo, escrevi esse script básico para realizar essas tarefas, conforme o horário definido pelo responsável da operação.

Para ambientar aos que leem esse artigo, segue o cenário em que o script foi baseado.

Cenário:

Um projeto cloud do Google Cloud Platform possui 8 máquinas virtuais com variadas 
funções utilizando o sistema operacional Windows e Linux. 

Dessas 8 máquinas temos 1 que fica ligada 24/7.

   - VM linux - Função XYZ.
	

As demais VM rodam softwares legados, ou sistemas que são utilizados apenas em 
horários específicos. 

Com esse cenário, conseguimos utilizar o CRON do Linux para agendar um horário para execução do Start e Stop das máquinas virtuais.

Cron:

00 8 * * 1-5 /tmp/script.sh

00 18 * * 1-5 /tmp/script.sh

O script aborda apenas o start e stop de uma VM, caso queira dar start em outras ao mesmo tempo, ou conforme necessidade, é necessário trabalhar o comando GCLOUD.

Script:

#!/bin/sh

#Star e Stop na VM conforme horário

HORA=$(date +%H%M)



# -GE maior ou igual

# -LE menor ou igual

# -A and



if [ $HORA -ge 800 ]; then

    #gcloud compute instances start NAMES [NAMES …] [--csek-key-file=FILE] [--zone=ZONE] [GLOBAL-FLAG …]

    gcloud compute instances start michel-teste --zone=projects/XYZ/zones/us-east1-a

elif [ $HORA -ge 1800 ]; then

    #gcloud compute instances stop NAMES [NAMES …] [--discard-local-ssd] [--zone=ZONE] [GLOBAL-FLAG …]

  	gcloud compute instances stop michel-teste --zone=projects/XYZ/zones/us-east1-a

fi

Artigo simples e sucinto, mas espero que ajude nessas dúvidas iniciais.

Abraço.

Adalberto Mendes

Técnico de laboratório de redes na Universidade Federal de Lavras

4 a

Olá Michel, ótima solução! Você ainda usa isso ou já encontrou outra solução? Pergunto pois preciso da mesma coisa, só que com 6 Servidores. Desde já agradeço.

Boa tarde Michel pelo que entendi você fez através do servidor que ligado 24 horas então ela executa comando para desligar as demais você não tem nenhum script para o próprio G Cloud pra desligar a instância.

Leonardo Barbosa da Silva Bezerra

IT Automation & Services Manager at Delivery Hero SE

7 a

Legal!

Danilo Conrado

Desenvolvedor no code/low code | Fundador da Citizen Devs

7 a

muito louco!!!

Entre para ver ou adicionar um comentário

Outros artigos de Michel Pabst

Outras pessoas também visualizaram

Conferir tópicos