Freigeben über


FinOps-Hubvorlage

Dieses Dokument enthält eine detaillierte Zusammenfassung der Elemente, die in der Bereitstellungsvorlage für FinOps-Hubs enthalten sind. Sie können dies als Leitfaden für die Optimierung Ihrer Bereitstellung verwenden oder die Vorlage so anpassen, dass sie Ihren organisatorischen Anforderungen entspricht. In diesem Dokument werden die erforderlichen Voraussetzungen für die Bereitstellung der Vorlage, Eingabeparameter erläutert, die Sie anpassen können, Ressourcen, die bereitgestellt werden sollen, und die Vorlagenausgabe. Vorlagenausgaben können verwendet werden, um eine Verbindung mit Ihren Hubinstanzen in Power BI, Dem Daten-Explorer oder anderen Tools herzustellen.

FinOps-Hubs umfassen viele Ressourcen, um eine sichere und skalierbare FinOps-Plattform anzubieten. Die wichtigsten Ressourcen, mit denen Sie interagieren, umfassen:

  • Daten-Explorer (Kusto) als skalierbarer Datenspeicher für erweiterte Analysen (optional).
  • Speicherkonto (Data Lake Storage Gen2) als Stagingbereich für die Datenaufnahme.
  • Data Factory-Instanz zum Verwalten der Erfassung und Bereinigung von Daten.

Wichtig

Um die Vorlage zu verwenden, müssen Sie Kostenverwaltungsexporte erstellen, um Daten im msexports Container im enthaltenen Speicherkonto zu veröffentlichen. Weitere Informationen finden Sie unter Erstellen eines neuen Hubs.


Voraussetzungen

Stellen Sie sicher, dass die folgenden Voraussetzungen erfüllt sind, bevor Sie die Vorlage bereitstellen:

  • Sie müssen über die folgenden Berechtigungen verfügen, um die bereitgestellten Ressourcen zu erstellen.

    Ressource Mindestens Azure RBAC
    Bereitstellen und Konfigurieren von Data Factory¹ Mitwirkender von Data Factory
    Bereitstellen von Key Vault (nur Remotehub)¹ Key Vault-Mitwirkender
    Konfigurieren von Key Vault-Geheimnissen (nur Remotehub)¹ Key Vault-Administrator
    Verwaltete Identität erstellen¹ Mitwirkender für verwaltete Identität
    Bereitstellen und Konfigurieren von Speicher¹ Speicherkontomitwirkender
    Zuweisen verwalteter Identitäten zu Ressourcen¹ Operator für verwaltete Identität
    Erstellen von Bereitstellungsskripts¹ Benutzerdefinierte Rolle, die nur die Berechtigungen Microsoft.Resources/deploymentScripts/write und Microsoft.ContainerInstance/containerGroups/write als zulässige Aktionen enthält oder alternativ Mitwirkender, die diese Berechtigungen sowie alle oben genannten Rollen umfasst.
    Zuweisen von Berechtigungen zu verwalteten Identitäten¹ Rollenbasierter Zugriffssteuerungsadministrator oder alternativ der Besitzer, der diese Rolle und alle oben genannten Rollen enthält
    Erstellen eines Abonnement- oder Ressourcengruppenkostenexports² Cost Management-Mitwirkender
    Erstellen eines EA-Abrechnungskostenexports² Enterprise-Leser, Abteilungsleser oder Anmeldekontoinhaber (Erfahren Sie mehr)
    Erstellen eines MCA-Abrechnungskostenexports² Mitwirkender
    Lesen von Blob-Daten im Speicher Mitwirkender an Speicherblobdaten

    ¹ Es reicht aus, hubs Ressourcenbereitstellungsberechtigungen für den Ressourcengruppenbereich zuzuweisen.
    ² Kostenverwaltungsberechtigungen müssen dem Bereich zugewiesen werden, aus dem Sie Ihre Kosten exportieren möchten.
    ³ Blob-Datenberechtigungen sind erforderlich, um auf exportierte Kostendaten aus Power BI oder anderen Clienttools zugreifen zu können.

  • Sie müssen über Berechtigungen zum Zuweisen der folgenden Rollen zu verwalteten Identitäten als Teil der Bereitstellung verfügen:

    Azure RBAC-Rolle Hinweise
    Mitwirkender von Data Factory Wird der Identität des Bereitstellungstrigger-Managers zugewiesen, um Data Factory-Trigger automatisch zu starten.
    Leser Zugewiesen an Data Factory zum Verwalten von Daten im Speicher.
    Speicherkontomitwirkender Zugewiesen an Data Factory zum Verwalten von Daten im Speicher.
    Mitwirkender an Speicherblobdaten Zugewiesen an Data Factory und Data Explorer zum Verwalten von Daten im Speicher.
    Privilegierter Mitwirkender für Speicherdateidaten Wird der Identität zum Hochladen der Bereitstellungsdatei zugewiesen, die Dateien in den Konfigurationscontainer hochlädt.
    Benutzerzugriffsadministrator Zugewiesen an Data Factory zum Verwalten von Daten im Speicher.
  • Der Microsoft.EventGrid-Ressourcenanbieter muss in Ihrem Abonnement registriert sein. Weitere Informationen finden Sie unter Registrieren eines Ressourcenanbieters.

    Wichtig

    Wenn Sie diesen Schritt vergessen, wird die Bereitstellung zwar erfolgreich ausgeführt, der Pipelinetrigger wird jedoch nicht gestartet, und die Daten werden nicht vorbereitet. Weitere Informationen finden Sie unter "Problembehandlung bei Power BI-Berichten".


Parameter

Hier sind die Parameter, mit denen Sie die Bereitstellung anpassen können:

Parameter Typ BESCHREIBUNG Standardwert
hubName Zeichenfolge Wahlweise. Name des Hubs. Wird verwendet, um eindeutige Ressourcennamen sicherzustellen. FinOps-Knotenpunkt
Standort. Zeichenfolge Wahlweise. Azure-Speicherort, an dem alle Ressourcen erstellt werden sollen. Weitere Informationen finden Sie unter https://aka.ms/azureregions. Identisch mit der Bereitstellung
storageSku Zeichenfolge Wahlweise. Zu verwendende Speicher-SKU. LRS = Niedrigste Kosten, ZRS = Hohe Verfügbarkeit. Hinweis: Standard-SKUs sind für Data Lake gen2 Speicher nicht verfügbar. Zulässige Werte: Premium_LRS, Premium_ZRS. „Premium_LRS“
dataExplorerName Zeichenfolge Wahlweise. Name des Azure Data Explorer-Clusters, der für erweiterte Analysen verwendet werden soll. Wenn er leer ist, wird der Azure-Daten-Explorer nicht bereitgestellt. Erforderlich für die Verwendung mit Power BI, wenn Kosten in Höhe von mehr als 2-5 Mio. USD/Monat überwacht werden. Standard: "" (nicht verwenden).
dataExplorerSkuName Zeichenfolge Wahlweise. Name der Azure Data Explorer-SKU. Standard: „Dev(No SLA)_Standard_E2a_v4“
dataExplorerSkuTier Zeichenfolge Wahlweise. SKU-Ebene für den Azure Data Explorer-Cluster. Nutzen Sie die Option "Basic" für die niedrigsten Kosten ohne SLA, weil nur ein einzelner Knoten verwendet wird. Verwenden Sie Standard für hohe Verfügbarkeit und verbesserte Leistung. Zulässige Werte: Basic, Standard. Standard: "Einfach".
dataExplorerSkuCapacity Integer Wahlweise. Die Anzahl der Knoten, die im Cluster verwendet werden sollen. Zulässige Werte: 1 für die Standard-SKU-Ebene und 2-1000 für Standard. Standardwert: 1.
Tags Objekt Wahlweise. Tags, die auf alle Ressourcen angewendet werden sollen. Außerdem fügen wir das cm-resource-parent-Tag für verbesserte Kostenrollups in Cost Management hinzu.
tagsByResource Objekt Wahlweise. Tags, die auf Ressourcen basierend auf ihrem Ressourcentyp angewendet werden sollen. Ressourcentypspezifische Tags werden mit Tags für alle Ressourcen zusammengeführt.
scopesToMonitor Anordnung Wahlweise. Liste der zu überwachenden Bereichs-IDs, für die Kosten erfasst werden sollen
ExportaufbewahrungInTagen Integer Wahlweise. Die Anzahl der Tage für die Datenaufbewahrung im Container „msexports“ 0
ingestionRetentionInMonths Integer Wahlweise. Die Anzahl der Monate für die Datenaufbewahrung im Erfassungscontainer 13
datenExplorerProtokollaufbewahrungInTagen Integer Wahlweise. Die Anzahl der Tage für die Datenaufbewahrung in *_log-Tabellen von Daten-Explorer 0
dataExplorerEndgültigeAufbewahrungInMonaten Integer Wahlweise. Die Anzahl der Monate für die Datenaufbewahrung in *_final_v*-Tabellen von Daten-Explorer 13
remoteHubStorageUri Zeichenfolge Wahlweise. Speicherkonto zum Pushen von Daten für die Erfassung in einen Remotehub
remoteHubStorageKey Zeichenfolge Wahlweise. Speicherkontoschlüssel, der beim Übertragen von Daten an einen Remotehub verwendet werden soll.
enablePublicAccess Zeichenfolge Wahlweise. Deaktivieren Des öffentlichen Zugriffs auf den Data Lake (Speicherfirewall). Richtig
virtualNetworkAddressPrefix Zeichenfolge Wahlweise. IP-Adressbereich für das private virtuelle Netzwerk, das von FinOps-Hubs verwendet wird. /26 wird empfohlen, um die Verschwendung von IPs zu vermeiden. Intern werden die folgenden Subnetze erstellt: /28 für private Endpunkte, ein anderes /28 Subnetz für temporäre Bereitstellungsskripts (Containerinstanzen) und /27 für Azure Data Explorer, falls aktiviert. '10.20.30.0/26'

Ressourcen

Die folgenden Ressourcen werden während der Bereitstellung in der Zielressourcengruppe erstellt.

Ressourcen verwenden die folgende Benennungskonvention: <hubName>-<purpose>-<unique-suffix>. Namen werden angepasst, um Längen- und Zeicheneinschränkungen zu berücksichtigen. Dies <unique-suffix> wird verwendet, um sicherzustellen, dass Ressourcennamen bei Bedarf global eindeutig sind.

  • <hubName>store<unique-suffix> Speicherkonto (Data Lake Storage Gen2)
    • Blobcontainer:
      • msexports – Speichert vorübergehend Kostenmanagementexporte.
      • ingestion – Speichert erfasste Daten.
      • config – Speichert Hubmetadaten und Konfigurationseinstellungen. Dateien:
        • settings.json – Hubeinstellungen.
        • schemas/focuscost_1.0.json – FOCUS 1.0 Schemadefinition für die Umwandlung von Parkett.
        • schemas/focuscost_1.0-preview(v1).json – FOCUS 1.0-Preview-Schemadefinition für die Umwandlung von Parkett.
        • schemas/pricesheet_2023-05-01_ea.json: Preisblatt EA-Schemadefinition Version 2023-05-01 für die Parquet-Konvertierung
        • schemas/pricesheet_2023-05-01_mca.json: Preisblatt MCA-Schemadefinition Version 2023-05-01 für die Parquet-Konvertierung
        • schemas/reservationdetails_2023-03-01.json: Reservierungsdetails zur Schemadefinition Version 2023-03-01 für die Parquet-Konvertierung
        • schemas/reservationrecommendations_2023-05-01_ea.json: Reservierungsempfehlungen für EA-Schemadefinition Version 2023-05-01 für die Parquet-Konvertierung
        • schemas/reservationrecommendations_2023-05-01_mca.json: Reservierungsempfehlungen für MCA-Schemadefinition Version 2023-05-01 für die Parquet-Konvertierung
        • schemas/reservationtransactions_2023-05-01_ea.json: Reservierungstransaktionen für EA-Schemadefinition Version 2023-05-01 für die Parquet-Konvertierung
        • schemas/reservationtransactions_2023-05-01_mca.json: Reservierungstransaktionen für MCA-Schemadefinition Version 2023-05-01 für die Parquet-Konvertierung
  • <hubName>script<unique-suffix> Speicherkonto (Data Lake Storage Gen2) für Bereitstellungsskripts.
  • <hubName>-engine-<unique-suffix> Data Factory-Instanz
    • Pipelines:
      • config_InitializeHub – Initialisiert (oder aktualisiert) die FinOps-Hubinstanz nach der Bereitstellung.
      • config_ConfigureExports – Erstellt Kostenmanagementexporte für alle Bereiche.
      • config_StartBackfillProcess führt den Abgleichsauftrag für jeden Monat basierend auf den Aufbewahrungseinstellungen aus.
      • config_RunBackfillJob – Erstellt und löst Exporte für alle definierten Bereiche für den angegebenen Datumsbereich aus.
      • config_StartExportProcess – Ruft eine Liste aller Kostenverwaltungsexporte ab, die für diesen Hub basierend auf den in settings.json definierten Bereichen konfiguriert sind, und führt dann jeden Export mithilfe der config_RunExportJobs Pipeline aus.
      • config_RunExportJobs – Führt die angegebenen Kostenverwaltungsexporte aus.
      • msexports_ExecuteETL stellt die Pipeline msexports_ETL_ingestion in die Warteschlange, um die Grenzwerte für Data Factory-Pipelinetrigger einzuhalten.
      • msexports_ETL_ingestion: wandelt die Cost Management-Exporte in Parquet um und entfernt doppelte historische Daten aus dem Export für jeden Tag.
      • ingestion_ExecuteETL stellt die Pipeline ingestion_ETL_dataExplorer in die Warteschlange, um die Grenzwerte für Data Factory-Pipelinetrigger einzuhalten.
      • ingestion_ETL_dataExplorer – Lädt Parquet-Daten in einen Azure Data Explorer-Cluster.
    • Auslöser:
      • config_SettingsUpdated löst die Pipeline config_ConfigureExports aus, wenn die Datei „settings.json“ aktualisiert wird.
      • config_DailySchedule löst die Pipeline config_RunExportJobs täglich für die Kostendaten des aktuellen Monats aus.
      • config_MonthlySchedule löst die Pipeline config_RunExportJobs monatlich für die Kostendaten des Vormonats aus.
      • msexports_ManifestAdded löst die Pipeline msexports_ExecuteETL nach Abschluss der Cost Management-Exporte aus.
      • ingestion_ManifestAdded – Die ingestion_ExecuteETL-Pipeline wird ausgelöst, wenn manifest.json-Dateien hinzugefügt werden (verarbeitet von der msexports_ETL_ingestion-Pipeline).
    • Verwaltete private Endpunkte
      • <hubName>store<unique-suffix> – Verwalteter privater Endpunkt für Speicherkonto.
      • <hubName>-vault-<unique-suffix> – Verwalteter privater Endpunkt für Azure Key Vault.
  • <hubName>-vault-<unique-suffix> Key Vault-Instanz (nur enthalten, wenn sie als Remotehub bereitgestellt wird)
    • Geheimnisse:
      • Verwaltete Identität des Data-Factory-Systems
  • <dataExplorerName> Data Explorer-Cluster
    • Hub-Datenbank: öffentlich zugängliche Funktionen zum Abstrahieren von Besonderheiten
      • Umfasst 2 Sätze von Funktionen:
        • Datasetspezifische Funktionen für die neueste unterstützte FOCUS-Version (z. B. Costs, Prices).
        • Datasetspezifische Funktionen für jede unterstützte FOCUS-Version (z. B. Costs_v1_0 für FOCUS 1.0). Diese Funktionen werden aus Gründen der Abwärtskompatibilität bereitgestellt. Alle Funktionen geben alle Daten zurück, die auf die angestrebte FOCUS-Version ausgerichtet sind.
      • Datasets umfassen: Costs, Prices.
      • Unterstützte FOCUS-Versionen sind: v1_0.
    • Ingestion Datenbank – Speichert erfasste Daten.
      • Einstellungen:
        • HubSettingsLog tabelle – Speichert einen Verlauf von Änderungen auf hoher Ebene (z. B. Versionen, Bereiche).
        • HubSettings function – Ruft die neueste Version der Hubinstanzeinstellungen ab.
        • HubScopes function – Ruft die derzeit konfigurierten Gültigkeitsbereiche für diese Hub-Instanz ab.
      • Öffnen von Daten:
        • PricingUnits-Tabelle – PricingUnits-Zuordnungsdatei aus dem FinOps-Toolkit. Wird für die Datennormalisierung und Bereinigung verwendet.
        • Regions tabelle – Regionszuordnungsdatei aus dem FinOps-Toolkit. Wird für die Datennormalisierung und Bereinigung verwendet.
        • ResourceTypes table – ResourceTypes-Zuordnungsdatei aus dem FinOps-Toolkit. Wird für die Datennormalisierung und Bereinigung verwendet.
        • Services tabelle – Dienstzuordnungsdatei aus dem FinOps-Toolkit. Wird für die Datennormalisierung und Bereinigung verwendet.
        • resource_type function – Einfache Funktion zum Zuordnen interner Ressourcentyp-IDs, um Namen basierend auf der ResourceTypes-Zuordnungsdatei anzuzeigen.
          • Verwenden Sie diese Funktion, um einen einzelnen Wert zuzuordnen und mit der ResourceTypes Tabelle zu verknüpfen, um viele Zeilen zu aktualisieren oder andere Werte zuzuordnen.
      • Dateien:
        • <dataset>_raw-Tabelle – Rohdaten direkt aus der Aufnahmequelle. Verwendet ein Union-Schema für Daten aus mehreren Quellen.
        • <dataset>_transform_vX_Y funktion – Normalisiert und bereinigt Rohdaten, um sie bei Bedarf mit geöffneten Datentabellen an die zielorientierte FOCUS-Version auszurichten.
        • <dataset>_final_vX_Y Tabelle – Bereinigte Version der entsprechenden Rohdaten-Tabelle, die an die angestrebte FOCUS-Version angepasst ist. Wird aufgefüllt über eine Updaterichtlinie, die die entsprechende Transformationsfunktion verwendet, wenn Daten in unformatierten Tabellen erfasst werden.

Zusätzlich zu den vorherigen Informationen werden die folgenden Ressourcen erstellt, um den Bereitstellungsprozess zu automatisieren. Die Bereitstellungsskripts sollten automatisch gelöscht werden. Löschen Sie die verwalteten Identitäten jedoch nicht, da dies beim Upgrade auf die nächste Version zu Fehlern führen kann.

  • Verwaltete Identitäten:
    • <storage>_blobManager(Storage Blob Data Contributor) – Lädt die settings.json Datei hoch.
    • <datafactory>_triggerManager (Data Factory-Mitwirkender) – Stoppt Trigger vor der Bereitstellung und startet sie nach der Bereitstellung.
  • Bereitstellungsskripts (automatisch nach einer erfolgreichen Bereitstellung gelöscht):
    • <datafactory>_deleteOldResources – Löscht nicht verwendete Ressourcen aus früheren FinOps-Hubs-Bereitstellungen.
    • <datafactory>_stopTriggers – Stoppt alle Trigger im Hub mithilfe der triggerManager-Identität.
    • <datafactory>_startTriggers – Startet alle Trigger im Hub mithilfe der triggerManager-Identität.
    • <storage>_uploadSettings – Lädt die settings.json Datei mithilfe der blobManager-Identität hoch.

Ausgaben

Die folgenden Ausgaben werden von der Bereitstellung generiert:

Ausgabe Typ BESCHREIBUNG Wert
Name Zeichenfolge Name der Ressourcengruppe.
Standort. Zeichenfolge Azure-Ressourcenstandort, an dem die Ressourcen bereitgestellt wurden
dataFactoryName Zeichenfolge Name der Data Factory.
storageAccountId Zeichenfolge Ressourcen-ID des bereitgestellten Speicherkontos.
SpeicherkontoName Zeichenfolge Name des speicherkontos, das für die Hubinstanz erstellt wurde. Dies muss beim Verbinden von FinOps-Toolkit-Power BI-Berichten mit Ihren Daten verwendet werden.
SpeicherURLFürPowerBI Zeichenfolge Url, die beim Verbinden von benutzerdefinierten Power BI-Berichten mit Ihren Daten verwendet werden soll.
clusterId Zeichenfolge Ressourcen-ID des Daten-Explorer-Clusters.
clusterUri Zeichenfolge URI des Daten-Explorer-Clusters
ingestionDbName Zeichenfolge Name der Daten-Explorer-Datenbank, die zum Aufnehmen von Daten verwendet wird
hubDbName Zeichenfolge Name der Daten-Explorer-Datenbank, die zum Abfragen von Daten verwendet wird.
managedIdentityId Zeichenfolge Objekt-ID der verwalteten Identität der Data Factory. Dies wird beim Konfigurieren von verwalteten Exporten benötigt.
managedIdentityTenantId Zeichenfolge Azure AD-Mandanten-ID. Dies wird beim Konfigurieren von verwalteten Exporten benötigt.

Feedback senden

Lassen Sie uns mit einer kurzen Bewertung wissen, wie wir abschneiden. Wir verwenden diese Rezensionen, um FinOps-Tools und -Ressourcen zu verbessern und zu erweitern.

Wenn Sie nach etwas Spezifischem suchen, wählen Sie eine vorhandene Idee aus, oder erstellen Sie eine neue Idee. Teilen Sie Ideen mit anderen, um mehr Stimmen zu erhalten. Wir konzentrieren uns auf Ideen mit den meisten Stimmen.


Weitere Informationen