Dela via


FinOps-hubbmall

Det här dokumentet innehåller en detaljerad sammanfattning av vad som ingår i mallen för FinOps Hubs-distribution. Du kan använda det här som en guide för att justera distributionen eller för att informera om anpassningar som du kan göra i mallen för att uppfylla organisationens behov. Det här dokumentet beskriver de nödvändiga förutsättningarna för att distribuera mallen, indataparametrar som du kan anpassa, resurser som ska distribueras och mallutdata. Mallutdata kan användas för att ansluta till dina hubbinstanser i Power BI, Data Explorer eller andra verktyg.

FinOps-hubbar innehåller många resurser för att erbjuda en säker och skalbar FinOps-plattform. De viktigaste resurserna som du interagerar med är:

  • Datautforskaren (Kusto) som ett skalbart datalager för avancerad analys (valfritt).
  • Lagringskonto (Data Lake Storage Gen2) som mellanlagringsområde för datainmatning.
  • Data Factory-instans för att hantera datainmatning och rensning.

Viktigt!

Om du vill använda mallen måste du skapa Cost Management-exporter för att publicera data till msexports containern i det inkluderade lagringskontot. Mer information finns i Skapa en ny hubb.


Förutsättningar

Se till att följande krav uppfylls innan du distribuerar mallen:

  • Du måste ha följande behörigheter för att skapa de distribuerade resurserna.

    Resurs Minsta Azure RBAC
    Distribuera och konfigurera Data Factory¹ Data Factory-deltagare
    Distribuera Key Vault (endast fjärrhubben)¹ Key Vault-medverkare
    Konfigurera Key Vault-hemligheter (endast fjärrhubben)¹ Key Vault-administratör
    Skapa hanterad identitet¹ Hanterad identitetsbidragsgivare
    Distribuera och konfigurera lagring¹ Delgivare av lagringskonto
    Tilldela hanterad identitet till resurser¹ Operatör för hanterad identitet
    Skapa distributionsskript¹ Anpassad roll som endast innehåller behörigheterna Microsoft.Resources/deploymentScripts/write och Microsoft.ContainerInstance/containerGroups/write som tillåtna åtgärder eller, alternativt deltagare, som innehåller dessa behörigheter och alla ovanstående roller
    Tilldela behörigheter till hanterade identiteter¹ Administratör för rollbaserad åtkomstkontroll eller, alternativt ägare, som innehåller den här rollen och alla ovanstående roller
    Skapa en kostnadsexport för en prenumeration eller resursgrupp Cost Management-bidragsgivare
    Skapa en EA-faktureringskostnadsexport² Företagsläsare, avdelningsläsare eller ägare av registreringskonto (läs mer)
    Skapa en MCA-export av faktureringskostnader² Deltagare
    Läsa blobdata i lagring³ Bidragsgivare för Blob-lagringsdata

    ¹ Det räcker att tilldela behörigheter för distribution av hubbens resurser inom resursgruppens område.
    ² Cost Management-behörigheter måste tilldelas för det omfång varifrån du vill exportera dina kostnader.
    ³ Blobdatabehörigheter krävs för åtkomst till exporterade kostnadsdata från Power BI eller andra klientverktyg.

  • Du måste ha behörighet att tilldela följande roller till hanterade identiteter som en del av distributionen:

    Azure RBAC-roll Noteringar
    Data Factory-deltagare Tilldelad till distributionsutlösarhanterarens identitet för att starta Data Factory-utlösare automatiskt.
    Läsare Tilldelad till Data Factory för att hantera data i lagringen.
    Delgivare av lagringskonto Tilldelad till Data Factory för att hantera data i lagringen.
    Bidragsgivare för Blob-lagringsdata Tilldelad till Data Factory och Data Explorer för att hantera data i lagring.
    Privilegierad deltagare för lagringsfildata Tilldelad till distributionsfilens uppladdningsidentitet som laddar upp filer till konfigurationscontainern.
    Administratör för användaråtkomst Tilldelad till Data Factory för att hantera data i lagringen.
  • Resursprovidern Microsoft.EventGrid måste vara registrerad i din prenumeration. Mer information finns i Registrera en resursprovider.

    Viktigt!

    Om du glömmer det här steget kommer distributionen att lyckas, men pipelineutlösaren kommer inte att startas och datan kommer inte att vara redo. Mer information finns i Felsöka Power BI-rapporter.


Parametrar

Här är de parametrar som du kan använda för att anpassa distributionen:

Parameter Typ Beskrivning Standardvärde
hubName Sträng Valfritt. Hubbens namn. Används för att säkerställa unika resursnamn. finops-hub
Plats Sträng Valfritt. Azure-plats där alla resurser ska skapas. Se https://aka.ms/azureregions. Samma som distribution
storageSku Sträng Valfritt. Lagrings-SKU som ska användas. LRS = Lägsta kostnad, ZRS = Hög tillgänglighet. Obs! Standard-SKU:er är inte tillgängliga för Data Lake gen2-lagring. Tillåten: Premium_LRS, Premium_ZRS. "Premium_LRS"
dataExplorerName Sträng Valfritt. Namnet på det Azure Data Explorer-kluster som ska användas för avancerad analys. Om det är tomt distribueras inte Azure Data Explorer. Krävs för användning med Power BI om du har mer än $2-5M/mo i kostnader som övervakas. Standard: "" (använd inte).
dataExplorerSkuName Sträng Valfritt. Namnet på Azure Data Explorer SKU. Standardinställning: "Dev(No SLA)_Standard_E2a_v4".
dataExplorerSkuTier Sträng Valfritt. SKU-nivå för Azure Data Explorer-klustret. Använd Basic för den lägsta kostnaden utan serviceavtal (på grund av en enda nod). Använd Standard för hög tillgänglighet och bättre prestanda. Tillåtna värden: Basic, Standard. Standardinställning: "Grundläggande".
dataExplorerSkuCapacity Int Valfritt. Antal noder som ska användas i klustret. Tillåtna värden: 1 för Basic SKU-nivån och 2–1 000 för Standard. Förval: 1.
tagg Objekt Valfritt. Taggar som ska tillämpas på alla resurser. Vi kommer också att lägga till taggen cm-resource-parent för förbättrade kostnadsuppslagningar i Cost Management.
tagsByResource Objekt Valfritt. Taggar som ska tillämpas på resurser baserat på deras resurstyp. Specifika taggar för resurstyp sammanfogas med taggar för alla resurser.
scopesToMonitor Samling Valfritt. Lista över omfångs-ID:n för att övervaka och registrera kostnader.
exportRetentionInDays Int Valfritt. Antal dagar med data som ska behållas i containern msexports. 0
ingestionRetentionInMonths Int Valfritt. Antal månader med data som ska behållas i inmatningscontainern. tretton
dataExplorerLogRetentionInDays Int Valfritt. Antal dagar med data som ska behållas i datautforskaren *_log tabeller. 0
dataExplorerSlutligLagringstidIMånader Int Valfritt. Antal månader med data som ska behållas i tabellerna i Datautforskaren *_final_v*. tretton
remoteHubStorageUri Sträng Valfritt. Lagringskonto för att skicka data till för inmatning till en fjärrhubb.
remoteHubStorageKey Sträng Valfritt. Lagringskontonyckel som ska användas vid överföring av data till en fjärrhubb.
aktivera offentlig åtkomst sträng Valfritt. Inaktivera offentlig åtkomst till datalagret (lagringsbrandväggen). Sann
virtuelltNätverksAdressPrefix Sträng Valfritt. IP-adressintervall för det privata virtuella nätverk som används av FinOps-hubbar. /26 rekommenderas för att undvika slöseri med IP-adresser. Internt skapas följande undernät: /28 för privata slutpunkter, ett annat /28 undernät för tillfälliga distributionsskript (containerinstanser) och /27 för Azure Data Explorer om det är aktiverat. '10.20.30.0/26'

Resurser

Följande resurser skapas i målresursgruppen under distributionen.

Resurser använder följande namngivningskonvention: <hubName>-<purpose>-<unique-suffix>. Namn justeras för att ta hänsyn till längd- och teckenbegränsningar. <unique-suffix> Används för att säkerställa att resursnamnen är globalt unika där det behövs.

  • <hubName>store<unique-suffix> lagringskonto (Data Lake Storage Gen2)
    • Blob-behållare
      • msexports – Lagrar tillfälligt Cost Management-exporter.
      • ingestion – Lagrar insamlad data.
      • config – Lagrar hubbmetadata och konfigurationsinställningar. Filer:
        • settings.json – Hubbinställningar.
        • schemas/focuscost_1.0.json – FOCUS 1.0-schemadefinition för parquet-konvertering.
        • schemas/focuscost_1.0-preview(v1).json – FOCUS 1.0-förhandsversionsschemadefinition för parquet-konvertering.
        • schemas/pricesheet_2023-05-01_ea.json – Schemadefinition av prisblad EA version 2023-05-01 för parquet omvandling.
        • schemas/pricesheet_2023-05-01_mca.json – Prisdokument MCA schemadefinition version 2023-05-01 för parquet-konvertering.
        • schemas/reservationdetails_2023-03-01.json – Schemadefinitionsversion av reservationsinformation 2023-03-01 för parquetkonvertering.
        • schemas/reservationrecommendations_2023-05-01_ea.json – Reservationsrekommendationer för EA-schemadefinition version 2023-05-01 för parquetkonvertering.
        • schemas/reservationrecommendations_2023-05-01_mca.json – Reservationsrekommendationer för MCA-schemadefinition version 2023-05-01 för parquet-konvertering.
        • schemas/reservationtransactions_2023-05-01_ea.json – Reservationstransaktioner EA-schemadefinition version 2023-05-01 för parquetkonvertering.
        • schemas/reservationtransactions_2023-05-01_mca.json – Reservationstransaktioner MCA Schemakodversion 2023-05-01 för parquet-konvertering.
  • <hubName>script<unique-suffix> lagringskonto (Data Lake Storage Gen2) för distributionsskript.
  • <hubName>-engine-<unique-suffix> Data Factory-instans
    • Rörledningar:
      • config_InitializeHub – Initierar (eller uppdaterar) FinOps Hub-instansen efter distributionen.
      • config_ConfigureExports – Skapar Cost Management-exporter för alla omfång.
      • config_StartBackfillProcess – Kör återfyllnadsuppgiften för varje månad baserat på kvarhållningsinställningar.
      • config_RunBackfillJob – Skapar och utlöser exporter för alla definierade omfång för det angivna datumintervallet.
      • config_StartExportProcess – Hämtar en lista över alla Cost Management-exporter som konfigurerats för den här hubben baserat på de omfång som definierats i settings.json och kör sedan varje export med hjälp av config_RunExportJobs pipeline.
      • config_RunExportJobs – Kör angivna Cost Management-exporter.
      • msexports_ExecuteETL – Ställer i kö pipelinen för att ta hänsyn till Datafabrikens pipeline-utlösargränser.
      • msexports_ETL_ingestion – Konverterar Cost Management-exporter till Parquet och tar bort duplicerade historiska data från varje dags export.
      • ingestion_ExecuteETL – Ställer i kö pipelinen för att ta hänsyn till Datafabrikens pipeline-utlösargränser.
      • ingestion_ETL_dataExplorer – Importerar parquetdata till ett Azure Data Explorer-kluster.
    • Utlösare:
      • config_SettingsUpdated – Utlöser pipelinen config_ConfigureExports när settings.json uppdateras.
      • config_DailySchedule – Utlöser pipelinen config_RunExportJobs dagligen för den aktuella månadens kostnadsdata.
      • config_MonthlySchedule – Utlöser pipelinen config_RunExportJobs varje månad för föregående månads kostnadsdata.
      • msexports_ManifestAdded – Utlöser pipelinen msexports_ExecuteETL när Cost Management-exporten slutförs.
      • ingestion_ManifestAdded – Utlöser ingestion_ExecuteETL pipeline när manifest.json filer läggs till (hanteras av msexports_ETL_ingestion pipeline).
    • Hanterade privata slutpunkter
      • <hubName>store<unique-suffix> – Hanterad privat slutpunkt för lagringskonto.
      • <hubName>-vault-<unique-suffix> – Hanterad privat slutpunkt för Azure Key Vault.
  • <hubName>-vault-<unique-suffix> Key Vault-instans (ingår endast när den distribueras som en fjärrhubb)
    • Hemligheter:
      • Den systemhanterade identiteten för Data Factory
  • <dataExplorerName> Data Explorer-kluster
    • Hub databas – synliga funktioner för att abstrahera interna detaljer.
      • Innehåller två uppsättningar funktioner:
        • Datauppsättningsspecifika funktioner för den senaste FOCUS-versionen som stöds (till exempel Costs, Prices).
        • Datauppsättningsspecifika funktioner för varje FOCUS-version som stöds (till exempel Costs_v1_0 för FOCUS 1.0). Dessa funktioner tillhandahålls för bakåtkompatibilitet. Alla funktioner returnerar alla data som är anpassade till den riktade FOCUS-versionen.
      • Datauppsättningar omfattar: Costs, Prices.
      • Focus-versioner som stöds är: v1_0.
    • Ingestion databas – Lagrar insamlad data.
      • Inställningar:
        • HubSettingsLog tabell – Lagrar en historik över konfigurationsändringar på hög nivå (till exempel versioner, omfång).
        • HubSettings funktion – Hämtar den senaste versionen av hubbinstansinställningarna.
        • HubScopes funktion – Hämtar de för närvarande konfigurerade omfången för den här hubbinstansen.
      • Öppna data:
        • PricingUnits tabell – PricingUnits mappningsfil från FinOps-verktygslådan. Används för datanormalisering och rensning.
        • Regions tabell – Regioners kartläggningsfil från FinOps-verktygset. Används för datanormalisering och rensning.
        • ResourceTypes tabell – ResourceTypes-mappningsfil från FinOps-verktygslådan. Används för datanormalisering och rensning.
        • Services tabell – tjänstermappningsfil från FinOps-verktyg. Används för datanormalisering och rensning.
        • resource_type funktion – Enkel funktion för att mappa interna resurstyps-ID:er för att visa namn baserat på ResourceTypes-mappningsfil.
          • Använd den här funktionen för att mappa ett enskilt värde och koppla med tabellen ResourceTypes för att uppdatera många rader eller mappa andra värden.
      • Datamängder:
        • <dataset>_raw tabell – Rådata direkt från inmatningskällan. Använder ett unionsschema för data från flera källor.
        • <dataset>_transform_vX_Y funktion – Normaliserar och rensar rådata för att justera mot den riktade FOCUS-versionen med hjälp av öppna datatabeller efter behov.
        • <dataset>_final_vX_Y tabell – Rensad version av motsvarande råtabell justerad efter den målversion av FOCUS. Fylls på genom en uppdateringsstrategi som använder motsvarande transformationsfunktion när data matas in i rådatatabeller.

Förutom föregående information skapas följande resurser för att automatisera distributionsprocessen. Distributionsskripten ska tas bort automatiskt. Ta dock inte bort de hanterade identiteterna eftersom det kan orsaka fel vid uppgradering till nästa version.

  • Hanterade identiteter:
  • Distributionsskript (tas bort automatiskt efter en lyckad distribution):
    • <datafactory>_deleteOldResources – Tar bort oanvända resurser från tidigare FinOps Hubs-distributioner.
    • <datafactory>_stopTriggers – Stoppar alla utlösare i hubben med hjälp av triggerManager-identiteten.
    • <datafactory>_startTriggers – Startar alla utlösare i hubben med hjälp av triggerManager-identiteten.
    • <storage>_uploadSettings – Laddar upp settings.json-filen med blobManager-identiteten.

Utdata

Här är utdata som genereras av distributionen:

Utdata Typ Beskrivning Värde
Namn Sträng Namnet på resursgruppen.
Plats Sträng Azure-resursplatsresurser distribuerades till.
dataFactoryName Sträng Namnet på Data Factory.
storageAccountId Sträng Resurs-ID för det distribuerade lagringskontot.
lagringskontonamn Sträng Namnet på lagringskontot som skapats för hubbinstansen. Detta måste användas när du ansluter FinOps toolkit Power BI-rapporter till dina data.
lagringsURLFörPowerBI Sträng URL som ska användas när du ansluter anpassade Power BI-rapporter till dina data.
clusterId Sträng Resurs-ID för Data Explorer-klustret.
clusterUri Sträng URI för Data Explorer-klustret.
ingestionDbName Sträng Namnet på datautforskarens databas som används för att mata in data.
hubDbName Sträng Namnet på datautforskarens databas som används för att fråga efter data.
managedIdentityId Sträng Objekt-ID för datafabrikens hanterade identitet. Detta behövs när du konfigurerar hanterade exporter.
managedIdentityTenantId Sträng Azure AD-klient-ID. Detta behövs när du konfigurerar hanterade exporter.

Lämna feedback

Låt oss veta hur det går med en snabb granskning. Vi använder dessa granskningar för att förbättra och utöka FinOps-verktyg och -resurser.

Om du letar efter något specifikt kan du rösta på en befintlig eller skapa en ny idé. Dela idéer med andra för att få fler röster. Vi fokuserar på idéer med flest röster.


Läs mer