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¹ Key Vault-deltagare
    Konfigurera Key Vault-hemligheter¹ Key Vault-administratör
    Skapa hanterad identitet¹ Hanterad identitetsdeltagare
    Distribuera och konfigurera lagring¹ Lagringskontodeltagare
    Tilldela hanterad identitet till resurser¹ Hanterad identitetsoperator
    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 prenumeration eller resursgruppskostnadsexport² Cost Management-deltagare
    Skapa en EA-faktureringskostnadsexport² Företagsläsare, avdelningsläsare eller ägare av registreringskonto (läs mer)
    Skapa en mca-faktureringskostnadsexport² Deltagare
    Läsa blobdata i storage³ Storage Blob datadeltagare

    ¹ Det räcker att tilldela distributionsbehörigheter för hubbar i resursgruppens omfång.
    ² Cost Management-behörigheter måste tilldelas i det omfång där du vill exportera dina kostnader från.
    ³ Blobdatabehörigheter krävs för åtkomst till exporterade kostnadsdata från Power BI eller andra klientverktyg.

  • 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 lyckas distributionen, men pipelineutlösaren startas inte och data kommer inte att vara klara. 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 String Valfritt. Hubbens namn. Används för att säkerställa unika resursnamn. "finops-hub"
Plats String Valfritt. Azure-plats där alla resurser ska skapas. Se https://aka.ms/azureregions. Samma som distribution
storageSku String 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 String 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 String Valfritt. Namnet på Azure Data Explorer SKU. Standardinställning: "Dev(No SLA)_Standard_E2a_v4".
dataExplorerSkuTier String 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. Standard: 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 Array Valfritt. Lista över omfångs-ID:er att övervaka och mata in kostnader för.
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. 13
dataExplorerLogRetentionInDays Int Valfritt. Antal dagar med data som ska behållas i datautforskaren *_log tabeller. 0
dataExplorerFinalRetentionInMonths Int Valfritt. Antal månader med data som ska behållas i tabellerna i Datautforskaren *_final_v*. 13
remoteHubStorageUri String Valfritt. Lagringskonto för att skicka data till för inmatning till en fjärrhubb.
remoteHubStorageKey String 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 datalake (lagringsbrandvägg). Falsk
virtuelltNätverksAdressPrefix String 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)
    • Blobcontainrar:
      • msexports – Lagrar tillfälligt Cost Management-exporter.
      • ingestion – Lagrar inmatade data.

        Kommentar

        I framtiden använder vi den här containern för att mellanlagra externa data utanför Cost Management. - 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/reservationdeatils_2023-03-01.json – Schemadefinitionsversion av reservationsinformation 2023-03-01 för parquetkonvertering.
        • schemas/reservationrecommendations_2023-05-01_ea.json – Reservationsrekommendationer EA-schemadefinition version 2023-05-01 för parquet-konvertering.
        • 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 återfyllnadsjobbet 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 – Köar pipelinen för att ta hänsyn till datafabrikens msexports_ETL_ingestion pipelineutlösargränser.
      • msexports_ETL_ingestion – Konverterar Cost Management-exporter till parquet och tar bort historiska data som dupliceras i varje dags export.
      • ingestion_ExecuteETL – Köar pipelinen för att ta hänsyn till datafabrikens ingestion_ETL_dataExplorer pipelineutlö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
    • Hemligheter:
      • Data Factory-systemhanterad identitet
  • <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 (t.ex. Costs, Prices).
        • Datauppsättningsspecifika funktioner för varje FOCUS-version som stöds (t.ex. 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å (t.ex. 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:
      • 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:

Output Typ Beskrivning Värde
Namn String Namnet på resursgruppen.
Plats String Azure-resursplatsresurser distribuerades till.
dataFactorytName String Namnet på Data Factory.
storageAccountId String Resurs-ID för det distribuerade lagringskontot.
storageAccountName String 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.
storageUrlForPowerBI String URL som ska användas när du ansluter anpassade Power BI-rapporter till dina data.
clusterId String Resurs-ID för Data Explorer-klustret.
clusterUri String URI för Data Explorer-klustret.
ingestionDbName String Namnet på datautforskarens databas som används för att mata in data.
hubDbName String Namnet på datautforskarens databas som används för att fråga efter data.
managedIdentityId String Objekt-ID för datafabrikens hanterade identitet. Detta behövs när du konfigurerar hanterade exporter.
managedIdentityTenantId String Azure AD-klient-ID. Detta behövs när du konfigurerar hanterade exporter.