Automatizar inicialização e desligamento de VMs do Azure
Crie uma conta de automação
O que é uma conta de automação? Como o próprio nome diz é um recurso que possibilita a criação de automações para a sua assinatura. Ou seja, nada mais de fazer tarefas repetidas manualmente, deixe que o próprio Azure Automation faça isso para você. O mais interessante é que os 500 primeiros minutos são gratuitos, portanto podemos criar esta automação sem haver qualquer impacto nos custos de sua atual infra na nuvem! As contas de automação permitem a criação de runbook (acostume-se com este termo), que nada mais são que livros de receita, que armazenarão toda a nossa automação. Você pode criar todo o tipo de runbook que faça os mais diversos tipos de tarefa. Você pode ler mais sobre eles na documentação oficial sobre Azure Automation. Vamos iniciar agora a criação da nossa automação!1º Passo: Crie sua conta de automação
- Clique em + Novo Serviço
- Digite Automation e clique em Automação;
- Na área de descrição, clique em Criar.
- Nome: AutomartionAcc
- Assinatura: Selecione a assinatura que você quer usar
- Grupo de Recursos: Neste caso estou criando um novo e chamando de “automation-rg”
- Localização: Escolha “Sul do Brasil”
2º Passo: Crie e publique um runbook
Clique em Editar; você será direcionado para a página de confecção do script. Lá, será bem simples. Nós vamos colocar o script que vou deixar abaixo, que fará toda a automação da inicialização da sua VM.Param(
[string]$VmName,
[string]$ResourceGroupName,
[ValidateSet("Iniciar", "Desligar")]
[string]$VmAction
)
# Autenticar na conta de automação
$Conn = Get-AutomationConnection -Name AzureRunAsConnection
Add-AzureRMAccount -ServicePrincipal -Tenant $Conn.TenantID `
-ApplicationID $Conn.ApplicationID -CertificateThumbprint $Conn.CertificateThumbprint
# Iniciar VM
IF ($VmAction -eq "Iniciar") {
Start-AzureRmVM -Name $VmName -ResourceGroupName $ResourceGroupName
}
# Desligar VM
IF ($VmAction -eq "Desligar") {
Stop-AzureRmVM -Name $VmName -ResourceGroupName $ResourceGroupName -Force
}
Salve as alterações e clique em Publicar.
3º Passo: Crie um agendamento recorrente
Agora que nosso script foi publicado iniciaremos o processo de agendamento recorrente dele- Clique em Agendar;
- Selecione Vincule um agendamento ao seu runbook;
- Siga os passos para criar uma agenda que seja recorrente, a cada 1 dia;
- Clique em OK e vá para Configurar parâmetros e executar configurações;
- Em VMName, digite o nome da VM que você deseja iniciar automaticamente;
- Em ResourceGroupName coloque o nome do grupo de recurso em que sua VM está alocada;
- Em VMAction use “Iniciar” ou “Desligar” (sem áspas);
- Clique em OK;
- Agora finalize e clique em OK novamente;
Dica:
Neste post estou mostrando o processo apenas para ligar automaticamente. Você pode trocar para “Desligar”, se quiser utilizar o desligamento agendado.