Kostenkontrolle bei Microsoft Azure Virtual Machines
Das Preismodell für Virtual Machines enthält leider ein paar Fallstricke, die sich unangenehm auf die monatliche Abrechnung der Nutzung von Microsoft Azure auswirken können. Dabei kommt es immer wieder zur Frage, wie sich die Kosten niedrig halten lassen bzw. bei Nicht-Verwendung von Virtual Machines so weit wie möglich vermeiden lassen. In der Tat lassen sich bei der Auswahl bzw. beim Betrieb von Virtual Machines einige Entscheidungen treffen, die sich positiv auf die anfallenden Kosten auswirken. Folgende Faktoren sind wichtig:
- Berücksichtigung aller Kostenpositionen für Virtual Machines
- Wahl der richtigen Leistungsstufe (Basic vs. Standard Tier)
- Beachtung der anfallenden Kosten in den verschiedenen Zuständen einer Virtual Machine
Kosten für Virtual Machines
Während des Betriebs von Virtual Machines fallen dreierlei Arten von Kosten an:
Kosten für Rechenkerne
Für Rechenkerne, die in betriebenen VM-Instanzen arbeiten, fallen zeitabhängig Kosten an. Auf der offiziellen Preisliste sind deshalb je nach VM-Größe (die ja die Zahl der Rechenkerne bestimmt) entsprechende Preise gelistet. Die Preisliste enthält die Preise pro Stunde. Tatsächlich erfolgt die Abrechnung aber minutengenau, d.h. für VMs, die nur eine halbe Stunde betrieben wurden, fallen entsprechend nur 50% der Stundenkosten an.
Wichtig: diese Rechenkern-Kosten fallen so lange an, wie die VM im Status “Starting”, “Running” oder “Stopped” ist, da während dieser Zeit die Rechenkerne auch tatsächlich bereitgehalten werden.Kosten für Speicherplatz
Die Preise der Virtual-Machine-Preisliste beziehen sich nur auf die Kosten für die Bereitstellung von Rechenkernen. Darin sind jedoch NICHT die Kosten für den Speicherplatz enthalten, der von den VM-Disks (Ausnahme: Laufwerk D:\)belegt wird. Jede VM enthält mindestens zwei Laufwerke: Laufwerk C: und Laufwerk D:. Laufwerk C: ist die OS-Disk. Diese wird im Blob-Storage persistiert. Entsprechend wird im Blob-Storage Speicher allokiert, für den dann wiederum entsprechende Kosten anfallen. Laufwerk D: ist ein nicht-persistiertes Laufwerk in der VM (geeignet für das Pagefile, Temp-Verzeichnisse etc.). Für dieses Laufwerk fallen keine Kosten an. Werden weitere Disks an eine VM gehängt fallen auch für diese – wie für Laufwerk C: – Kosten für den belegten Blob-Storage an. Kosten können über die Page-Blob-Storage-Preisliste eingesehen werden.Kosten für Lizenzen
In der Regel fallen zusätzlich zu den Rechenkern- und den Speicherplatzkosten noch weitere Kosten für die Lizenzen der Software an, die in der VM betrieben werden. Diese sind in der Regel in den Kosten der betreffenden Virtual Machine Images (siehe Abbildung) enthalten.
Hinzu kommen etwaige Datenübertragungskosten. Dabei fallen nur für Datenverkehr Kosten an, bei dem Daten aus einem Azure-Rechenzentrum hinaus übertragen werden. Die Kosten können über die Datentransfer-Preisliste eingesehen werden.
Leistungsstufen bei Virtual Machines
Bei Virtual Machines kann zwischen zwei Leistungsstufen unterschieden werden. Dabei beeinflusst die konkrete Auswahl auch die Kosten, die für den Betrieb anfallen.
- Basic Compute Tier
Die Basisvariante ist sehr ähnlich zu Standardvariante. Gegenüber Letzterer fehlen der Loadbalancer und die Möglichkeit der Autoskalierung. Das Fehlen dieser beiden Funktionalitäten ist jedoch für einige Workloads nicht weiter tragisch: für Entwicklungs- und Test-Szenarien oder einfachere Batch-Verarbeitung ist die Basisvariante völlig ausreichend. 27% Kostenersparnis sind deshalb durchaus ein guter Grund für entsprechende Workloads diese Variante für Virtual Machines zu verwenden. - Standard Compute Tier
Die Standardvariante ist die Ausprägung, die für Virtual Machines schon immer bereit stand. Die im Vergleich zur Basisvariante höheren Kosten sind begründet in der Verfügbarkeit der Funktionalitäten, die eben in der Basisvariante fehlen: Loadbalancer, Autoskalierung etc.
Überblick über Kosten in den verschiedenen Zuständen
Eine Virtual Machine kann im Rahmen ihres Lebenszyklus verschiedene Zustände annehmen. Dabei unterscheiden sich die anfallenden Kosten von Zustandzustand. Dabei ist sowohl beim Herunterfahren als auch beim Löschen einer Virtual Machine die genaue Vorgehensweise zu beachten, um unnötige Kosten zu vermeiden. Folgende Tabelle gibt einen Überblick welche Kostenpositionen in den einzelnen Zuständen jeweils zum Tragen kommen:
Zustand | Kosten für Rechenkerne | Kosten für Speicherplatz | Kosten für Lizenzen |
---|---|---|---|
Starting | Ja | Ja | Ja |
Running | Ja | Ja | Ja |
Stopped (Allocated) | Ja | Ja | Nein |
Stopped (Deallocated) | Nein | Ja | Nein |
Deleted (ohne Löschen der Disks) | Nein | Ja | Nein |
Deleted (mit Löschen der Disks) | Nein | Nein | Nein |
Für das Herunterfahren einer Virtual Machine gilt: wird die Virtual Machine über das Management-Portal oder über den PowerShell-Befehl ShutdownRoleOperation mit der Option PostShutdownAction=StoppedDeallocated heruntergefahren, landet die Virtual Machine Zustand “Stopped (Deallocated)”, was dazu führt, das noch Kosten für den Speicherplatz der ei Welnen Disks anfallen. wird die Virtual Machine jedoch über die Shutdown-Funktion in Windows (z.B. via Remote Desktop) oder den PowerShell-Befehl ShutdownRoleOperation mit der Option PostShutdownAction=Stopped heruntergefahren, werden die betreffenden Rechenkerne der Virtual Machine weiterhin bereitgehalten, und es fallen neben den Speicherkosten auch weiterhin Kosten für die Rechenkerne an.
Für das Löschen einer Virtual Machine gilt: über das gleichzeitige Löschen der zugehörigen Disks führt dazu, das tatsächlich keine weiteren Kosten mehr anfallen. Verbleiben die Disks im Storage (d.h. sie werden beim Löschen der VM nicht mit gelöscht), fallen auch weiterhin Speicherkosten an.
Weitere Informationen
- Preisübersicht für Virtual Machines
https://azure.microsoft.com/de-de/pricing/details/virtual-machines/ - Preisübersicht für Page Blob Storage
https://azure.microsoft.com/en-us/pricing/details/storage/ - Preisübersicht für Datentransfer
https://azure.microsoft.com/en-us/pricing/details/data-transfers/