Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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/writeundMicrosoft.ContainerInstance/containerGroups/writeals 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
-
-
- Blobcontainer:
-
<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_StartBackfillProcessfü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_ExecuteETLstellt die Pipelinemsexports_ETL_ingestionin 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_ExecuteETLstellt die Pipelineingestion_ETL_dataExplorerin 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_SettingsUpdatedlöst die Pipelineconfig_ConfigureExportsaus, wenn die Datei „settings.json“ aktualisiert wird. -
config_DailySchedulelöst die Pipelineconfig_RunExportJobstäglich für die Kostendaten des aktuellen Monats aus. -
config_MonthlySchedulelöst die Pipelineconfig_RunExportJobsmonatlich für die Kostendaten des Vormonats aus. -
msexports_ManifestAddedlöst die Pipelinemsexports_ExecuteETLnach Abschluss der Cost Management-Exporte aus. -
ingestion_ManifestAdded– Dieingestion_ExecuteETL-Pipeline wird ausgelöst, wenn manifest.json-Dateien hinzugefügt werden (verarbeitet von dermsexports_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.
-
- Pipelines:
-
<hubName>-vault-<unique-suffix>Key Vault-Instanz (nur enthalten, wenn sie als Remotehub bereitgestellt wird)- Geheimnisse:
- Verwaltete Identität des Data-Factory-Systems
- Geheimnisse:
-
<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_0fü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.
- Datasetspezifische Funktionen für die neueste unterstützte FOCUS-Version (z. B.
- Datasets umfassen:
Costs,Prices. - Unterstützte FOCUS-Versionen sind:
v1_0.
- Umfasst 2 Sätze von Funktionen:
-
IngestionDatenbank – Speichert erfasste Daten.- Einstellungen:
-
HubSettingsLogtabelle – Speichert einen Verlauf von Änderungen auf hoher Ebene (z. B. Versionen, Bereiche). -
HubSettingsfunction – Ruft die neueste Version der Hubinstanzeinstellungen ab. -
HubScopesfunction – 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. -
Regionstabelle – Regionszuordnungsdatei aus dem FinOps-Toolkit. Wird für die Datennormalisierung und Bereinigung verwendet. -
ResourceTypestable – ResourceTypes-Zuordnungsdatei aus dem FinOps-Toolkit. Wird für die Datennormalisierung und Bereinigung verwendet. -
Servicestabelle – Dienstzuordnungsdatei aus dem FinOps-Toolkit. Wird für die Datennormalisierung und Bereinigung verwendet. -
resource_typefunction – 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
ResourceTypesTabelle zu verknüpfen, um viele Zeilen zu aktualisieren oder andere Werte zuzuordnen.
- Verwenden Sie diese Funktion, um einen einzelnen Wert zuzuordnen und mit der
-
- Dateien:
-
<dataset>_raw-Tabelle – Rohdaten direkt aus der Aufnahmequelle. Verwendet ein Union-Schema für Daten aus mehreren Quellen. -
<dataset>_transform_vX_Yfunktion – Normalisiert und bereinigt Rohdaten, um sie bei Bedarf mit geöffneten Datentabellen an die zielorientierte FOCUS-Version auszurichten. -
<dataset>_final_vX_YTabelle – 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.
-
- Einstellungen:
-
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.