Azure

Hvordan automatisere med Microsoft Azure Runbooks

Automatisering er avgjørende i den moderne IT-verdenen. Automatiseringsverktøy som Microsoft Azure Runbooks kan hjelpe deg med å utføre oppgaver raskere og mer effektivt. Selv om læringskurven kan være bratt for noen, spesielt for de som er nye i Azure, er gevinsten fordelaktig i det lange løp.

Denne opplæringen viser deg hvordan du oppretter og kjører en Microsoft Azure Runbook. Du vil også lære et typisk virkelighetseksempel på bruk av en Azure-runbook i Azure-miljøet ditt.

Så fortsett å lese og lær noe nytt i dag!

Forutsetninger

Denne opplæringen vil være en praktisk demonstrasjon. Hvis du vil følge med, vær sikker på at du har følgende:

  • En Azure-konto med et aktivt abonnement. Hvis du ikke har et Azure-abonnement, oppretter du en gratis konto før du begynner.
  • Den nyeste PowerShell-versjonen for ditt operativsystem. Denne opplæringen bruker PowerShell 7.2.5 på Windows 10.
  • Den nyeste Az PowerShell-modulen må være installert på datamaskinen. Denne opplæringen vil bruke Azure PowerShell-modulen versjon 8.1.0.
  • En koderedigerer, for eksempel Visual Studio Code.

Opprette en Azure Runbook ved hjelp av portalen

Enten du er en ny eller erfaren bruker, er Azure Portal den raskeste måten å lage Azure Runbooks på. Denne delen vil lære deg hvordan du oppretter, redigerer, tester, publiserer og kjører en Azure Runbook i Azure Portal.

Opprette en automatiseringskonto

Det primære kravet til en runbook er automatiseringskontoen. En automatiseringskonto er en beholder for automatiseringsressursene dine, som moduler, legitimasjon, variabler og selve runbooken.

Følg trinnene nedenfor for å opprette en ny automatiseringskonto i Azure Portal.

  • Logg på Azure Portal med din foretrukne nettleser.
  • Klikk på Create Resource → IT & Management Tools → Automation (create).
  • På siden Create an Automation Account fyller du ut skjemaet under fanen Basics.

Velg abonnementet der du ønsker å opprette automatiseringskontoen.

Klikk på Create new link under Resource group. Skriv inn navnet på den nye ressursgruppen og klikk OK. Dette eksempelet på automatiseringskontoens navn er aa-rg-portal.

Merk: Det er valgfritt å opprette en ny ressursgruppe. Alternativt kan du velge en eksisterende ressursgruppe fra rullegardinmenyen

Velge abonnement og opprette en ny ressursgruppe.
  • Deretter skriver du inn navnet på automatiseringskontoen og velger regionen. Vanligvis vil du velge en region som er geografisk optimal for din plassering. I dette eksemplet er automatiseringskontonavnet ata-automation-account, og plasseringen er East US.

Klikk på Review+Create-knappen når du har fullført detaljene.

Konfigurering av automatiseringskontodetaljer
  • Siden validerer din automatiseringskontodetaljer. Hvis du ser meldingen Validation passed, klikker du på Create knappen for å starte opprettelsen av automatiseringskontoen.
Gjennomgå og opprette automatiseringskontoen

Etter opprettelse av automatiseringskontoen vil du se en bekreftelsesmelding som ligner på skjermbildet nedenfor.

Bekreftelse av opprettelse av automatiseringskonto

Opprette en PowerShell Runbook

Du har nå en automatiseringskonto og kan begynne å lage en Azure Runbook i den. Følg trinnene nedenfor for å opprette en ny runbook i Azure Portal.

  • Naviger tilbake til automatiseringskontoer og klikk på navnet på automatiseringskontoen din.
Åpning av automatiseringskontosiden
  • Under Process Automation-delen klikker du på Runbooks og knappen Create a runbook nær toppen av siden.
Klikk på knappen Create a runbook
  • På siden Create a runbook fyller du ut runbook-navnet og velger Azure Runbook-typen og Runtime-versjonen. Dette eksemplet vil lage en ny grafisk PowerShell-runbook kalt azure-runbook-01 basert på Windows PowerShell 5.1-runtime.

Den grafiske PowerShell runbook-typen betyr at du oppretter en PowerShell Runbook som du bare kan redigere ved hjelp av automatiserings grafiske redigeringsverktøy.

Se dokumentasjonen for Azure Automation runbook-typer for å vite mer om de forskjellige runbook-typene.

Etter å ha fylt ut runbook-informasjonen, klikker du på Create.

Konfigurere og opprette en ny Azure Runbook

Den grafiske editoren åpner automatisk runbook for redigering, som du kan se nedenfor. Den grafiske editoren har tre ruter: Library, Canvas og Configuration.

Azure runbook grafiske editor

Redigering av Runbook

Du har opprettet en tom runbook. Din neste oppgave er å redigere runbooken for å få den til å gjøre noe. I dette eksemplet vil du modifisere runbooken for å utføre en enkel logikk: skriv ut meldingen Hello Wold ved hjelp av Write-Output-cmdleten.

  • Legg først til Write-Output-cmdleten til kanvas. Skriv Write-Output i bibliotekrutens søkeboks for å gjøre det raskt. Når du ser Write-Output under CMDLETS-treet, klikker du på ellipsen (…) → Add to canvas.
    Som du kan se nedenfor, er Write-Output cmdleten nå inne i kanvas. På dette tidspunktet kalles Write-Output-objektet du ser på kanvas en aktivitet.
Legger til en cmdlet på kanvas
  • I konfigurasjonsruten endrer du aktivitetsetiketten til Display Hello World. Klikk deretter på Parameters.
Endre etiketten
  • På neste side vil du se listen over Write-Output cmdlet-parametere. I dette eksemplet klikker du på den obligatoriske parameteren INPUTOBJECT.
Klikk på den obligatoriske parameteren
  • Velg nå datakilden for INPUTOBJECT-parameteren. Velg alternativet PowerShell-expression fra rullegardinmenyen Data source  i dette eksemplet. I Expression-boksen skriver du «Hello World»-uttrykket (inkludert anførselstegnene), og klikker OK.
Velge parameterverdi
  • Activity Parameter Configuration vil du se at INPUTOBJECT nå har en hake som indikerer at du allerede har lagt til de obligatoriske parameterne. Klikk OK.
Klikk OK på parameterkonfigurasjonen

Test av Runbook

Du har opprettet og konfigurert en runbook, men fungerer det? For å finne det ut har Editoren en testrute der du trygt kan kjøre runbooken for testing.

  • Klikk på Test Pane øverst på bildet.
Klikk på Test Pane øverst på skjermen for å åpne testruten.
  • Når Test Pane er åpen, klikker du på Start for å kjøre kjøreboken.

Merk: Når du utfører en runbook-testing i Test Pane, lagres den gjeldende runbook automatisk.

Kjører en runbook-test
  • Vent på testkjøringen til du ser meldingen Completed. Utdataruten viser det forventede resultatet: Hello World-meldingen. Lukk Test-ruten for å gå tilbake til redigeringsprogrammet
Vise runbook-testresultatet og lukke testsiden.
  • Når du har kommet tilbake til redigeringsprogrammet, klikker du på Publiser-knappen → Yes, to publish this runbook version.
Publiserer runbook

Som et resultat endres runbook-statusen til Publisert.

 
Azure Runbook status

Opprette en Azure Runbook med PowerShell

Du kan også lage en PowerShell-runbook ved hjelp av PowerShell. Denne delen viser deg hvordan du oppretter en PowerShell-runbook ved hjelp av Az PowerShell-modulens cmdlets.

Opprette en automatiseringskonto

Først må du opprette automatiseringskontoen som senere skal inneholde runbooks.

  • Åpne PowerShell med forhøyede rettigheter på din lokale maskin.
  • Logg på Azure PowerShell ved å kjøre følgende cmdlet.
Connect-AzAccount
  • Hvis du har mer enn ett Azure-abonnement, kjør kommandoen nedenfor for å velge riktig abonnement som skal brukes.
Get-AzSubscription
Select-AzSubscription 'Subscription name or ID'
Velge Azure-abonnementet

Kjør deretter kommandoen nedenfor for å opprette en ressursgruppe. Denne kommandoen oppretter en ressursgruppe med navnet aa-rg-poweshell i eastus-regionen.

New-AzResourceGroup -Name aa-rg-powershell -Location eastus
aa-rg-poweshell i eastus regionen
  • Nå som du har en ressursgruppe, kjør kommandoen nedenfor for å opprette automatiseringskontoen. Denne kommandoen oppretter en automatiseringskonto med navnet az-automation-account i eastus-regionen.
New-AzAutomationAccount `
-Name 'az-automation-account' `
-Location 'eastus' `
-ResourceGroupName 'aa-rg-powershell'
az-automation-account

Opprett PowerShell Runbook

For å lage en ny runbook ved hjelp av PowerShell, er New-AzAutomationRunbook cmdleten din go-to-kommando. Følg disse trinnene for å lage runbook.

Kopier følgende kodebit og kjør den i PowerShell for å lage en ny Azure-runbook. Denne koden lager en runbook av typen PowerShell kalt az-automation-runbook i az-automation-account automation-kontoen.

$params = @{
AutomationAccountName = 'az-automation-account'
Name = 'az-automation-runbook'
ResourceGroupName = 'aa-rg-powershell'
Type = 'PowerShell'
}
New-AzAutomationRunbook @params
Opprette en ny Azure-runbook i PowerShell

Legg til kode i Runbook

Du har opprettet en PowerShell-runbook med PowerShell, men den har ingen kode. Denne delen vil lære deg hvordan du legger til kode i PowerShell-runbooken.

  • Åpne koderedigeringsprogrammet og lag en ny fil kalt HelloWorld.ps1.
  • Kopier og lim inn følgende kode i kodeeditoren og lagre filen etterpå.
Write-Output -InputObject "Hello PowerShell"
HelloWorld.ps1.
  • Importer nå PowerShell-koden til Azure Runbook ved å kjøre Import-AzAutomationRunbook-kommandoen nedenfor. Kommandoen importerer koden i HelloWorld.ps1 til az-automation-runbook runbook.

Parameteren -Force overskriver den eksisterende kjøreboken med samme navn.

Import-AzAutomationRunbook `
-ResourceGroupName aa-rg-powershell `
-AutomationAccountName az-automation-account `
-Path .\HelloWorld.ps1 `
-Type PowerShell `
-Name az-automation-runbook `
-Force

Skjermbildet nedenfor viser en vellykket import av automatiseringsrunbook.

Importerer runbook-koden

Publiserer Runbook

I motsetning til den grafiske editoren i Azure Portal, er det ingen tilsvarende testrute i Azure PowerShell for å teste Azure-runbooks. Den eneste måten å starte en runbook i PowerShell på er å publisere den først.

For å publisere en Azure-runbook, kjør Publish-AzAutomationRunbook-cmdleten, som vist nedenfor. Denne cmdleten publiserer az-automation-runbook runbook

Publish-AzAutomationRunbook `
-Name az-automation-runbook `
-AutomationAccountName az-automation-account `
-ResourceGroup aa-rg-powershell

Som du kan se nedenfor, er runbook-tilstanden nå publisert.

Publisert-AzAutomationRunbook

Starte Runbook

Etter at du har publisert Azure Runbook, kjører du den ved å kjøre Start-AzAutomationRunbook-kommandoen nedenfor


Start-AzAutomationRunbook `
-AutomationAccountName az-automation-account `
-Name az-automation-runbook `
-ResourceGroupName aa-rg-powershell `
-Wait

Merk: -Wait-switch får Start-AzAutomationRunbook til å vente på at runbooken er ferdig å kjøre før resultatet returneres

Starte Azure runbook

Automatisering med Azure Runbook: Stoppe Azure VM-er med tidsplan

Så langt har du opprettet en Azure Runbook fra bunnen av og lagt til kode til den ved å bruke portalen og PowerShell. Hvilken metode føler du deg komfortabel med å utforske?

I dette eksemplet skal du opprette og konfigurere en Runbook som stopper en valgt Azure VM eller alle VM-er i en ressursgruppe. Men i stedet for å skrive din egen kode, importerer du en eksisterende runbook fra Azure Runbook Gallery.

Merk: Denne aktiviteten krever at du kjører minst én Azure VM for å være målet for Azure Runbook.

Importere en Azure Runbook fra galleriet

  • Naviger først til Automation Accounts i Azure Portal.
  • Du bør se automatiseringskontoene du tidligere opprettet i portalen og PowerShell. Klikk på ata-automation-kontoen som er i ressursgruppen aa-rg-portal.
Åpne automatiseringskontoen
  • Klikk Runbooks → Browse Gallery.
Klikk Browse Gallery
  • Du vil se mange runbooks i galleriet, finn den som heter Stop Azure V2 VMs og klikk på den.
Klikk Stop Azure V2 VMs runbook
  • Når Stopp Azure V2 VM-er åpnet, klikker du på Select.
Klikk Select
  • På Import a runbook-siden skriver du inn stop-az-vm som runbook-navnet. La alle andre felt være intakte og klikk på Importer.
Import av runbook fra gallery
  • Runbooken åpnes automatisk i den grafiske editoren. På dette tidspunktet trenger du ikke gjøre noen endringer ennå. Klikk Publish, Yes, for å publisere denne runbook-versjonen.
Publisering av Runbook
  • Klikk på koblingen Automatiseringskonto i brødsmulene for å gå tilbake til automatiseringskontobladet.
Gå tilbake til automatiseringskontoen

Opprette «Run As Account»

Runbooken din innebærer et trinn for å koble til Azure, noe som betyr at det må være en konto som har tilgang til mål-Azure-ressursene, og her kommer Azure RunAsAccount inn.

RunAsAccount er en tjenesteprinsipp i Azure Active Directory (AAD) med de nødvendige tillatelsene. Automatiseringstjenesten oppretter og vedlikeholder denne kontoen for deg – men først må du opprette den.

  • Klikk bladet Run As Account → Azure Run As Account
Klikk Run as accounts blade
  • I dialogboksen Add Azure Run As Account klikker du på Create.
Lage Azure Run As Account
  • Klikk på den nye Azure Run As Account for å vise egenskapene.
Åpne de nye Run As Account-egenskapene

Som du kan se nedenfor, opprettet Run As Account også andre egenskaper eller delte ressurser i automatiseringskontoene, for eksempel tilkobling og sertifikat. Run As Account er også knyttet til et tjenestehovedobjekt i Azure som har en Contributor-rolle til abonnementet.

Azure Run As Account  egenskaper

Merk: Run AS Account utløper basert på sertifikatets utløpsdato. Klikk på Renew Certificate-knappen for å fornye Run AS Account sammen.

Legge til en tidsplan

For å automatisere oppgaven fullt ut, må oppgaven kjøres uten tilsyn med et spesifisert intervall. Anta at du krever at VM-er stopper hver fredag kl. 17:00; Hvis du legger til en tidsplan, kan du nå dette målet.

  • Under Shared Resource, klikk Schedules → Add a schedule
Klikk Add a schedule
  • Deretter konfigurerer du tidsplanen som følger:
  • Name: Stop VMs on Fridays EOB
  • Starts: <date> <time>. This example sets the start date and time at July 15, 2022 5:00 PM.
  • Time zone: Choose the appropriate time zone.
  • Recurrence: Recurring
  • Recur every: 1 Week
  • On these days: Friday
  • Set Expiration: Yes
  • Expires: <date> <time>. Set the schedule expiration approximately one year from now.

Når du har fullført tidsplanen, klikker du på Create.

Oppretting av et nytt tidsplanelement

Du har nå publisert en tidsplan i automatiseringskontoen din.

Det publiserte planelementet
  • Nå som du har opprettet en tidsplan, må du koble den til kjøreboken. For å gjøre det, åpne runbook-bladet igjen ved å klikke på Runbooks → stop-az-vm.
Åpne Runbook
  • Deretter klikker du på Link to schedule på Overview blade.
Klikk Link to schedule
  • Klikk på Schedule på neste side.
Klikk Schedule
  • Klikk på Stop VMs on Fridays EOB-schedule fra listen.
Valg av tidsplan
  • Til slutt klikker du OK for å fullføre koblingen av tidsplanen til Runbook.
Koblinger tidsplanen til runbook

Du har nå koblet tidsplanen til Runbook.

Viser runbook-planene

Kjøre en siste test

Du er ferdig med å konfigurere Runbook og planlagt at jobben skal kjøres. Men før du lar runbooken være som den er, kjør en siste test for å sikre at runbooken fungerer som forventet.

  • Klikk Overview → Edit to open the graphical editor.
Åpne den grafiske editoren
  • Klikk på Test-ruten i den grafiske editoren.
Test pane
  • Ikke endre parameterne på dette tidspunktet og klikk Start. Runbooken vil koble til Azure og forsøke å stoppe alle kjørende VM-er inne i abonnementet.

For å kjøre mot en bestemt ressursgruppe eller VM, skriv inn ressursgruppen eller VM-navnet, eller begge deler.

Som du kan se nedenfor, stoppet runbook de to virtuelle maskinene i dette Azure-abonnementet.

Kjøre en Runbook test
  • Lukk til slutt testruten og den grafiske editoren.

Konklusjon

I denne artikkelen har du lært hvordan du oppretter en Microsoft Azure Automation-konto og hvordan du oppretter runbooks ved hjelp av det grafiske redigeringsprogrammet og PowerShell. Du har også lært hvordan du tester Azure Runbook for å bekrefte at de fungerer som forventet.

Runbooks lar deg automatisere ulike oppgaver i Azure, som VM-oppretting, sikkerhetskopiering av databaser osv. Automatisering kan spare deg for tid og penger ved å automatisere repeterende oppgaver. Prøv å lage dine egne runbooks for å automatisere oppgaver i Azure-miljøet ditt.

Similar Posts