Hvad er Azure Resource Manager?
Du har brugt noget tid sammen med dit team på at lære fordelene ved infrastruktur som kode og de forskellige tilgange, der er tilgængelige. Din virksomhed vokser hurtigt, og dit team ved, at det vil udrulle et betydeligt antal ressourcer til Azure. Som team har du besluttet, at deklarativ infrastruktur som kode er den rigtige tilgang til klargøring af ressourcer. Teamet ønsker ikke at vedligeholde scripts, der viser alle udrulningstrin. Før du begynder processen med at oprette din første skabelon, skal du forstå, hvordan Azure Resource Manager fungerer. Hvis du undersøger de typer skabeloner, der er tilgængelige til brug sammen med Azure, kan du se de næste trin i din strategi for infrastruktur som kode.
I dette undermodul får du mere at vide om Resource Manager og de to typer Resource Manager-skabeloner.
Koncepter for Azure Resource Manager
Azure Resource Manager er den tjeneste, der bruges til at udrulle og administrere ressourcer i Azure. Du kan bruge Resource Manager til at oprette, opdatere og slette ressourcer i dit Azure-abonnement. Du kan interagere med Resource Manager ved hjælp af mange værktøjer, herunder Azure Portal. Resource Manager indeholder også en række andre funktioner, f.eks. adgangskontrol, overvågning og mærkning, for at hjælpe med at administrere dine ressourcer efter udrulningen.
Terminologi
Når du begynder din cloudrejse med Resource Manager, er det vigtigt at forstå nogle begreber og begreber:
Ressource: Et element, der kan administreres, og som er tilgængeligt på Azure-platformen. Virtuelle netværk, virtuelle maskiner, lagerkonti, webapps og databaser er eksempler på ressourcer.
ressourcegruppe: En logisk objektbeholder, der indeholder relaterede ressourcer til en Azure-løsning. Ressourcegruppen indeholder ressourcer, du vil administrere som en gruppe. De fleste Azure-ressourcer findes i en ressourcegruppe. Du bestemmer, hvilke ressourcer der hører til i en ressourcegruppe, afhængigt af hvad der giver mest mening for din løsning.
Seddel
Et lille antal ressourcer er ikke indeholdt i ressourcegrupper. Disse ressourcetyper er til specifikke formål, f.eks. administration af adgangskontrol og gennemtvingelse af politikker. Du kan få mere at vide om disse ressourcer i et senere modul.
Abonnement: En logisk objektbeholder og faktureringsgrænse for dine ressourcer og ressourcegrupper. Hver Azure-ressource og -ressourcegruppe er kun knyttet til ét abonnement.
administrationsgruppe: En logisk objektbeholder, som du bruger til at administrere mere end ét abonnement. Du kan definere et hierarki af administrationsgrupper, abonnementer, ressourcegrupper og ressourcer for effektivt at administrere adgang, politikker og overholdelse via nedarvning.
AZURE Resource Manager-skabelon (ARM-skabelon): En skabelonfil, der definerer en eller flere ressourcer, der skal udrulles til en ressourcegruppe, et abonnement, en administrationsgruppe eller en lejer. Du kan bruge skabelonen til at udrulle ressourcerne på en ensartet og gentagelig måde. Der er to typer ARM-skabelonfiler: JSON og Bicep. I dette modul fokuseres der på Bicep.
Fordele
Resource Manager giver mange fordele og egenskaber, der er relateret til klargøring af ressourcer med infrastruktur som kode:
- Du kan udrulle, administrere og overvåge ressourcerne i din løsning som en gruppe i stedet for enkeltvist.
- Du kan geninstallere din løsning i hele udviklingslivscyklussen og have tillid til, at dine ressourcer udrulles i en ensartet tilstand.
- Du kan administrere din infrastruktur via deklarative skabeloner i stedet for ved hjælp af scripts.
- Du kan angive ressourceafhængigheder for at sikre, at ressourcerne udrulles i den korrekte rækkefølge.
Handlinger: Styr plan og dataplan
Du kan udføre to typer handlinger i Azure: styre flyhandlinger og dataplanhandlinger. Brug kontrolplanet til at administrere ressourcerne i dit abonnement. Brug dataplanet til at få adgang til funktioner, der vises af en ressource.
Du kan f.eks. bruge en kontrolelementplanhandling til at oprette en virtuel maskine, men du bruger en dataplanhandling til at oprette forbindelse til den virtuelle maskine ved hjælp af RDP (Remote Desktop Protocol).
Kontrolflade
Når du sender en anmodning fra et af Azure-værktøjerne, API'erne eller SDK'er (Software Development Kits), modtager, godkender og godkender Resource Manager anmodningen. Derefter sender den anmodningen til Azure-ressourceudbyderen, som udfører den anmodede handling. Da alle anmodninger håndteres via den samme API, får du vist ensartede resultater og egenskaber i alle de forskellige værktøjer, der er tilgængelige i Azure.
På følgende billede vises den rolle, som Resource Manager spiller i håndteringen af Azure-anmodninger:
Alle anmodninger om kontrolplanhandlinger sendes til en URL-adresse til Resource Manager. Oprettelses- eller opdateringshandlingen for virtuelle maskiner er f.eks. en kontrolplanhandling. Her er anmodningens URL-adresse til denne handling:
PUT https://management.azure.com/subscriptions/<subscriptionId>/resourceGroups/<resourceGroupName>/providers/Microsoft.Compute/virtualMachines/{virtualMachineName}?api-version=2022-08-01
Kontrolplanet forstår, hvilke ressourcer der skal oprettes, og hvilke ressourcer der allerede findes. Resource Manager forstår forskellen mellem disse anmodninger og opretter ikke identiske ressourcer eller sletter eksisterende ressourcer, selvom der er måder at tilsidesætte denne funktionsmåde på.
Dataplan
Når en dataplanhandling starter, sendes anmodningerne til et bestemt slutpunkt i dit Azure-abonnement. Handlingen Registrer sprog i Azure AI-tjenester er f.eks. en dataplanhandling, fordi anmodningens URL-adresse er:
POST https://eastus.api.cognitive.microsoft.com/text/analytics/v2.0/languages
Resource Manager-funktioner som adgangskontrol og låse gælder ikke altid for dataplanhandlinger. En bruger har muligvis ikke tilladelse til at administrere en virtuel maskine ved hjælp af kontrolfladen, men brugeren kan logge på operativsystemet.
Hvad er ARM-skabeloner?
Azure Resource Manager-skabeloner er filer, der definerer infrastrukturen og konfigurationen for din installation. Når du skriver en ARM-skabelon, bruger du en deklarativ tilgang til ressourceklargøring. Disse skabeloner beskriver hver ressource i installationen, men de beskriver ikke, hvordan ressourcerne udrulles. Når du sender en skabelon til Resource Manager til udrulning, kan kontrolplanet udrulle de definerede ressourcer på en organiseret og ensartet måde. I det foregående undermodul lærte du om forskellene mellem essentiel kode og deklarativ kode.
Hvorfor bruge ARM-skabeloner?
Der er mange fordele ved at bruge ARM-skabeloner, enten JSON eller Bicep, til klargøring af ressourcer.
resultater, der kan gentages,: ARM-skabeloner er idempotent, hvilket betyder, at du gentagne gange kan udrulle den samme skabelon og få det samme resultat. Skabelonen duplikerer ikke ressourcer.
Orchestration: Når en skabeloninstallation sendes til Resource Manager, installeres ressourcerne i skabelonen parallelt. Denne proces gør det muligt at fuldføre udrulninger hurtigere. Resource Manager orkestrerer disse installationer i den korrekte rækkefølge, hvis én ressource afhænger af en anden.
Preview: What If-værktøjet, der er tilgængeligt i Azure PowerShell og Azure CLI, giver dig mulighed for at få vist ændringer i dit miljø før udrulning af skabelonen. Dette værktøj indeholder oplysninger om eventuelle oprettelser, ændringer og sletninger, der foretages af skabelonen.
test og validering: Du kan bruge værktøjer som Bicep linter til at kontrollere kvaliteten af dine skabeloner før udrulningen. ARM-skabeloner, der sendes til Resource Manager, valideres før udrulningsprocessen. Denne validering giver dig besked om eventuelle fejl i skabelonen, før ressourcen klargøres.
Modularity: Du kan opdele dine skabeloner i mindre komponenter og sammenkæde dem ved udrulning.
CI/CD-integration: Dine ARM-skabeloner kan integreres i flere CI/CD-værktøjer, f.eks. Azure DevOps og GitHub Actions. Du kan bruge disse værktøjer til at versionere skabeloner via kildekontrol og oprette udgivelsespipelines.
Udvidelsesmulighed: Med udrulningsscripts kan du køre Bash- eller PowerShell-scripts fra dine ARM-skabeloner. Disse scripts udfører opgaver, f.eks. dataplanhandlinger, ved udrulning. Via udvidelse kan du bruge en enkelt ARM-skabelon til at udrulle en komplet løsning.
JSON- og Bicep-skabeloner
To typer ARM-skabeloner er tilgængelige til brug i dag: JSON-skabeloner og Bicep-skabeloner. JSON (JavaScript Object Notation) er et åbent standardfilformat, som flere sprog kan bruge. Bicep er et nyt domænespecifikt sprog, der for nylig er udviklet til oprettelse af ARM-skabeloner ved hjælp af en nemmere syntaks. Du kan bruge begge skabelonformater til ARM-skabeloner og ressourceinstallationer.