Dela via


FinOps-hubbmall

I bakgrunden tittar du på vad som utgör FinOps Hub-mallen, inklusive indata och utdata.

Den här mallen skapar en ny FinOps-hubbinstans .

FinOps-hubbar omfattar:

  • Data Lake Storage som värd för kostnadsdata.
  • Data Factory för databearbetning och orkestrering.
  • Key Vault för lagring av hemligheter.

Viktigt!

Om du vill använda mallen måste du skapa en Cost Management-export som publicerar kostnadsdata till containern msexports 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 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
skipEventGridRegistration bool Anger om Event Grid-resursprovidern redan har registrerats (till exempel i en tidigare hubbdistribution). Event Grid RP-registrering krävs. Om det inte anges skapas ett tillfälligt Event Grid-namnområde för att automatiskt registrera resursprovidern. false (registrera RP)
EventGridLocation sträng Valfritt. Azure-plats som ska användas för ett tillfälligt Event Grid-namnområde för att registrera resursprovidern Microsoft.EventGrid om den primära platsen inte stöds. Namnområdet tas bort och används inte för hubbåtgärd. Samma som location
storageSku String Valfritt. Lagrings-SKU som ska användas. LRS = Lägsta kostnad, ZRS = Hög tillgänglighet. Standard-SKU:er är inte tillgängliga för Data Lake gen2-lagring. Tillåten: Premium_LRS, Premium_ZRS. "Premium_LRS"
tagg objekt Valfritt. Taggar som ska tillämpas på alla resurser. Taggen cm-resource-parent läggs också till 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 matris Valfritt. Lista över omfångs-ID:er att övervaka och mata in kostnader för.
exportRetentionInDays heltal Valfritt. Antal dagar med kostnadsdata som ska behållas i containern ms-cm-exports. 0
ingestionRetentionInMonths heltal Valfritt. Antal månader med kostnadsdata som ska behållas i inmatningscontainern. 13
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.

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.
  • <hubName>-engine-<unique-suffix> Data Factory-instans
    • Rörledningar:
      • msexports_ExecuteETL – Köar pipelinen för att ta hänsyn till datafabrikens msexports_ETL_ingestion pipelineutlösargränser.
      • msexports_ETL_transform – Konverterar Cost Management-exporter till parquet och tar bort historiska data som dupliceras i varje dags export.
      • 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 – Utlöser inmatningsprocessen för Cost Management-exporter för att ta hänsyn till utlösargränser för Data Factory-pipeline.
      • msexports_ETL_transform – Konverterar Cost Management-exporter till parquet och tar bort historiska data som dupliceras i varje dags export.
    • 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_FileAdded – Utlöser pipelinen msexports_ExecuteETL när Cost Management-exporten slutförs.
  • <hubName>-vault-<unique-suffix> Key Vault-instans
    • Hemligheter:
      • Data Factory-systemhanterad identitet

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å den distribuerade hubbinstansen.
Plats String Azure-resursplatsresurser distribuerades till. location
dataFactorytName String Namnet på Data Factory. dataFactory.name
storageAccountId String Resurs-ID för lagringskontot som skapats för hubbinstansen. Den måste användas när du skapar Cost Management-exporten. storage.outputs.resourceId
storageAccountName String Namnet på lagringskontot som skapats för hubbinstansen. Den måste användas när du ansluter FinOps toolkit Power BI-rapporter till dina data. storage.outputs.name
storageUrlForPowerBI String URL som ska användas när du ansluter anpassade Power BI-rapporter till dina data. 'https://${storage.outputs.name}.dfs.${environment().suffixes.storage}/${storage.outputs.ingestionContainer}'
managedIdentityId String Objekt-ID för datafabrikens hanterade identitet. Dessa utdata behövs när du konfigurerar hanterade exporter. dataFactory.identity.principalId
managedIdentityTenantId String Microsoft Entra-klientorganisations-ID. Dessa utdata behövs när du konfigurerar hanterade exporter. tenant().tenantId