Adriano Tanaka
OCP Oracle Cloud, OCP 11g, 12c
Adriano Tanaka

Gerenciando instancias no OCI usando oci cli e uma instância Always free.

Gerenciando instancias no OCI usando oci cli e uma instância Always free.

Esse artigo tem com objetivo mostrar uma forma simples e prática de se utilizar o oci cli em conjunto com uma instância Always Free para controlar o lifecycle de suas instâncias no OCI, ao final você será capaz de entender um pouco mais do oci cli e também agendar o stop/start da instância para economizar créditos.

Itens necessários:

Uma máquina do tipo Always free ou linux com o oci cli instalado e configurado para se autenticar no seu ambiente.

Comandos disponíveis Para gerenciar uma instância usando o oci cli vamos usar o comando oci compute instance com o parâmetro action com os seguintes valores:

START: Inicia a instância

STOP: Para a instância

RESET: Reinicia a instância

SOFTSTOP: Emite comandos de sistema operacional para a VM e ela é parada

SOFTRESET: Emite um comando de reiniciar para a VM nos mesmos moldes do SOFTSTOP

Note que até o momento apenas as opções SOFTSTOP e SOFTRESET estão disponíveis via dashboard:

Obrigatoriamente precisamos passar um valor para o parâmetro – -action e também o ocid da instância a ser manipulada, para retornar todas as instâncias de um compartimento você pode executar o seguinte comando passando o ocid do compartimento:

oci compute instance list -c ocid1.compartment.oc1..XXXXXX | jq -r '.data[] | "Inst: \(."display-name") | Status: \(."lifecycle-state") | OCID: \(.id)"'

Ele vai te mostrar a seguinte informação, um resumo das instâncias, seu respectivo status e seu ocid:

Parando a instância:

Para desligar uma máquina você pode utilizar os valores STOP ou SOFTSTOP no parâmetro – -action:

oci compute instance action --action STOP --instance-id ocid1.instance.oc1.sa-saopaulo-1.XXXXXXXXXXX

oci compute instance action --action SOFTSTOP --instance-id ocid1.instance.oc1.sa-saopaulo-1.XXXXXXXXXXX

Perceba que ao usar o valor STOP (marcado de vermelho) para a máquina seria o mesmo que puxar o cabo de energia, enquanto que ao usar SOFTSTOP (em azul) a máquina realmente recebe um comando de reiniciar (shutdown), por isso o uso de STOP não é recomendado a não ser que a máquina esteja travada e não possa receber o comando.

Iniciando a instância:

Para colocar a instância no ar, basta executar o comando com o parâmetro – -action e o valor START:

oci compute instance action --action START --instance-id ocid1.instance.oc1.sa-saopaulo-1.XXXXXXXXXXX

Agendando o desligamento automático de instâncias:

Depois de descobrir a dinâmica do comando oci compute instance action fica fácil de configurar um desligamento/ligamento automático das VMs:

Crie um script chamado shutdown_vm.sh com o seguinte conteúdo para desligar a instância:

export OCI_CLI_AUTH=instance_principal
/root/bin/oci compute instance action --action SOFTSTOP --instance-id $1 >> /home/opc/shutdown_$1.log 2>&1 

Crie um script chamado startup_vm.sh com o seguinte conteúdo:

export OCI_CLI_AUTH=instance_principal
/root/bin/oci compute instance action --action START --instance-id $1 >> /home/opc/shutdown_$1.log 2>&1 

E agende no crontab passando o ocid para o script:

Dessa forma a sua máquina vai ser desligada e ligada no horário agendado além de gerar um log para cada uma das máquinas.

Opinions expressed are solely my own and do not express the views or opinions of my employer.
# # #
Homepage      Oracle      Gerenciando instancias no OCI usando oci cli e uma instância Always free.

Adriano Tanaka

Gerenciando instancias no OCI usando oci cli e uma instância Always free.
Esse artigo tem com objetivo mostrar uma forma simples e prática de se utilizar o oci cli em conjunto com uma instância Always Free para controlar o lifec…
Scan QR code to continue reading
2020-08-04