Neste procedimento, vamos mostrar como configurar uma conta de automação no Azure e criar um runbook para desligar todas as máquinas de um único grupo de recursos.
Um Automation Account no Azure é um serviço que oferece automação de processos e tarefas em ambientes da nuvem. Ele fornece recursos para criar, implantar e gerenciar runbooks, que são scripts automatizados que executam tarefas específicas no Azure, proporcionando maior eficiência e consistência nas operações. Essa ferramenta é essencial para simplificar e automatizar a administração de recursos na nuvem.
Dentro do portal do Azure, localize o serviço “Automation Accounts” e clique nele.
Agora vamos clicar em create
Insira as informações de acordo com as configurações do seu ambiente:
Utilize a identidade do sistema para autenticar na assinatura.
No meu exemplo, vou usar a conectividade pública.
Agora basta clicar em revisar e criar
A conta de automação foi criada com sucesso. Agora, basta clicar em “Go to resource”.
Dentro da conta de automação vamos clicar em Identity e posteriormente em Azure Role assignments
Agora clique em Add role assignment
Em seguida, selecione as permissões que a conta de automação terá.
Ao concluir o procedimento mencionado, estamos prontos para criar o nosso runbook, para isso basta acessar a seção “Runbooks” e clicar em “Create a Runbook”.
Vamos nomear nosso runbook, escolher a versão do PowerShell e, em seguida, clicar em “Create“:
Após fornecer as informações anteriores, você pode inserir o script conforme mostrado abaixo:
Segue o exemplo do script que utilizei no seu caso troque apenas a informação do resource group
#Conectando no azure
try {
"Logging in to Azure..."
Connect-AzAccount -Identity
}
catch {
if (!$servicePrincipalConnection) {
$ErrorMessage = "Connection $connectionName not found."
throw $ErrorMessage
} else {
Write-Error -Message $_.Exception
throw $_.Exception
}
}
# Variavel
$resourceGroupName = "nome do resource group" # Nome do resource group
# Obtém todas as VMs no grupo de recursos especificado
$vms = Get-AzVM -ResourceGroupName $resourceGroupName
foreach ($vm in $vms) {
# Desliga a VM
Stop-AzVM -ResourceGroupName $resourceGroupName -Name $vm.Name -Force
Write-Output "Desligando VM: $($vm.Name)"
}
Write-Output "Operação concluída."
Após finalizar e salvar seu script, publique-o para que seja utilizado. Em seguida, estamos prontos para realizar a primeira execução clicando em start:
Ao verificar os registros, constatamos que o script foi executado com êxito, resultando no desligamento da VM no respectivo resource group. Essa ação contribui significativamente para o controle e otimização dos recursos em seu ambiente.
Ao acessar o Console Azure, é possível verificar com sucesso que a máquina virtual foi desligada conforme previsto. Essa confirmação é crucial para garantir que as ações automatizadas estejam alinhadas com as expectativas de gerenciamento do ambiente.
Ao explorar os logs, torna-se evidente que a conta de automação que criamos desempenhou um papel crucial no processo de desligamento da VM. Essa clareza na identificação do responsável é fundamental para manter a transparência e a rastreabilidade em suas operações no ambiente do Azure.
Ao explorar esta publicação, consolidamos nosso entendimento sobre as contas de automação no ambiente Azure. A capacidade de criar scripts personalizados apresenta-se como uma ferramenta poderosa, permitindo aprimorar significativamente a eficiência e gestão de nossos recursos na nuvem. Este conhecimento oferece bases sólidas para explorarmos ainda mais as possibilidades de automação e otimização em nosso ambiente. Continue acompanhando para mais insights e aprimore suas práticas no Azure. Juntos, vamos impulsionar a eficiência operacional e maximizar o potencial da sua infraestrutura na nuvem.