Azure Automation – Čo to je a na čo slúži?

5.8.2025 | Autor: Martin Hasin
8

Azure Automation je cloudová služba od Microsoftu, ktorá umožňuje automatizovať opakujúce sa úlohy v Azure aj mimo neho. Používa sa hlavne na správu a orchestráciu úloh pomocou PowerShell skriptov, Python skriptov alebo grafických workflowov (Runbookov).

Azure Automation – Čo to je a na čo slúži?

a Azure Automation – Čo to je a na čo slúži?Kľúčové funkcie Azure Automation:

  1. Runbooky – Umožňujú automatizovať úlohy v Azure a mimo neho.
  2. Scheduled Jobs – Plánovanie úloh na automatické spustenie v konkrétnych časoch.
  3. Hybrid Runbook Worker – Spustenie skriptov na on-premises serveroch.
  4. Update Management – Automatizácia aktualizácií Windows/Linux VM.
  5. Change Tracking – Monitorovanie zmien konfigurácií v systémoch.
  6. State Configuration (DSC) – Automatizácia konfigurácie infraštruktúry pomocou PowerShell DSC.

Ako automatizovať skripty v Azure Automation?

Azure Automation umožňuje spúšťanie skriptov pomocou Runbookov, ktoré môžu byť:

  • PowerShell (.ps1)
  • Python (.py)
  • Grafické workflowy (drag & drop)

1. Vytvorenie PowerShell Runbooku na Azure Portal

1.1 Vytvorenie Automation Account

  1. Azure Portal → Automation Accounts → Create.
  2. Vyplň názov a Resource Group.
  3. Klikni Create.

1.2 Vytvorenie Credential

Aby bolo možné používať Service Principal alebo iné prihlasovacie údaje v Runbooku, je potrebné ich uložiť ako Credential Asset v Azure Automation.

Postup:

  1. V Azure Portal → Otvor Automation Account.
  2. V ľavom menu vyber Credentials.
  3. Klikni na Add a credential.
  4. Vyplň:
    • NameServicePrincipal
    • User Nameclient_id (z App Registration v Azure AD)
    • Passwordclient_secret
  5. Klikni Create.

1.3 Vytvorenie Runbooku

  1. V Automation Account prejdeš na Runbooks → Create a Runbook.
  2. Vyber PowerShell ako typ a zadaj názov, napr. Refresh-Model.ps1.
  3. Vložíš kód, napr.:
param
(
    [Parameter (Mandatory = $false)]
    [object] $WebhookData,

    [Parameter (Mandatory = $false)]
    [String] $DatabaseName,
    [Parameter (Mandatory = $false)]
    [String] $AnalysisServer,
    [Parameter (Mandatory = $false)]
    [String] $RefreshType
)

$_Credential = Get-AutomationPSCredential -Name "ServicePrincipal"

# If runbook was called from Webhook, WebhookData will not be null.
if ($WebhookData)
{ 
    # Retrieve AAS details from Webhook request body
    $atmParameters = (ConvertFrom-Json -InputObject $WebhookData.RequestBody)
    Write-Output "CredentialName: $($atmParameters.CredentialName)"
    Write-Output "AnalysisServicesDatabaseName: $($atmParameters.AnalysisServicesDatabaseName)"
    Write-Output "AnalysisServicesServer: $($atmParameters.AnalysisServicesServer)"
    Write-Output "DatabaseRefreshType: $($atmParameters.DatabaseRefreshType)"
    
    $_databaseName = $atmParameters.AnalysisServicesDatabaseName
    $_analysisServer = $atmParameters.AnalysisServicesServer
    $_refreshType = $atmParameters.DatabaseRefreshType
 
    Invoke-ProcessASDatabase -DatabaseName $_databaseName -RefreshType $_refreshType -Server $_analysisServer -ServicePrincipal -Credential $_credential
}
else 
{
    Invoke-ProcessASDatabase -DatabaseName $DatabaseName -RefreshType $RefreshType -Server $AnalysisServer -ServicePrincipal -Credential $_Credential
}

4. Klikni Publish.

2. Naplánovanie automatického spustenia

Po vytvorení Runbooku môžeš nastaviť jeho automatické spustenie.

  1. V Runbooku → Schedules → Add a Schedule.
  2. Nastavíš každý deň o 3:00 AM.
  3. Pripojíš parametre (napr. názov databázy).




Viac odborných článkov, návodov a IT zaujímavostí nájdete webe: www.virtualall.sk
 

Martin Hasin

Martin Hasin

Odborník na kybernetickú bezpečnosť, správu Azure Cloud a VMware onprem. Využíva technológie, ako Checkmk a MRTG, na monitorovanie siete a zvyšovanie efektívnosti a bezpečnosti IT infraštruktúry.