Delen via


FinOps-hubsjabloon

Dit document bevat een gedetailleerd overzicht van wat er is opgenomen in de FinOps Hubs-implementatiesjabloon. U kunt dit gebruiken als richtlijn voor het afstemmen van uw implementatie of om aanpassingen te informeren die u aan de sjabloon kunt aanbrengen om te voldoen aan de behoeften van uw organisatie. In dit document worden de vereiste vereisten uitgelegd voor het implementeren van de sjabloon, invoerparameters die u kunt aanpassen, resources die worden geïmplementeerd en de sjabloonuitvoer. Sjabloonuitvoer kan worden gebruikt om verbinding te maken met uw hub-exemplaren in Power BI, Data Explorer of andere hulpprogramma's.

FinOps-hubs bevatten veel resources om een veilig en schaalbaar FinOps-platform te bieden. De belangrijkste resources waarmee u werkt, zijn onder andere:

  • Data Explorer (Kusto) als een schaalbaar gegevensarchief voor geavanceerde analyses (optioneel).
  • Opslagaccount (Data Lake Storage Gen2) als faseringsgebied voor gegevensopname.
  • Data Factory-exemplaar voor het beheren van gegevensinvoer en opschoning.

Belangrijk

Als u de sjabloon wilt gebruiken, moet u Cost Management-exports maken om gegevens te publiceren naar de msexports container in het opgenomen opslagaccount. Zie Een nieuwe hub maken voor meer informatie.


Vereisten

Zorg ervoor dat aan de volgende vereisten wordt voldaan voordat u de sjabloon implementeert:

  • U moet over de volgende machtigingen beschikken om de geïmplementeerde bronnen aan te maken.

    Bron Minimale Azure RBAC-instellingen
    Data Factory¹ implementeren en configureren Data Factory-inzender
    Key Vault implementeren (alleen voor de externe hub)¹ Key Vault-bijdrager
    Key Vault-geheimen configureren (externe hub alleen)¹ Key Vault-beheerder
    Beheerde identiteit maken¹ Inzender voor beheerde identiteit
    Opslag implementeren en configureren¹ Bijdrager voor opslagaccount
    Beheerde identiteit toewijzen aan resources¹ Operator voor beheerde identiteit
    Implementatiescripts maken¹ Aangepaste rol die alleen de Microsoft.Resources/deploymentScripts/write toegestane acties en Microsoft.ContainerInstance/containerGroups/write machtigingen bevat, of, als alternatief, Inzender, die deze machtigingen en alle bovenstaande rollen bevat
    Machtigingen toewijzen aan beheerde identiteiten¹ Op rollen gebaseerd toegangsbeheerbeheerder of, als alternatief eigenaar, die deze rol en alle bovenstaande rollen bevat
    Maak een kostenexport voor een abonnement of resourcegroep Cost Management-inzender
    Een EA-factureringskostenexport maken² Ondernemingslezer, afdelingslezer of eigenaar van een inschrijvingsaccount (Meer informatie)
    Een export van factureringskosten voor MCA maken² Inzender
    Blobgegevens lezen in opslag³ Inzender van opslag-blobgegevens

    ¹ Het is voldoende om machtigingen voor de implementatie van hubs-resources toe te wijzen op het niveau van de resourcegroep.
    ² Cost Management-machtigingen moeten worden toegewezen voor het bereik waaruit u uw kosten wilt exporteren.
    ³ Blob-gegevensmachtigingen zijn vereist voor toegang tot geëxporteerde kostengegevens uit Power BI of andere clienthulpprogramma's.

  • U moet machtigingen hebben om de volgende rollen toe te wijzen aan beheerde identiteiten als onderdeel van de implementatie:

    Azure RBAC-rol Opmerkingen
    Data Factory-inzender Toegewezen aan de identiteit van de implementatietriggermanager om Data Factory-triggers automatisch te starten.
    Lezer Toegewezen aan Data Factory om gegevens in opslag te beheren.
    Bijdrager voor opslagaccount Toegewezen aan Data Factory om gegevens in opslag te beheren.
    Inzender van opslag-blobgegevens Toegewezen aan Data Factory en Data Explorer om gegevens in opslag te beheren.
    Inzender met bevoegdheden voor opslagbestandsgegevens Toegewezen aan de uploadidentiteit van het implementatiebestand waarmee bestanden worden geüpload naar de configuratiecontainer.
    Beheerder van gebruikerstoegang Toegewezen aan Data Factory om gegevens in opslag te beheren.
  • De Microsoft.EventGrid-resourceprovider moet zijn geregistreerd in uw abonnement. Zie Een resourceprovider registreren voor meer informatie.

    Belangrijk

    Als u deze stap vergeet, slaagt de implementatie, maar wordt de pijplijntrigger niet gestart en zijn gegevens niet gereed. Zie Problemen met Power BI-rapporten oplossen voor meer informatie.


Parameterwaarden

Dit zijn de parameters die u kunt gebruiken om de implementatie aan te passen:

Kenmerk Soort Beschrijving Standaardwaarde
hubName Snaar / Touwtje Optioneel. Naam van de hub. Wordt gebruikt om unieke resourcenamen te garanderen. finops-hub
plaats Snaar / Touwtje Optioneel. Azure-locatie waar alle resources moeten worden gemaakt. Zie https://aka.ms/azureregions. Hetzelfde als de implementatie
storageSku Snaar / Touwtje Optioneel. Opslag-SKU die moet worden gebruikt. LRS = Laagste kosten, ZRS = Hoge beschikbaarheid. Standaard-SKU's zijn niet beschikbaar voor Data Lake Gen2-opslag. Toegestaan: Premium_LRS, Premium_ZRS. "Premium_LRS"
dataExplorerName Snaar / Touwtje Optioneel. De naam van het Azure Data Explorer-cluster dat moet worden gebruikt voor geavanceerde analyses. Als dit leeg is, wordt Azure Data Explorer niet geïmplementeerd. Vereist voor gebruik met Power BI als u tussen de $2 en $5 miljoen per maand aan kosten heeft die worden gemonitord. Standaard: '' (niet gebruiken).
dataExplorerSkuName Snaar / Touwtje Optioneel. Naam van de Azure Data Explorer-SKU. Standaard: 'Dev(No SLA)_Standard_E2a_v4'.
dataExplorerSkuTier Snaar / Touwtje Optioneel. SKU-laag voor het Azure Data Explorer-cluster. Gebruik Basic voor de laagste kosten zonder SLA (vanwege één knooppunt). Gebruik Standard voor hoge beschikbaarheid en verbeterde prestaties. Toegestane waarden: Basic, Standard. Standaard: 'Basic'.
dataExplorerSkuCapacity Integer Optioneel. Het aantal knooppunten dat in het cluster moet worden gebruikt. Toegestane waarden: 1 voor de Basic-SKU-laag en 2-1000 voor Standard. Standaard: 1.
Tags Voorwerp Optioneel. Tags die moeten worden toegepast op alle resources. We voegen ook de cm-resource-parent-tag toe voor verbeterde kostenconsolidaties in Kostenbeheer.
tagsByResource Voorwerp Optioneel. Tags die moeten worden toegepast op resources op basis van hun resourcetype. Specifieke tags voor het resourcetype worden samengevoegd met tags voor alle resources.
scopesToMonitor Array Optioneel. Lijst met bereik-id's voor het bewaken en registreren van kosten.
exportRetentionInDays Integer Optioneel. Aantal dagen aan gegevens dat moet worden bewaard in de msexports-container. 0
ingestionRetentionInMonths Integer Optioneel. Aantal maanden aan gegevens dat moet worden bewaard in de opnamecontainer. 13
gegevensVerkennerLogboekBewaringInDagen Integer Optioneel. Aantal dagen aan gegevens dat moet worden bewaard in de Data Explorer *_log tabellen. 0
dataExplorerEindbewaartermijnInMaanden Integer Optioneel. Het aantal maanden aan gegevens dat moet worden bewaard in de Data Explorer -tabellen *_final_v*. 13
remoteHubStorageUri Snaar / Touwtje Optioneel. Opslagaccount om gegevens naar een externe hub te pushen voor opname.
remoteHubStorageKey Snaar / Touwtje Optioneel. De sleutel van het opslagaccount dat moet worden gebruikt bij het pushen van gegevens naar een externe hub.
PublicAccess inschakelen tekenreeks Optioneel. Openbare toegang tot de Data Lake (opslagfirewall) uitschakelen. Klopt
virtualNetworkAddressPrefix Snaar / Touwtje Optioneel. IP-adresbereik voor het particuliere virtuele netwerk dat wordt gebruikt door FinOps-hubs. /26 wordt aanbevolen om het verspillen van IP-adressen te voorkomen. Intern worden de volgende subnetten gemaakt: /28 voor privé-eindpunten, een ander /28 subnet voor tijdelijke implementatiescripts (containerinstanties) en /27 voor Azure Data Explorer, indien ingeschakeld. '10.20.30.0/26'

Middelen

De volgende resources worden in de doelresourcegroep gemaakt tijdens de implementatie.

Resources gebruiken de volgende naamconventie: <hubName>-<purpose>-<unique-suffix>. Namen worden aangepast om rekening te houden met lengte- en tekenbeperkingen. De <unique-suffix> naam wordt gebruikt om ervoor te zorgen dat resourcenamen wereldwijd uniek zijn, indien nodig.

  • <hubName>store<unique-suffix> opslagaccount (Data Lake Storage Gen2)
    • Blobcontainers:
      • msexports – Slaat Cost Management-exporten tijdelijk op.
      • ingestion – Slaat opgenomen gegevens op.
      • config – Slaat hubmetagegevens en configuratie-instellingen op. Bestanden
        • settings.json – Hub-instellingen.
        • schemas/focuscost_1.0.json – FOCUS 1.0-schemadefinitie voor parquet-conversie.
        • schemas/focuscost_1.0-preview(v1).json – FOCUS 1.0-preview schemadefinitie voor parquet-conversie.
        • schemas/pricesheet_2023-05-01_ea.json – EA-schemadefinitie voor prijsoverzicht versie 2023-05-01 voor parquet-conversie.
        • schemas/pricesheet_2023-05-01_mca.json – Prijsoverzicht MCA-schemadefinitie versie 2023-05-01 voor parquetconversie.
        • schemas/reservationdetails_2023-03-01.json – Schemadefinitie voor reserveringsgegevens versie 2023-03-01 voor de conversie naar parquet.
        • schemas/reservationrecommendations_2023-05-01_ea.json – Aanbevelingen voor de EA-schemadefinitie versie 2023-05-01 bij parquet-conversie.
        • schemas/reservationrecommendations_2023-05-01_mca.json - Reservatieaanbevelingen voor MCA-schema definitie versie 2023-05-01 voor parquet-conversie.
        • schemas/reservationtransactions_2023-05-01_ea.json – Reserveringstransacties EA-schemadefinitie versie 2023-05-01 voor parquet-conversie.
        • schemas/reservationtransactions_2023-05-01_mca.json: Reserveringstransacties MCA-schemadefinitie versie 2023-05-01 voor parquetconversie.
  • <hubName>script<unique-suffix> opslagaccount (Data Lake Storage Gen2) voor implementatiescripts.
  • <hubName>-engine-<unique-suffix> Data Factory-exemplaar
    • Pijpleidingen:
      • config_InitializeHub: initialiseert (of updates) het FinOps Hub-exemplaar na de implementatie.
      • config_ConfigureExports – Hiermee maakt u exports voor Cost Management voor alle omgevingen.
      • config_StartBackfillProcess – Voert de backfill-job voor elke maand uit op basis van retentie-instellingen.
      • config_RunBackfillJob – Hiermee kunt u exports aanmaken en activeren voor alle gedefinieerde bereiken voor het opgegeven datumbereik.
      • config_StartExportProcess – Haalt een lijst op van alle Cost Management-exports die zijn geconfigureerd voor deze hub op basis van de bereiken die zijn gedefinieerd in settings.json en voert vervolgens elke export uit met behulp van de config_RunExportJobs-pijplijn.
      • config_RunExportJobs – Voert de opgegeven Cost Management-exports uit.
      • msexports_ExecuteETL – Hiermee wordt de pijplijn in de msexports_ETL_ingestion wachtrij geplaatst om rekening te houden met limieten van Data Factory-pijplijntriggers.
      • msexports_ETL_ingestion – Converteert Cost Management-exports naar Parquet en verwijdert historische gegevens die in de export van elke dag worden gedupliceerd.
      • ingestion_ExecuteETL – Hiermee wordt de pijplijn in de ingestion_ETL_dataExplorer wachtrij geplaatst om rekening te houden met limieten van Data Factory-pijplijntriggers.
      • ingestion_ETL_dataExplorer: hiermee worden parquet-gegevens opgenomen in een Azure Data Explorer-cluster.
    • Activeringen:
      • config_SettingsUpdated – Activeert de config_ConfigureExports pijplijn wanneer settings.json wordt bijgewerkt.
      • config_DailySchedule – activeert de config_RunExportJobs-pijplijn dagelijks voor de kostengegevens van de huidige maand.
      • config_MonthlySchedule : activeert de config_RunExportJobs pijplijn maandelijks voor de kostengegevens van de vorige maand.
      • msexports_ManifestAdded – Activeert de msexports_ExecuteETL pijplijn wanneer Cost Management-exports zijn voltooid.
      • ingestion_ManifestAdded: activeert de ingestion_ExecuteETL pijplijn wanneer manifest.json bestanden worden toegevoegd (verwerkt door de msexports_ETL_ingestion-pijplijn).
    • Beheerde privé-eindpunten
      • <hubName>store<unique-suffix> : beheerd privé-eindpunt voor opslagaccount.
      • <hubName>-vault-<unique-suffix> : beheerd privé-eindpunt voor Azure Key Vault.
  • <hubName>-vault-<unique-suffix> Key Vault-exemplaar (alleen opgenomen bij implementatie als externe hub)
    • Geheimen:
      • Door het Data Factory-systeem beheerde identiteit
  • <dataExplorerName> Data Explorer-cluster
    • Hub database: openbare functies om interne functies te abstraheren.
      • Bevat 2 sets functies:
        • Gegevenssetspecifieke functies voor de meest recente ondersteunde FOCUS-versie (bijvoorbeeld Costs, Prices).
        • Gegevenssetspecifieke functies voor elke ondersteunde FOCUS-versie (bijvoorbeeld Costs_v1_0 voor FOCUS 1.0). Deze functies worden geleverd voor compatibiliteit met eerdere versies. Alle functies retourneren alle gegevens die zijn afgestemd op de beoogde FOCUS-versie.
      • Gegevenssets omvatten: Costs, Prices.
      • Ondersteunde FOCUS-versies zijn onder andere: v1_0.
    • Ingestion database: slaat opgenomen gegevens op.
      • Instellingen:
        • HubSettingsLog tabel – slaat een geschiedenis op van hoogwaardige configuratiewijzigingen (bijvoorbeeld versies, omvang).
        • HubSettings functie: haalt de nieuwste versie van de hubinstantie-instellingen op.
        • HubScopes functie: haalt de momenteel geconfigureerde scopes voor dit hub-exemplaar op.
      • Gegevens openen:
        • PricingUnits tabel – PricingUnits-koppelbestand van de FinOps-toolkit. Wordt gebruikt voor het normaliseren en opschonen van gegevens.
        • Regions tabel – regio’s koppelbestand vanuit de FinOps-toolkit. Wordt gebruikt voor het normaliseren en opschonen van gegevens.
        • ResourceTypes tabel – resource-typetoewijzingsbestand uit de FinOps-toolkit. Wordt gebruikt voor het normaliseren en opschonen van gegevens.
        • Services tabel – Services-toewijzingsbestand uit de FinOps-toolkit. Wordt gebruikt voor het normaliseren en opschonen van gegevens.
        • resource_type functie – eenvoudige functie voor het toewijzen van interne resourcetype-ID's naar weergavenamen, gebaseerd op het resourcetypentoewijzingsbestand.
          • Gebruik deze functie om één enkele waarde in kaart te brengen en te combineren met de ResourceTypes tabel om vele rijen bij te werken of andere waarden in kaart te brengen.
      • Datasets:
        • <dataset>_raw tabel: onbewerkte gegevens rechtstreeks vanuit de ingestiebron. Maakt gebruik van een samenvoegschema voor gegevens uit meerdere bronnen.
        • <dataset>_transform_vX_Y functie: hiermee worden onbewerkte gegevens genormaliseerd en opgeschoond om de beoogde FOCUS-versie uit te lijnen met behulp van open gegevenstabellen, indien nodig.
        • <dataset>_final_vX_Y tabel: schone versie van de bijbehorende onbewerkte tabel die is afgestemd op de beoogde FOCUS-versie. Gevuld via een updatebeleid dat gebruikmaakt van de bijbehorende transformatiefunctie wanneer gegevens worden opgenomen in onbewerkte tabellen.

Naast de voorgaande informatie worden de volgende resources gemaakt om het implementatieproces te automatiseren. De implementatiescripts moeten automatisch worden verwijderd. Verwijder de beheerde identiteiten echter niet, omdat dit fouten kan veroorzaken bij het upgraden naar de volgende release.

  • Beheerde identiteiten:
    • <storage>_blobManager (Inzender voor opslagblobgegevens): uploadt het settings.json-bestand.
    • <datafactory>_triggerManager (Data Factory-inzender): stopt triggers vóór de implementatie en start deze na de implementatie.
  • Implementatiescripts (automatisch verwijderd na een geslaagde implementatie):
    • <datafactory>_deleteOldResources – Verwijdert ongebruikte resources uit eerdere FinOps-hubs-implementaties.
    • <datafactory>_stopTriggers – Stopt alle triggers in de hub met behulp van de triggerManager-identiteit.
    • <datafactory>_startTriggers – Start alle triggers in de hub met behulp van de triggerManager-identiteit.
    • <storage>_uploadSettings – Uploadt het settings.json bestand met behulp van de blobManager-identiteit.

Uitgangen

Dit zijn de uitvoer die door de implementatie wordt gegenereerd:

Uitvoer Soort Beschrijving Waarde
naam Snaar / Touwtje Naam van de resourcegroep.
plaats Snaar / Touwtje Azure-resources bevinden zich op de locatie.
dataFactoryName Snaar / Touwtje Naam van de Data Factory.
storageAccountId Snaar / Touwtje Resource-id van het geïmplementeerde opslagaccount.
storageAccountName Snaar / Touwtje Naam van het opslagaccount dat is gemaakt voor het hub-exemplaar. Dit moet worden gebruikt bij het verbinden van Power BI-rapporten van De FinOps-toolkit met uw gegevens.
storageUrlForPowerBI Snaar / Touwtje DE URL die moet worden gebruikt bij het verbinden van aangepaste Power BI-rapporten met uw gegevens.
clusterId Snaar / Touwtje Resource-id van het Data Explorer-cluster.
clusterUri Snaar / Touwtje URI van het Data Explorer-cluster.
ingestionDbName Snaar / Touwtje Naam van de Data Explorer-database die wordt gebruikt voor het opnemen van gegevens.
hubDbName Snaar / Touwtje Naam van de Data Explorer-database die wordt gebruikt voor het opvragen van gegevens.
managedIdentityId Snaar / Touwtje Object-id van de beheerde identiteit van de Data Factory. Dit is nodig bij het configureren van beheerde exports.
managedIdentityTenantId Snaar / Touwtje Azure AD-tenant-id. Dit is nodig bij het configureren van beheerde exports.

Feedback geven

Laat ons weten hoe we het doen met een korte recensie. We gebruiken deze beoordelingen om FinOps-hulpprogramma's en -resources te verbeteren en uit te breiden.

Als u op zoek bent naar iets specifieks, stem dan op een bestaande of maak een nieuw idee. Deel ideeën met anderen om meer stemmen te krijgen. We richten ons op ideeën met de meeste stemmen.


Meer informatie