Centric connect.engage.succeed

Terug naar de Command Line: Azure Command Line Interface

Geschreven door René Vlieger - 25 april 2018

René Vlieger
Microsoft Azure beheren vanaf de Azure Portal? Dat is vaak best een uitdaging. De portal verandert continu en ook nog eens sneller dan menig beheerder lief is. Bovendien is de Azure Portal eigenlijk niet echt geschikt voor automation doeleinden. Daar zijn andere tools veel beter geschikt voor. Daarom laten veel beheerders de portal links liggen en gebruiken ze de Azure Command Line Interface (Azure CLI). De Azure CLI is speciaal ontworpen voor Microsoft Azure.

In deze blog baseer ik me op een lokaal geïnstalleerde versie van Azure CLI, maar je kunt de interface ook gebruiken via de Azure Portal. De versie die ik gebruik is 2.0.29. Je kunt het versienummer gemakkelijk opvragen met het az-version commando. In deze blog ga ik in op hoe je met Azure CLI:

  • een virtuele machine uitrolt
  • poort 3389 voor RDP-verkeer openzet
  • Windows Feature IIS installeert
  • de resourcegroup verwijdert (dus ook automatisch alles wat zich in deze resourcegroup bevindt)

Ben je een beheerder, dan ben je vast wel bekend met de CLI-command line. Waarschijnlijk heb je al gewerkt met Novell, Unix, Dos of vergelijkbare producten.

Als je de Azure CLI vergelijkt met PowerShell, dan heeft de Azure CLI een aantal voordelen:

  • De Azure CLI is Open Source, dus de code is vrij toegankelijk.
  • De Azure CLI kan gebruikt worden op diverse platformen, waaronder Windows, Linux en MacOS en je kunt op de diverse platformen dezelfde commando’s gebruiken (sinds januari 2018 kan ook PowerShell gebruikt worden op platformen als MacOS en Linux).
  • De Azure CLI is laagdrempelig, eenvoudig in gebruik en makkelijk te leren.

Hulp nodig?

Je kunt az -h intoetsen of de ms/cli-pagina bezoeken voor helpdocumentatie.

Ook kun je via het az find-commando vrij gemakkelijk opdrachten zoeken. In de Azure CLI worden opdrachten aangeboden als subopdrachten van diverse groepen. Elke groep hoort bij een bepaalde Azure-service. Met subgroepen worden de opdrachten voor deze services op een logische wijze geordend. Als je bijvoorbeeld wilt zoeken naar alle namen van opdrachten waar het woord network in voorkomt, gebruik je het commando az find -q network.

Interactieve modus

De Azure CLI biedt een interactieve modus, waarmee automatisch helpinformatie wordt weergegeven. Deze modus maakt het bovendien vrij eenvoudig op supopdrachten te selecteren. Je kunt de interactieve modus activeren met het commando az interactive.

Inloggen op Azure

Om in je Azure-account in te loggen, gebruik je het az login-commando. Met dit commando word je gevraagd je aan te melden met een verificatiecode via de website  https://microsoft.com/devicelogin.

Als de authenticatie is gelukt, verschijnt er binnen de Azure CLI accountinformatie.

Deze informatie is altijd weer vrij gemakkelijk op te vragen met het az account show-commando. Een lijst van alle beschikbare abonnementen krijg je via het az account list –output table-commando.

Aanmaken virtuele machine via de Azure CLI

Eerst gaan we een nieuwe resourcegroup aanmaken. In het volgende voorbeeld maken we een resourcegroup aan met de naam RVCLIRG001 in West Europa. Typ in de Azure CLI het volgende commando: az group create –name RVCLIRG001 WestEurope.

met het commando az vm create. Het volledige commando dat we gebruiken voor het uitrollen van deze virtuele machine:

az vm create

--resource-group RVCLIRG001 \

--name RVVMCLI001 \

--image win2016datacenter \

--admin-username RVTEST \

--admin-password SamplePass001!

Via het publicIpAddress is de virtuele machine remote benaderbaar. Standaard is een virtuele machine alleen benaderbaar via RDP. Als we nu naar de Azure-portal gaan, kunnen we zien dat de virtuele machine up and running is.

Nu de machine actief is, zetten we poort 3389 open in de firewall om RDP-verkeer mogelijk te maken naar de VM. Dit doen we met het commando:

az vm open-port \

--port 3389 \

--resource-group RVCLIRG001 \

--name RVVMCLI001

Vervolgens installeren we via een custom script-extension de Windows Feature IIS.  

Dit doen we met het volgende commando:

az vm extension set \

--publisher Microsoft.Compute \

--version 1.8 \

--name CustomScriptExtension \

--vm-name RVVMCLI001

--resource-group RVCLIRG001 \

--settings '{"commandToExecute":"powershell.exe Install-WindowsFeature -Name Web-Server"}'

Als laatste stap in deze blog gaan we de resourcegroup verwijderen, waardoor automatisch alle gerelateerde onderdelen verwijderd worden die zich in deze resourcegroup bevinden. Dit doen we met het commando:

az group delete --name RVCLIRG001 --yes

Conclusie

Tijdens het schrijven van deze blog heb ik mij flink verdiept in de Azure CLI. Wat me gelijk opviel, is hoe makkelijk je de materie eigen kunt maken. Hierbij word je geholpen door de  documentatie en vele scripts die beschikbaar zijn. Ook vond ik het interessant om te zien hoe eenvoudig de Azure CLI gebruikt kan worden in combinatie met bijvoorbeeld Jenkins om een Azure App Service te deployen.

Over René

René Vlieger is Craft Expert van Team Azure Development binnen Craft, hét groeiprogramma voor IT'ers (powered by Centric). Wil je zijn blog volgen? Schrijf je in voor de Craft-update.

Wil je meer weten over Craft? Lees meer over hét groeiprogramma voor IT'ers.

     
Schrijf een reactie
  • Captcha image
  • Verzenden