Verfügbare Azure-VMs in einer Region mit PowerShell anzeigen


    Tags: , ,

    Azure-VMMicrosoft bietet eine Vielzahl verschiedener Typen und Größen für virtuelle Maschinen auf Azure an. Nicht alle davon sind in jeder Region verfügbar. Man kann sich einen allgemeinen Überblick in der Dokumentation oder im Azure-Portal verschaffen. Wegen der flexiblen Filteroptionen ist aber PowerShell eine gute Alternative.

    Die Instanzen für Azure-VMs unterscheiden sich in der Zahl der CPU-Kerne, der Größe des Arbeits­speichers, der Kapazität der Betriebs­system­laufwerks sowie in der maximalen Zahl an Disks, die man an sie anhängen kann.

    Kosten optimieren über minimale VM-Größe

    Diese Faktoren bestimmen nicht nur die Leistung der virtuellen Maschine, sondern natürlich auch deren Preis. Neben den verschiedenen Plänen, mit denen sich die Kosten senken lassen, ist die Dimensionierung der VM maßgeblich für die zu erwartenden Ausgaben.

    Der Einsatz von PowerShell für die Auswahl der passenden VM-Größe ist generell eine gute Option, aber besonders dann, wenn man die VM mit PowerShell anlegen möchte.

    Mit Azure verbinden, Standorte ermitteln

    Voraussetzung für die Nutzung von PowerShell ist die Installation des Az-Moduls und der anschließende Aufbau einer Verbindung (siehe dazu: PowerShell-Module für Azure installieren, Verbindung herstellen).

    Anschließend ruft man eine Liste der Standorte ab, aus der man die gewünschte auf verfügbare Instanz­größen abfragen kann. Dies erledigt der folgende Befehl:

    Get-AzLocation | where DisplayName -like "*europe*" |
    select DisplayName, Location

    Dieses Beispiel filtert die Liste nach dem Begriff "europe".

    Verfügbare Instanztypen anzeigen und filtern

    Im nächsten Schritt fragt man die verfügbaren VM-Größen für den bevorzugten Ort ab:

    Get-AzVMSize -Location "westeurope"

    Die Ausgabe des Befehls ist eine sehr lange Liste und somit nicht besonders hilfreich. Der Einsatz von PowerShell empfiehlt sich vor allem wegen der Möglichkeiten, das Ergebnis zu filtern.

    Zur Auswahl stehen folgende technische Kriterien:

    • MaxDataDiskCount: maximal zulässige Zahl an Laufwerken
    • MemoryInMB. RAM in MB
    • NumberOfCores: Zahl der CPU-Kerne
    • OSDiskSizeInMB: Größe des Laufwerks für das Betriebs­system
    • ResourceDiskSizeInMB: Größe der Disk für temporäre Daten

    Liste der Azure-Standorte eingrenzen und verfügbare VM-Größen anhand von CPU-Cores und RAM filtern.

    Eine Abfrage könnte dann so aussehen:

    Get-AzVMSize -Location "westeurope" |
    where {$_.NumberOfCores -gt 4 -and $_.NumberOfCores -lt 16  -and $_.MemoryInMB -le 16384}

    Dieser Befehl gibt alle Instanztypen aus, die mehr als 4 und weniger als 16 CPU-Kerne sowie mindestens 16 GB RAM enthalten.

    Grundsätzlich kann man die Liste auch anhand der Instanznamen eingrenzen, wenn man weiß, was sich dahinter verbirgt:

    Get-AzVMSize -Location "westeurope" | where name -like "Standard_A*"

    Liste der VM-Größen über den Namen filtern

    Insgesamt sollte man auf diesem Weg schnell die passende VM-Größe finden lassen.

    Täglich Know-how für IT-Pros mit unserem Newsletter

    Wir ver­wenden Ihre Mail-Adresse nur für den Ver­sand der News­letter.
    Es erfolgt keine per­sonen­be­zogene Auswertung.

    Bild von Wolfgang Sommergut
    Wolfgang Sommergut hat lang­jährige Erfahrung als Fach­autor, Berater und Kon­ferenz­sprecher zu ver­schie­denen Themen der IT. Da­ne­ben war er als System­ad­mi­ni­stra­tor und Con­sultant tätig.
    // Kontakt: E-Mail, XING, LinkedIn //

    Verwandte Beiträge

    Weitere Links