Verwalten der Kosten per Automatisierung

Sie können mithilfe der Cost Management-Automatisierung einen benutzerdefinierten Satz von Lösungen erstellen, um Kostendaten abzurufen und zu verwalten. Dieser Artikel behandelt gängige Szenarien für die Cost Management-Automatisierung und die Optionen, die in Ihrer jeweiligen Situation zur Verfügung stehen. Wenn Sie eine Entwicklung mithilfe von APIs anstreben, können die hier bereitgestellten Beispiele gängiger API-Anforderungen Sie dabei unterstützen, Ihren Entwicklungsprozess zu beschleunigen.

Automatisieren des Abrufs von Kostendaten zur Offlineanalyse

Möglicherweise müssen Sie Ihre Azure-Kostendaten herunterladen, um sie mit weiteren Datasets zusammenzuführen. Oder Sie müssen Kostendaten in Ihre eigenen Systeme integrieren. Ja nach Datenmenge stehen verschiedene Optionen zur Verfügung. In jedem Fall müssen Sie über Cost Management-Berechtigungen im geeigneten Umfang verfügen, um APIs und Tools zu nutzen. Weitere Informationen finden Sie unter Zuweisen des Zugriffs auf Daten.

Vorschläge für die Verarbeitung großer Datasets

Wenn Ihre Organisation über eine große Azure-Präsenz in vielen Ressourcen oder Abonnements verfügt, verfügen Sie über eine große Menge an Nutzungsdetailsdatenergebnissen. Excel kann derartig große Dateien häufig nicht laden. In dieser Situation empfehlen wir die folgenden Optionen:

Power BI

Power BI wird dazu genutzt, große Datenmengen zu erfassen und zu verarbeiten. Als Enterprise Agreement-Kunde können Sie die Power BI-Vorlagen-App verwenden, um Kosten für Ihr Abrechnungskonto zu analysieren. Der Bericht enthält Schlüsselansichten, die von Kunden verwendet werden. Weitere Informationen finden Sie unter Analysieren der Azure-Kosten mit der Power BI-Vorlagen-App.

Power BI-Datenconnector

Wenn Sie Ihre Daten täglich analysieren möchten, empfehlen wird die Verwendung des Power BI-Datenconnectors zum Abrufen von Daten für eine detaillierte Analyse. Alle erstellten Berichte werden durch den Connector auf den neuesten Stand gebracht, wenn weitere Kosten anfallen.

Cost Management-Exporte

Vielleicht ist es nicht erforderlich, die Daten täglich zu analysieren. In diesem Fall können Sie das Cost Management-Feature Exporte einsetzen, um Datenexporte in ein Azure Storage-Konto zu planen. Anschließend laden Sie die Daten nach Bedarf in Power BI oder analysieren die Daten in Excel, falls die Datei klein genug ist. Exporte stehen im Azure-Portal zur Verfügung oder können mit der Export-API konfiguriert werden.

Nutzungsdetails-API

Erwägen Sie die Verwendung der Nutzungsdetails-API, wenn Sie über ein kleines Dataset mit Kostendaten verfügen. Im Folgenden werden die empfohlenen bewährten Methoden aufgeführt:

  • Wenn Sie die neuesten Kostendaten erhalten möchten, wird empfohlen, die Abfrage höchstens einmal pro Tag auszuführen. Berichte werden alle vier Stunden aktualisiert. Bei häufigeren Aufrufen erhalten Sie identische Daten.
  • Nachdem Sie Ihre Kostendaten für historische Rechnungen heruntergeladen haben, ändern sich die Gebühren nur, wenn Sie explizit darüber benachrichtigt werden. Es wird empfohlen, die Kostendaten in einem abfragbaren Speicher zwischenzuspeichern, um wiederholte Aufrufe identischer Daten zu verhindern.
  • Unterteilen Sie Ihre Aufrufe in kleine Datumsbereiche, um Dateien zum Herunterladen zu erhalten, die besser zu verwalten sind. Es wird beispielsweise eine Unterteilung nach Tagen oder Wochen empfohlen, wenn Sie über große monatliche Azure-Nutzungsdateien verfügen.
  • Wenn Sie Bereiche mit einer großen Menge von Nutzungsdaten haben (z. B. ein Abrechnungskonto), sollten Sie mehrere Aufrufe für untergeordnete Bereiche ausführen, damit Sie Dateien zum Herunterladen erhalten, die besser zu verwalten sind.
  • Wenn Ihr Dataset monatlich mehr als 2 GB umfasst, sollten Sie Exporte als skalierbare Lösung verwenden.

Automatischer Abruf mit der Nutzungsdetails-API

Die Nutzungsdetails-API bietet eine einfache Möglichkeit, unformatierte, nicht aggregierte Kostendaten abzurufen, die Ihrer Azure-Rechnung entsprechen. Die API ist nützlich, wenn Ihre Organisation eine Lösung für den programmgesteuerten Datenabruf benötigt. Erwägen Sie den Einsatz der API, wenn Sie kleinere Datasets mit Kostendaten analysieren möchten. Wenn Sie hingegen über große Datasets verfügen, sollten Sie sich für eine der anderen Lösungen entscheiden, die zuvor genannt wurden. Die Daten in der Nutzungsdetails-API werden basierend auf Verbrauchseinheiten pro Tag bereitgestellt. Sie werden bei der Berechnung Ihrer monatlichen Rechnung verwendet. Die allgemein verfügbare Version dieser API ist 2019-10-01. Verwenden Sie 2019-04-01-preview, um per API auf die Vorschauversion für Reservierungen und Azure Marketplace-Käufe zuzugreifen.

Wenn Sie in regelmäßigen Abständen große Mengen von exportierten Daten abrufen möchten, finden Sie weitere Informationen unter Regelmäßiges Abrufen großer Datasets mit Kostendaten mithilfe von Exporten.

Vorschläge zur Nutzungsdetails-API

Anforderungszeitplan

Es wird empfohlen, dass Sie pro Tag nicht mehr als eine Anforderung an die Nutzungsdetails-API übermitteln. Weitere Informationen dazu, wie häufig Kostendaten aktualisiert und wie Beträge gerundet werden, finden Sie unter Grundlegendes zu Cost Management-Daten.

Verwendung von Bereichen oberster Ebene ohne Filterung

Verwenden Sie die API zum Abrufen aller benötigten Daten auf der höchstmöglichen Ebene. Führen Sie erst dann eine Filterung, Gruppierung oder aggregierte Analyse durch, wenn alle erforderlichen Daten erfasst wurden. Die API ist dafür optimiert, große Mengen an nicht aggregierten, unformatierten Kostendaten bereitzustellen. Weitere Informationen zu den verfügbaren Bereichen in Cost Management finden Sie unter Verstehen von und Arbeiten mit Bereichen. Nachdem Sie die erforderlichen Daten für einen Bereich heruntergeladen haben, verwenden Sie Excel, um die Daten mithilfe von Filtern und Pivottabellen zu analysieren.

Hinweise zu Preisen

Wenn Sie die Nutzung und Die Gebühren mit Ihrem Preisblatt oder Ihrer Rechnung abgleichen möchten, lesen Sie das Preisverhalten in den Kostendetails.

Eine einzelne Ressource kann über mehrere Datensätze für einen einzelnen Tag verfügen.

Azure-Ressourcenanbieter geben Nutzung und Gebühren an das Abrechnungssystem aus und füllen das Feld Additional Info der Nutzungsdatensätze auf. Gelegentlich geben Ressourcenanbieter die Nutzung für einen bestimmten Tag aus und stempeln die Datensätze mit unterschiedlichen Rechenzentren im Feld Additional Info der Nutzungsdatensätze. Dies kann dazu führen, dass in Ihrer Nutzungsdatei mehrere Datensätze für eine Verbrauchseinheit/Ressource für einen einzelnen Tag vorhanden sind. In diesem Fall wird Ihnen kein zu hoher Betrag in Rechnung gestellt. Die verschiedenen Datensätze stellen die vollständigen Kosten der Verbrauchseinheit für die Ressource an diesem Tag dar.

Nutzungsdetails-API – Beispielanforderungen

Die folgenden Beispielanforderungen werden von Microsoft-Kunden verwendet, um gängige Szenarien abzudecken.

Abrufen von Nutzungsdetails für einen Bereich in einem bestimmten Datumsbereich

Die über die Anforderung zurückgegebenen Daten entsprechen dem Datum, an dem die Nutzung vom Abrechnungssystem erfasst wurde. Die Daten können Kosten mehrerer Rechnungen umfassen. Der zu verwendende Aufruf ist je nach Abonnementtyp verschieden.

Verwenden Sie für ältere Kunden mit einem Enterprise Agreement (EA) oder einem Abonnement mit nutzungsbasierter Bezahlung den folgenden Aufruf:

GET https://management.azure.com/{scope}/providers/Microsoft.Consumption/usageDetails?$filter=properties%2FusageStart%20ge%20'2020-02-01'%20and%20properties%2FusageEnd%20le%20'2020-02-29'&$top=1000&api-version=2019-10-01

Verwenden Sie für zeitgemäße Kunden mit einer Microsoft-Kundenvereinbarung den folgenden Aufruf:

GET https://management.azure.com/{scope}/providers/Microsoft.Consumption/usageDetails?startDate=2020-08-01&endDate=2020-08-05&$top=1000&api-version=2019-10-01

Hinweis

Der $filter-Parameter wird von Microsoft-Kundenvereinbarungen nicht unterstützt.

Abrufen amortisierter Kostendaten

Falls Sie für die Ist-Kosten Einkäufe anzeigen möchten, sobald diese anfallen, können Sie den Wert für metric in der folgenden Anforderung in ActualCost ändern. Für amortisierte Kosten und Ist-Kosten müssen Sie die Version 2019-04-01-preview verwenden. Die aktuelle API-Version funktioniert – abgesehen vom neuen type/metric-Attribut und geänderten Eigenschaftennamen – genauso wie Version 2019-10-01. Wenn Sie über eine Microsoft-Kundenvereinbarung verfügen, lauten Ihre Filter im folgenden Beispiel startDate und endDate.

GET https://management.azure.com/{scope}/providers/Microsoft.Consumption/usageDetails?metric=AmortizedCost&$filter=properties/usageStart+ge+'2019-04-01'+AND+properties/usageEnd+le+'2019-04-30'&api-version=2019-04-01-preview

Automatisieren von Warnungen und Aktionen mit Budgets

Die Maximierung des Nutzens Ihrer Cloudinvestition umfasst zwei wichtige Komponenten: Die eine ist die automatische Budgeterstellung. Die andere ist die Konfiguration einer kostenbasierten Orchestrierung, um auf Budgetwarnungen zu reagieren. Die Budgeterstellung kann auf verschiedene Arten automatisiert werden. Die Überschreitung Ihrer konfigurierten Warnungsschwellenwerte hat verschiedene Reaktionen zur Folge.

In den folgenden Abschnitten werden die verfügbaren Optionen behandelt und exemplarische API-Anforderungen bereitgestellt, um Ihnen den Einstieg in die Budgetautomatisierung zu erleichtern.

Bewerten von Kosten auf der Grundlage Ihres Budgetschwellenwerts

Ihre Kosten werden einmal pro Tag auf der Grundlage Ihres Budgetschwellenwerts bewertet. Bei der Erstellung eines neuen Budgets oder am Tag für die Budgetzurücksetzung sind die Kosten, die mit dem Schwellenwert verglichen werden, Null bzw. NULL, da die Bewertung möglicherweise nicht stattgefunden hat.

Wenn Azure erkennt, dass der Schwellenwert für Ihre Kosten überschritten wurde, wird spätestens eine Stunde nach der Erkennung eine Benachrichtigung ausgelöst.

Anzeigen Ihrer aktuellen Kosten

Wenn Sie Ihre aktuellen Kosten anzeigen möchten, müssen Sie mithilfe der Abfrage-API einen GET-Aufruf ausführen.

Bei einem GET-Aufruf für die API für Budgets werden nicht die aktuellen, in der Kostenanalyse angezeigten Kosten zurückgegeben. Stattdessen werden Ihre zuletzt ausgewerteten Kosten zurückgegeben.

Automatisieren der Budgeterstellung

Die Budgeterstellung kann mithilfe der API für Budgets automatisiert werden. Alternativ können Sie für die Budgeterstellung auch eine Budgetvorlage verwenden. Vorlagen sind eine einfache Methode, um Azure-Bereitstellungen zu standardisieren und gleichzeitig sicherzustellen, dass die Kostenkontrolle ordnungsgemäß konfiguriert ist und erzwungen wird.

Unterstützte Gebietsschemas für Budgetwarnungs-E-Mails

Mit Budgets werden Sie benachrichtigt, wenn die Kosten einen festgelegten Schwellenwert überschreiten. Sie können bis zu fünf E-Mail-Empfänger pro Budget festlegen. Empfänger erhalten die E-Mail-Warnungen innerhalb von 24 Stunden nach der Überschreitung des Budgetschwellenwerts. Der Empfänger soll jedoch möglicherweise eine E-Mail in einer anderen Sprache erhalten. Sie können die folgenden Sprachkulturcodes mit der Budgets-API verwenden. Legen Sie den Kulturcode mit dem Parameter locale ähnlich wie im folgenden Beispiel fest.

{
  "eTag": "\"1d681a8fc67f77a\"",
  "properties": {
    "timePeriod": {
      "startDate": "2020-07-24T00:00:00Z",
      "endDate": "2022-07-23T00:00:00Z"
    },
    "timeGrain": "BillingMonth",
    "amount": 1,
    "currentSpend": {
      "amount": 0,
      "unit": "USD"
    },
    "category": "Cost",
    "notifications": {
      "actual_GreaterThan_10_Percent": {
        "enabled": true,
        "operator": "GreaterThan",
        "threshold": 20,
        "locale": "en-us",
        "contactEmails": [
          "user@contoso.com"
        ],
        "contactRoles": [],
        "contactGroups": [],
        "thresholdType": "Actual"
      }
    }
  }
}

Von einem Kulturcode unterstützte Sprachen:

Kulturcode Sprache
de-de Englisch (USA)
ja-jp Japanisch (Japan)
zh-cn Chinesisch (vereinfacht, China)
de-DE Deutsch (Deutschland)
es-ES Spanisch (Spanien, international)
fr-FR Französisch (Frankreich)
it-it Italienisch (Italien)
ko-KR Koreanisch (Korea)
pt-br Portugiesisch (Brasilien)
ru-RU Russisch (Russische Föderation)
zh-tw Chinesisch (traditionell, Taiwan)
cs-CZ Tschechisch (Tschechische Republik)
pl-PL Polnisch (Polen)
tr-TR Türkisch (Türkiye)
da-DK Dänisch (Dänemark)
en-gb Walisisch (Großbritannien)
hu-hu Ungarisch (Ungarn)
nb-NO Norwegisch Bokmål (Norwegen)
nl-NL Niederländisch (Niederlande)
pt-pt Portugiesisch (Portugal)
sv-SE Schwedisch (Schweden)

Gängige Konfigurationen für die API für Budgets

Ein Budget in Ihrer Azure-Umgebung kann auf verschiedenste Arten konfiguriert werden. Machen Sie sich zunächst Gedanken zu Ihrem Szenario, und ermitteln Sie anschließend die dafür erforderlichen Konfigurationsoptionen. Folgende Optionen stehen zur Verfügung:

  • Aggregationsintervall: Gibt den wiederkehrenden Zeitraum für die Kostenerfassung und -auswertung Ihres Budgets an. Die gängigsten Optionen sind „Monatlich“, „Vierteljährlich“ und „Jährlich“.
  • Zeitraum: Gibt die Gültigkeitsdauer Ihres Budgets an. Die Budgetüberwachung ist nur während des Gültigkeitszeitraums aktiv, und Warnungen werden nur innerhalb dieses Zeitraums ausgegeben.
  • Benachrichtigungen
    • Kontakt-E-Mail-Adressen: An diese E-Mail-Adressen werden Warnungen gesendet, wenn für ein Budget Kosten anfallen und die definierten Schwellenwerte überschritten werden.
    • Kontaktrollen: Bei dieser Option werden E-Mail-Warnungen an alle Benutzer mit einer entsprechenden Azure-Rolle im angegebenen Bereich gesendet. So können beispielsweise Abonnementbesitzer eine Warnung für ein Budget erhalten, das im Abonnementbereich erstellt wurde.
    • Kontaktgruppen: Bei Überschreitung eines Warnungsschwellenwerts werden vom Budget die konfigurierten Aktionsgruppen aufgerufen.
  • Kostendimensionsfilter: Die Filtermöglichkeiten, die in der Kostenanalyse oder über die Abfrage-API zur Verfügung stehen, sind auch für Ihr Budget verfügbar. Verwenden Sie diesen Filter, um den Kostenbereich einzuschränken, der durch das Budget überwacht wird.

Nachdem Sie die passenden Budgeterstellungsoptionen für Ihre Anforderungen ermittelt haben, können Sie das Budget mithilfe der API erstellen. Das folgende Beispiel hilft Ihnen bei den ersten Schritten mit einer allgemeinen Budgetkonfiguration.

Erstellen eines nach mehreren Ressourcen und Tags gefilterten Budgets

Anforderungs-URL: PUT https://management.azure.com/subscriptions/{SubscriptionId} /providers/Microsoft.Consumption/budgets/{BudgetName}/?api-version=2019-10-01

{
  "eTag": "\"1d34d016a593709\"",
  "properties": {
    "category": "Cost",
    "amount": 100.65,
    "timeGrain": "Monthly",
    "timePeriod": {
      "startDate": "2017-10-01T00:00:00Z",
      "endDate": "2018-10-31T00:00:00Z"
    },
    "filter": {
      "and": [
        {
          "dimensions": {
            "name": "ResourceId",
            "operator": "In",
            "values": [
              "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{meterName}",
              "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{meterName}"
            ]
          }
        },
        {
          "tags": {
            "name": "category",
            "operator": "In",
            "values": [
              "Dev",
              "Prod"
            ]
          }
        },
        {
          "tags": {
            "name": "department",
            "operator": "In",
            "values": [
              "engineering",
              "sales"
            ]
          }
        }
      ]
    },
    "notifications": {
      "Actual_GreaterThan_80_Percent": {
        "enabled": true,
        "operator": "GreaterThan",
        "threshold": 80,
        "contactEmails": [
          "user1@contoso.com",
          "user2@contoso.com"
        ],
        "contactRoles": [
          "Contributor",
          "Reader"
        ],
        "contactGroups": [
          "/subscriptions/{subscriptionID}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/actionGroups/{actionGroupName}
        ],
        "thresholdType": "Actual"
      }
    }
  }
}

Konfigurieren einer kostenbasierten Orchestrierung für Budgetwarnungen

Mithilfe von Azure-Aktionsgruppen können Sie Budgets so konfigurieren, dass durch sie automatisierte Aktionen gestartet werden. Weitere Informationen zur Automatisierung von Aktionen mithilfe von Budgets finden Sie unter Verwalten von Kosten mit Budgets.

Datenlatenz und Ratenlimits

Es wird empfohlen, die APIs nicht mehr als einmal pro Tag aufzurufen. Cost Management-Daten werden alle vier Stunden aktualisiert, wenn neue Nutzungsdaten von Azure-Ressourcenanbietern eingehen. Wenn die Aufrufe häufiger durchgeführt werden, wird keine größere Datenmenge bereitgestellt. Stattdessen führt dies zu einer höheren Auslastung.

Abfrageverarbeitungseinheiten der Abfrage-API

Zusätzlich zu den vorhandenen Prozessen zur Ratenbegrenzung schränkt die Abfrage-API auch die Verarbeitung basierend auf den Kosten für API-Aufrufe ein. Die Kosten eines API-Aufrufs werden in Abfrageverarbeitungseinheiten (Query Processing Units, QPUs) ausgedrückt. QPUs dienen als Währung für die Leistung, wie z. B. Cosmos DB-Anforderungseinheiten. Sie abstrahieren Systemressourcen wie CPU und Arbeitsspeicher.

QPU-Berechnung

Derzeit wird eine QPU für einen Monat abgefragter Daten von den zugewiesenen Kontingenten abgezogen. Diese Logik kann sich ohne vorherige Ankündigung ändern.

QPU-Faktoren

Der folgende Faktor wirkt sich auf die Anzahl der QPUs aus, die von einer API-Anforderung verbraucht werden.

  • Datumsbereich: Wenn der Datumsbereich in der Anforderung zunimmt, erhöht sich die Anzahl der verbrauchten QPUs.

Weitere QPU-Faktoren können ohne vorherige Ankündigung hinzugefügt werden.

QPU-Kontingente

Die folgenden Kontingente werden pro Mandant konfiguriert. Anforderungen werden gedrosselt, wenn eines der folgenden Kontingente ausgeschöpft ist.

  • 12 QPU pro 10 Sekunden
  • 60 QPU pro 1 Minute
  • 600 QPU pro 1 Stunde

Die Kontingente werden möglicherweise bei Bedarf geändert, und es können weitere Kontingente hinzugefügt werden.

Antwortheader

Sie können die Antwortheader untersuchen, um die Anzahl der von einer API-Anforderung verbrauchten QPUs und die Anzahl der verbleibenden QPUs nachzuverfolgen.

x-ms-ratelimit-microsoft.costmanagement-qpu-retry-after

Gibt die Zeit für das Backoff in Sekunden an. Wenn eine Anforderung mit 429 gedrosselt wird, erfolgt ein Backoff für die in diesem Header angegebene Zeit, bevor die Anforderung wiederholt wird.

x-ms-ratelimit-microsoft.costmanagement-qpu-consumed

Von einem API-Aufruf verbrauchte QPUs.

x-ms-ratelimit-microsoft.costmanagement-qpu-remaining

Liste der verbleibenden Kontingente.

Nächste Schritte