
Como sabemos, em Cloud Computing pagamos por recursos consumidos, e as vezes temos a demanda de manter um servidor ligado somente durante o horário comercial, por exemplo.
Nesse post irei demonstrar como fazer um agendamento para iniciar e desligar uma VM automaticamente usando o Azure Automation.
O Azure Automation é um serviço de configuração e automação do Azure.
Para mais detalhes, clique aqui: https://docs.microsoft.com/en-us/azure/automation/automation-intro
Mão a massa!
O primeiro passo é criar uma conta do Azure Automation.
Pesquise por "Automation" e depois clique em "Automation Accounts" e depois "Create Automation Accounts"
Na opção "Create Azure Run As account" deixe selecione "Yes"
Após o recurso ser criado, nas opções "Process Automation" selecione "Runbooks" e depois "Add a runbook"
Na próxima tela selecione "Create a new runbook"
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Input Parameters for | |
# - VmName: name of the vm to perform action to | |
# - ResourceGroupName: resource group where the vm belongs to | |
# - VmAction:action to perform (startup or shutdown) | |
Param( | |
[string]$VmName, | |
[string]$ResourceGroupName, | |
[ValidateSet("Startup", "Shutdown")] | |
[string]$VmAction | |
) | |
# Authenticate with your Automation Account | |
$Conn = Get-AutomationConnection -Name AzureRunAsConnection | |
Add-AzureRMAccount -ServicePrincipal -Tenant $Conn.TenantID ` | |
-ApplicationID $Conn.ApplicationID -CertificateThumbprint $Conn.CertificateThumbprint | |
# Startup VM | |
IF ($VmAction -eq "Startup") { | |
Start-AzureRmVM -Name $VmName -ResourceGroupName $ResourceGroupName | |
} | |
# Shutdown VM | |
IF ($VmAction -eq "Shutdown") { | |
Stop-AzureRmVM -Name $VmName -ResourceGroupName $ResourceGroupName -Force | |
} |
- Nome da VM
- Nome do grupo de recursos no qual a VM pertence
- Ação: Startup ou Shutodown
Testando
Para isso clique no ícone "Test pane"
Na próxima tela entre com os parâmetros que citamos acima e clique em "Start"
Publicando o Runbook
O próximo passo é publicar o Runbook.
Para isso clique no botão "Publish" e depois confirme.
Criando o agendamento
Clique em "Schedules"e depois em "Add a Schedule"
Na tela seguinte clique em "Link a schedule to your runbook" > "Create a new schedule".
Dê um nome para o agendamento e configure o horario de Start da VM.
O próximo passo é configurar os parâmetros, idêntico ao que fizemos no teste.
Repita o agendamento para o desligamento, alterando o parâmetro "VMACTION" para "Shutdown".
Visualizando a execução dos Jobs
Acessando o recurso Automation Account, podemos visualizar detalhes dos Job.
É isso ai pessoal!
Grande abraço,
Breno Padovan