Plan zur Verwaltung der Kosten für Azure Batch

Dieser Artikel beschreibt, wie Sie die Kosten für Azure Batch planen und verwalten. Bevor Sie den Dienst bereitstellen, können Sie mit dem Azure-Preisrechner die Kosten für Azure Batch schätzen. Überprüfen Sie dann bei der Bereitstellung von Azure-Ressourcen die voraussichtlichen Kosten.

Nachdem Sie mit der Ausführung von Batch-Workloads begonnen haben, können Sie mit den Funktionen des Kostenmanagements Budgets festlegen und die Kosten überwachen. Sie können auch vorhergesagte Kosten überprüfen und Ausgabentrends ermitteln, um die Bereiche zu identifizieren, in denen ggf. Maßnahmen erforderlich sind. Die Kosten für Azure Batch sind nur ein Teil der monatlichen Kosten in Ihrer Azure-Rechnung. Obwohl in diesem Artikel erklärt wird, wie Sie die Kosten für Azure Batch planen und verwalten, werden Ihnen alle Azure-Dienste und -Ressourcen, die Sie in Ihrem Azure-Abonnement nutzen, in Rechnung gestellt, einschließlich der Dienste von Drittanbietern.

Voraussetzungen

Die Kostenanalyse in Cost Management unterstützt die meisten Azure-Kontotypen, jedoch nicht alle. Die vollständige Liste der unterstützten Kontotypen finden Sie unter Grundlegendes zu Cost Management-Daten. Um Kostendaten anzeigen zu können, müssen Sie mindestens über Lesezugriff auf ein Azure-Konto verfügen. Informationen zum Zuweisen des Zugriffs auf Microsoft Cost Management-Daten finden Sie unter Zuweisen des Zugriffs auf Daten.

Schätzen der Kosten vor Nutzung von Azure Batch

Verwenden Sie den Azure-Preisrechner, um die Kosten vor dem Hinzufügen von VMs zu schätzen.

  1. Wechseln Sie auf der Registerkarte Produkte zum Abschnitt Compute oder suchen Sie in der Suchleiste nach Batch. wählen Sie auf der Kachel Batch die Option Hinzufügen, um zu schätzen und scrollen Sie nach unten zum Abschnitt Ihre Schätzung.

  2. Beachten Sie, dass Azure Batch ein kostenloser Dienst ist und dass die Kosten für Azure Batch für die zugrunde liegenden Ressourcen gelten, die Ihre Workloads ausführen. Beim Hinzufügen von Azure Batch zu Ihrer Schätzung erstellt der Preisrechner automatisch eine Auswahl für Cloud Services und Virtuelle Computer. Weitere Informationen zu Azure Cloud Services und Virtuellen Azure-Computern (VMs) finden Sie in der Dokumentation der einzelnen Produkte. Was Sie für geschätzte Kosten von Azure Batch wissen müssen, ist, dass virtuelle Computer die wichtigste Ressource sind.

    Wählen Sie Optionen in den Dropdownmenüs aus. Es stehen verschiedene Optionen zur Auswahl. Die Optionen mit den größten Auswirkungen auf Ihre Schätzungssumme sind das Betriebssystem Ihrer VM, ggf. die Betriebssystemlizenz, die VM-Größe, die Sie unter INSTANCE auswählen, die Anzahl der von Ihnen ausgewählten Instanzen und die Zeit, die Ihre Instanzen im Monat ausgeführt werden sollen.

    Beachten Sie, dass sich die geschätzte Summe bei der Auswahl verschiedener Optionen ändert. Die Schätzung wird in der oberen Ecke und unten im Abschnitt Ihre Schätzung angezeigt.

    Screenshot: Ihr Abschnitt „Schätzung“ und die für Azure Batch verfügbaren Hauptoptionen

    Erfahren Sie mehr über die Kosten für die Ausführung virtueller Computer aus dem Plan zum Verwalten von Kosten für die Dokumentation virtueller Computer.

Verstehen Sie das vollständige Abrechnungsmodell für Azure Batch

Azure Batch läuft auf der Azure-Infrastruktur, die Kosten verursacht, wenn Sie neue Ressourcen einsetzen. Es ist wichtig zu verstehen, dass möglicherweise andere zusätzliche Infrastrukturkosten anfallen.

Rechnungsstellung für Azure Batch

Azure Batch ist ein kostenloser Dienst. Es gibt keine Kosten für Batch selbst. Es können jedoch Gebühren für die zugrunde liegenden Compute-Ressourcen und Softwarelizenzen anfallen, die zum Ausführen von Batch-Workloads verwendet werden. Kosten können durch virtuelle Computer in einem Pool, durch Datenübertragung von der VM oder durch jegliche in der Cloud gespeicherten Eingabe- oder Ausgabedaten entstehen.

Kosten, die mit Azure Batch anfallen können

Obwohl Batch selbst ein kostenloser Dienst ist, sind viele der zugrunde liegenden Ressourcen, die Ihre Workloads ausführen, nicht kostenlos. Dazu gehören:

  • Virtuelle Computer
  • Speicher
    • Wenn Anwendungen mithilfe von Anwendungspaketen auf virtuellen Computern im Batch-Knoten bereitgestellt werden, werden Ihnen die Azure-Speicherressourcen, die Ihre Anwendungspakete verbrauchen, in Rechnung gestellt. Darüber hinaus wird Ihnen die Speicherung von Eingabe- oder Ausgabedateien berechnet, z. B. Ressourcendateien und andere Protokolldaten.
    • Im Allgemeinen liegen die Kosten für Speicherdaten in Verbindung mit Batch deutlich unter den Kosten für Computeressourcen.
  • In einigen Fällen ein Lastenausgleich
  • Netzwerkressourcen
    • Für Pools zur Konfiguration virtueller Maschinen wird standardmäßiger Lastenausgleich verwendet, der statische IP-Adressen erfordert. Die von Batch verwendeten Lastenausgleichsmodule sind für im Modus „Benutzerabonnement“ konfigurierte Konten sichtbar, jedoch nicht für Konten im Modus „Batch-Dienst“.
    • Für Standard-Lastenausgleichsmodule fallen Gebühren für alle Daten an, die für Batch-Pool-VMs übergeben werden. Ausgewählte Batch-APIs, die Daten von Pool-Knoten (wie Get Task/Node File), Task-Anwendungspaketen, Ressourcen-/Ausgabedateien und Containerimages abrufen, sind ebenfalls gebührenpflichtig.
    • Virtual Network
  • Je nachdem, welche Dienste Sie verwenden, kann Ihre Batch-Lösung zusätzliche Gebühren verursachen. Zu den häufig mit Batch verwendeten Diensten, die mit Kosten verbunden sein können, gehören:
    • Application Insights
    • Data Factory
    • Azure Monitor

Nach dem Löschen von Ressourcen möglicherweise anfallende Kosten

Nachdem Sie Azure Batch-Ressourcen gelöscht haben, können die folgenden Ressourcen weiterhin vorhanden sein. Hierfür fallen weiter Kosten an, bis Sie sie löschen.

  • Virtueller Computer
  • Alle bereitgestellten Datenträger, mit Ausnahme von Betriebssystem- und lokalen Datenträgern
  • Virtuelles Netzwerk
    • Ihre virtuelle NIC und ggf. die öffentliche IP-Adresse können so festgelegt werden, dass sie zusammen mit Ihrer VM gelöscht werden.
  • Bandbreite
  • Load Balancer

Für virtuelle Netzwerke wird pro Abonnement und Region ein virtuelles Netzwerk berechnet. Virtuelle Netzwerke können sich nicht über Regionen oder Abonnements erstrecken. Beim Einrichten privater Endpunkte in Setups von virtuellen Netzwerken können auch Kosten anfallen.

Die Bandbreite wird nach Nutzung berechnet. Je mehr Daten übertragen werden, desto höher die Kosten.

Nutzen der Azure-Vorauszahlung mit Azure Batch

Während Azure Batch ein kostenloser Dienst ist, können Sie für zugrunde liegende Ressourcengebühren mit Ihrem Azure-Vorzahlungsguthaben bezahlen. Allerdings können Sie mit der Azure-Vorauszahlungsgutschrift keine Gebühren für Produkte und Dienste von Drittanbietern, einschließlich derjenigen aus dem Azure Marketplace, bezahlen.

Anzeigen der Kostenanalyse und Erstellen von Budgets

Wenn Sie Azure-Ressourcen mit Azure Batch verwenden, fallen Kosten an. Die Kosten pro Azure-Ressourcennutzungseinheit variieren nach dem Zeitintervall (Sekunden, Minuten, Stunden und Tage) oder der Einheitennutzung (Bytes, Megabytes usw.) Sobald die Nutzung der Azure-Ressourcen beginnt, fallen Kosten an, die Sie in der Kostenanalyse sehen können. Microsoft Cost Management ermöglicht Ihnen das Planen, Analysieren und Verringern Ihrer Ausgaben, sodass Sie von Ihren Cloudinvestitionen maximal profitieren. Sie können Batch-Kosten anzeigen und filtern, zukünftige Kosten prognostizieren und Ausgabenlimits sowie Warnungen für den Fall festlegen, dass die jeweiligen Grenzwerte erreicht werden.

Im Azure-Portal können Sie Budgets und Ausgabenwarnungen für Ihre Batch-Pools oder Ihr Batch-Konto erstellen. Budgets und Warnungen sind hilfreich, um Beteiligte über Risiken der Ausgabenüberschreitung zu benachrichtigen. Es ist aber durchaus möglich, eine Verzögerung bei der Ausgabe von Warnungen einzurichten und ein Budget geringfügig zu überschreiten.

Der folgende Screenshot zeigt ein Beispiel für die Ansicht Kostenanalyse für ein Abonnement. Die Ansicht ist so gefiltert, dass nur die akkumulierten Kosten angezeigt werden, die allen Batch-Konten zugeordnet sind. In den unteren Diagrammen wird gezeigt, wie die Gesamtkosten für den ausgewählten Zeitraum nach verbrauchten Diensten, Standorten und Verbrauchseinheiten kategorisiert werden können. Auch wenn dies ein Beispiel ist und nicht die für Ihre Abonnements anfallenden Kosten widerspiegelt, ist es typisch, dass die höchsten Kosten für die VMs entstehen, die für Batch-Poolknoten zugeordnet werden.

Screenshot: Kostenanalyse im Azure-Portal für alle Batch-Konten in einem Abonnement

Eine weitere Ebene der Kostenanalysedetails können Sie durch Angeben eines Ressourcenfilters erhalten. Für Batch-Konten entsprechen diese Werte dem Batch-Kontonamen plus dem Poolnamen. So können Sie die Kosten für einen bestimmten Pool, mehrere Pools oder ein oder mehrere Konten anzeigen.

Anzeigen der Kostenanalyse für einen Batch-Pool

Poolzuordnungsmodus für den Batch-Dienst

Gehen Sie für Batch-Konten, die mit dem Poolzuordnungsmodus für den Batch-Dienst erstellt wurden, folgendermaßen vor:

  1. Navigieren Sie im Azure-Portal zu Cost Management + Billing.
  2. Wählen Sie im Abschnitt Abrechnungsbereiche Ihr Abonnement aus.
  3. Wählen Sie unter Cost Management die Option Kostenanalyse aus.
  4. Wählen Sie + Filter hinzufügen. Wählen Sie in der ersten Dropdownliste Ressource aus.
  5. Wählen Sie in der zweiten Dropdownliste den Batch-Pool aus. Wenn der Pool ausgewählt ist, sehen Sie die Kostenanalyse für Ihren Pool. Im folgenden Screenshot werden Beispieldaten gezeigt. Screenshot: Kostenanalyse eines Batch-Pools im Azure-Portal

In der sich ergebenden Kostenanalyse werden die Kosten des Pools und die Ressourcen angezeigt, die zu diesen Kosten beitragen. In diesem Beispiel sind die im Pool verwendeten VMs die teuerste Ressource.

Hinweis

Der Pool in diesem Beispiel verwendet die VM-Konfiguration, die für die meisten Pools empfohlen wird und deren Gebühren auf der Preisstruktur für Microsoft Azure Virtual Machines basieren. Für Pools, für die die Cloud Services-Konfiguration verwendet wird, erfolgt die Abrechnung auf Grundlage der Preisstruktur, die auf der Seite mit den Cloud Services-Preisen angegeben ist.

Tags können Batch-Konten zugeordnet werden, sodass sie zur weiteren Kostenfilterung verwendet werden können. Beispielsweise lassen sich Projekt-, Benutzer- oder Gruppeninformationen anhand von Tags einem Batch-Konto zuordnen. Tags können Batch-Pools derzeit nicht zugeordnet werden.

Poolzuordnungsmodus für Benutzerabonnements

Gehen Sie für Batch-Konten, die mit dem Poolzuordnungsmodus für Benutzerabonnements erstellt wurden, folgendermaßen vor:

  1. Navigieren Sie im Azure-Portal zu Cost Management + Billing.
  2. Wählen Sie im Abschnitt Abrechnungsbereiche Ihr Abonnement aus.
  3. Wählen Sie unter Cost Management die Option Kostenanalyse aus.
  4. Wählen Sie + Filter hinzufügen. Wählen Sie in der ersten Dropdownliste Tag aus.
  5. Wählen Sie in der zweiten Dropdownliste Poolname aus.
  6. Wählen Sie in der dritten Dropdownliste den Batch-Pool aus. Wenn der Pool ausgewählt ist, sehen Sie die Kostenanalyse für Ihren Pool. Im folgenden Screenshot werden Beispieldaten gezeigt. Screenshot: Kostenanalyse eines Batch-Pools für Benutzerabonnements im Azure-Portal

Hinweis: Wenn Sie Kostendaten für alle Pools im Batch-Konto eines Benutzerabonnements anzeigen möchten, können Sie in der zweiten Dropdownliste batchaccountname und in der dritten Dropdownliste den Namen Ihres Batch-Kontos auswählen.

Hinweis

Pools, die von Benutzerabonnement-Batch-Konten erstellt wurden, erscheinen nicht unter dem Ressourcenfilter, obwohl ihre Nutzung immer noch angezeigt wird, wenn Sie unter Dienstname nach „virtuellen Computern“ filtern.

Erstellen eines Budgets für einen Batch-Pool

Budgets können erstellt und Kostenwarnungen ausgegeben werden, wenn verschiedene Prozentsätze eines Budgets erreicht werden, z. B. 60 %, 80 % und 100 %. Für die Budgets kann mindestens ein Filter angegeben werden, sodass Batch-Kontokosten mit unterschiedlicher Granularität überwacht und Warnungen ausgegeben werden können.

  1. Wählen Sie auf der Seite Kostenanalyse die Option Budget: Keines aus.
  2. Wählen Sie Neues Budget erstellen >.
  3. Konfigurieren Sie in dem daraufhin angezeigten Fenster ein Budget speziell für Ihren Pool. Weitere Informationen finden Sie im Tutorial: Erstellen und Verwalten von Azure-Budgets.

Minimieren der mit Azure Batch verbundenen Kosten

Abhängig von Ihrem Szenario möchten Sie Ihre Kosten eventuell so weit wie möglich reduzieren. Nutzen Sie eine oder mehrere dieser Strategien, um die Effizienz Ihrer Workloads zu maximieren und die möglichen Kosten zu senken.

Reduzieren der Poolknotennutzung

Die höchsten Kosten für die Batch-Nutzung werden in der Regel von den VMs verursacht, die für Poolknoten zugeordnet werden. Bei VM-Konfigurationspools können auch die zugeordneten verwalteten Datenträger, die als VM-Betriebssystemdatenträger verwendet werden, erheblich zu den Kosten beitragen.

Bewerten Sie Ihre Batch-Anwendung, um zu ermitteln, ob Poolknoten von Auftragsaufgaben optimal ausgelastet werden oder ob sich Poolknoten länger als erwartet im Leerlauf befinden. Möglicherweise können Sie die Anzahl zugeordneter Poolknoten verringern, die Hochskalierungsrate für Poolknoten reduzieren oder die Herunterskalierungsrate erhöhen, um die Auslastung zu steigern.

Neben der benutzerdefinierten Überwachung können Batch-Metriken dabei helfen, Knoten zu identifizieren, die zwar zugeordnet sind, sich aber im Leerlauf befinden. Sie können eine Metrik für die meisten Poolknotenzustände auswählen, die Sie anhand von Batch-Überwachungsmetriken im Azure-Portal anzeigen möchten. Beispielsweise können „Anzahl von Knoten im Leerlauf“ und „Anzahl ausgeführter Knoten“ angezeigt werden, um einen Hinweis auf die Nutzung der Poolknoten zu erhalten.

Sicherstellen, dass Poolknoten Aufgaben ausführen können

Die für einen Pool aufgelisteten zugeordneten Knoten verursachen normalerweise Kosten. Es ist jedoch möglich, dass sich Poolknoten in einem Zustand befinden, in dem keine Aufgaben ausgeführt werden können, z. B. „unusable“ oder „starttaskfailed“. Batch-APIs oder -Metriken können verwendet werden, um diese Kategorie von VMs zu überwachen und zu erkennen. Anschließend kann der Grund für diese Zustände ermittelt werden, und Sie können Korrekturmaßnahmen ergreifen, um diese fehlerhaften Knoten zu reduzieren oder zu beseitigen.

Verwenden der richtigen VM-Größe für den Poolknoten

Stellen Sie sicher, dass die richtige VM-Größe verwendet wird, damit die VMs bei der Ausführung von Aufgaben gut ausgelastet sind und gleichzeitig die Leistung bereitstellen, die zum Ausführen Ihrer Auftragsaufgaben in der erforderlichen Zeit erforderlich ist. Poolknoten-VMs sind in einigen Situationen möglicherweise nicht vollständig ausgelastet, z. B. bei geringer CPU-Auslastung. Sie können Kosten sparen, indem Sie eine VM-Größe zu einem niedrigeren Preis auswählen.

Zum Ermitteln der VM-Auslastung können Sie sich bei einem Knoten anmelden, wenn Sie Aufgaben zum Anzeigen von Leistungsdaten ausführen oder Leistungsdaten anhand von Überwachungsfunktionen wie Application Insights von Poolknoten abrufen.

Verwenden von Poolslots zum Reduzieren von Knotenanforderungen

Für einen Pool können mehrere Aufgabenslots angegeben werden, sodass die entsprechende Anzahl von Aufgaben auf den einzelnen Knoten parallel ausgeführt werden kann. Anhand von Poolaufgabenslots lässt sich die Anzahl der in einem Pool verwendeten Knoten reduzieren, indem größere VM-Größen ausgewählt und mehrere Aufgaben parallel auf dem Knoten ausgeführt werden. So wird ein gute Auslastung des Knotens sichergestellt. Wenn Knoten nicht ausgelastet sind, kann die Auslastung anhand von Slots erhöht werden. Für eine Singlethread-Aufgabenanwendung könnte beispielsweise ein Slot pro Kern konfiguriert werden. Es ist auch möglich, mehr Slots als Kerne zu verwenden. Dies ist beispielsweise sinnvoll, wenn die Anwendung durch das Warten auf die Rückgabe von Aufrufen externer Dienste erheblich blockiert wird.

Die Einstellung von taskSchedulingPolicy auf pack trägt dazu bei, dass VMs so weit wie möglich ausgelastet werden. Durch die Skalierung können Sie Knoten, auf denen keine Aufgaben ausgeführt werden, leichter entfernen.

Verwenden Sie virtuelle Azure Spot-Maschinen

Azure Spot VMs reduzieren die Kosten von Batch-Workloads, indem sie überschüssige Rechenkapazität in Azure nutzen. Wenn Sie Spot-VMs in Ihren Pools angeben, verwendet Batch diesen Überschuss, um Ihren Workload auszuführen. Die Verwendung von Spot-VMs anstelle von dedizierten VMs kann erhebliche Kosteneinsparungen mit sich bringen. Denken Sie daran, dass Spot-VMs nicht für alle Workloads geeignet sind, da möglicherweise nicht genügend Kapazität für die Zuweisung zur Verfügung steht oder sie vorgezogen werden können.

Verwendung ephemerer OS-Festplatten

Poolknoten verwenden standardmäßig verwaltete Datenträger, die Kosten verursachen. VM-Konfigurationspools können in einigen VM-Größen kurzlebige Betriebssystemdatenträger verwenden, bei denen der Betriebssystemdatenträger im VM-Cache oder auf einer temporären SSD erstellt wird, um zusätzliche Kosten im Zusammenhang mit verwalteten Datenträgern zu vermeiden.

Kaufen von Reservierungen für VM-Instanzen

Falls Sie Batch längere Zeit nutzen möchten, können Sie bei den Kosten für die VMs sparen, indem Sie für Ihre Workloads Azure-Reservierungen verwenden. Reservierungsraten sind erheblich niedriger als die Raten bei der nutzungsbasierten Bezahlung. Für VM-Instanzen, die ohne Reservierung verwendet werden, wird die Rate für die nutzungsbasierte Bezahlung berechnet. Wenn Sie eine Reservierung erwerben, wird der Reservierungsrabatt angewandt. Wenn Sie einen Einjahres- oder Dreijahresplan für VM-Instanzen abschließen, erhalten Sie erhebliche Rabatte auf die VM-Nutzung, einschließlich VMs, die über Batch-Pools genutzt werden.

Es ist wichtig zu beachten, dass der Reservierungsrabatt "use-it-or-lose-it" ist. Wenn in einer Stunde keine passenden Ressourcen genutzt werden, verlieren Sie die Reservierungsmenge für diese Stunde. Ungenutzte reservierte Stunden können nicht übertragen werden und gehen daher verloren, wenn sie nicht verwendet werden. In Batch-Workloads wird die Anzahl zugeordneter VMs häufig entsprechend der Auslastung skaliert. Daher weisen sie variierende Lasten auf, darunter auch Zeiträume, in denen keine Last vorhanden ist. Bei der Festlegung der Reservierungsmenge ist daher Vorsicht geboten, da die reservierten Stunden verloren gehen, wenn die Batch-VMs unter die Reservierungsmenge skaliert werden.

Verwenden der Autoskalierung

Bei der Autoskalierung wird die Anzahl von VMs in Ihrem Batch-Pool je nach dem Bedarf des aktuellen Auftrags dynamisch skaliert. Wenn Sie den Pool auf der Grundlage der Lebensdauer eines Auftrags skalieren, stellt die automatische Skalierung sicher, dass VMs nur dann hochskaliert und verwendet werden, wenn ein Auftrag ausgeführt werden muss. Wenn der Auftrag abgeschlossen ist oder keine Aufträge vorhanden sind, werden die VMs automatisch herunterskaliert, um Computeressourcen zu sparen. Die Skalierung ermöglicht es Ihnen, die Gesamtkosten Ihrer Batch-Lösung zu reduzieren, indem Sie nur die benötigten Ressourcen verwenden.

Nächste Schritte