共用方式為


FinOps 中樞範本

幕後查看組成 FinOps 中樞範本的內容,包括輸入和輸出。

此範本會建立新的 FinOps 中樞 實例。

FinOps 中樞包括:

  • 用來裝載成本數據的 Data Lake 記憶體。
  • 數據處理和協調流程的 Data Factory。
  • 用於儲存秘密的 金鑰保存庫。

重要

若要使用範本,您必須建立成本管理匯出,以將成本數據發佈至 msexports 內含記憶體帳戶中的容器。 如需詳細資訊,請參閱 建立新的中樞


必要條件

在部署範本之前,請確定符合下列必要條件:

  • 您必須具有下列許可權,才能建立 已部署的資源

    資源 最低 Azure RBAC
    部署及設定Data Factory Emc Data Factory 參與者
    部署 金鑰保存庫 Л Key Vault 參與者
    設定 金鑰保存庫 秘密ー Key Vault 管理員
    建立受控識別二者 受控識別參與者
    部署和設定記憶體 儲存體帳戶參與者
    將受控識別指派給資源*。 受控識別操作員
    建立部署腳本二次 Microsoft.Resources/deploymentScripts/write 包含 和 Microsoft.ContainerInstance/containerGroups/write 許可權的自定義角色作為允許的動作,或者 ,參與者,其中包括這些許可權和上述所有角色
    將許可權指派給受控識別 角色型 存取控制 系統管理員,或者,擁有者,包括此角色和上述所有角色
    建立訂用帳戶或資源群組成本導出 成本管理參與者
    建立EA計費成本匯出二次 企業讀者、部門讀者或註冊帳戶擁有者(深入瞭解
    建立 MCA 計費成本匯出二次 參與者
    讀取記憶體中的 Blob 數據 儲存體 Blob 資料參與者

    2. 資源群組範圍上指派中樞資源部署許可權就已足夠。
    您必須在您想要匯出成本的範圍上指派成本管理許可權。
    若要從 Power BI 或其他用戶端工具存取導出的成本數據,需要 2 個 Blob 數據許可權。

  • Microsoft.EventGrid 資源提供者必須在您的訂用帳戶中註冊。 如需詳細資訊,請參閱 註冊資源提供者

    重要

    如果您忘記此步驟,部署將會成功,但不會啟動管線觸發程式,且數據將無法就緒。 如需詳細資訊,請參閱 針對Power BI報表進行疑難解答。


參數

以下是可用來自定義部署的參數:

參數 類型 描述 預設值
hubName 字串 選擇性。 中樞的名稱。 用來確保唯一的資源名稱。 “finops-hub”
位置 字串 選擇性。 應建立所有資源的 Azure 位置。 請參閱 https://aka.ms/azureregions 與部署相同
skipEventGridRegistration bool 指出事件方格資源提供者是否已註冊(例如,在先前的中樞部署中)。 需要事件方格 RP 註冊。 如果未設定,則會建立暫存事件方格命名空間,以自動註冊資源提供者。 false (register RP)
EventGridLocation 字串 選擇性。 不支援主要位置時,用於暫存事件方格命名空間的 Azure 位置,以註冊Microsoft.EventGrid 資源提供者。 命名空間已刪除,且不會用於中樞作業。 location 相同
storageSku String 選擇性。 要使用的記憶體 SKU。 LRS = 最低成本,ZRS = 高可用性。 Data Lake gen2 記憶體無法使用標準 SKU。 允許: Premium_LRSPremium_ZRS "Premium_LRS"
標記 object 選擇性。 要套用至所有資源的標記。 也會新增標記 cm-resource-parent ,以改善成本管理中的成本積存。
tagsByResource object 選擇性。 要根據其資源類型套用至資源的標記。 資源類型特定標籤會與所有資源的標籤合併。
scopesToMonitor 陣列 選擇性。 要監視和內嵌成本的範圍標識碼清單。
exportRetentionInDays int 選擇性。 要保留在 ms-cm-exports 容器中的成本數據天數。 0
ingestionRetentionInMonths int 選擇性。 要保留在擷取容器中的成本數據月數。 13
remoteHubStorageUri 字串 選擇性。 要將數據推送至的記憶體帳戶,以便擷取至遠端中樞。
remoteHubStorageKey 字串 選擇性。 將數據推送至遠端中樞時要使用的記憶體帳戶金鑰。

資源

部署期間會在目標資源群組中建立下列資源。

資源會使用下列命名慣例: <hubName>-<purpose>-<unique-suffix>。 名稱會調整為考慮長度和字元限制。 <unique-suffix>是用來確保資源名稱在需要時全域是唯一的。

  • <hubName>store<unique-suffix> 記憶體帳戶 (Data Lake Storage Gen2)
    • Blob 容器:
      • msexports – 暫時儲存成本管理匯出。
      • ingestion – 儲存內嵌的數據。

        注意

        未來,我們將使用此容器在成本管理之外暫存外部數據。 - config – 儲存中樞元數據和組態設定。 檔案:

        • settings.json – 中樞設定。
        • schemas/focuscost_1.0.json – PARQUET 轉換的 FOCUS 1.0 架構定義。
        • schemas/focuscost_1.0-preview(v1).json – PARQUET 轉換的 FOCUS 1.0-preview 架構定義。
  • <hubName>-engine-<unique-suffix> Data Factory 實例
    • 管道:
      • msexports_ExecuteETL – 將 msexports_ETL_ingestion 管線排入佇列以考慮 Data Factory 管線觸發程式限制。
      • msexports_ETL_transform – 將成本管理導出轉換成 parquet,並移除每天匯出中重複的歷史數據。
      • config_ConfigureExports – 為所有範圍建立成本管理匯出。
      • config_StartBackfillProcess – 根據保留設定執行每個月的回填作業。
      • config_RunBackfillJob – 為指定日期範圍的所有已定義範圍建立和觸發導出。
      • config_StartExportProcess – 根據settings.json中定義的範圍,取得為此中樞設定的所有成本管理匯出清單,然後使用config_RunExportJobs管線執行每個匯出。
      • config_RunExportJobs – 執行指定的成本管理匯出。
      • msexports_ExecuteETL – 觸發成本管理導出的擷取程式,以考慮Data Factory管線觸發程式限制。
      • msexports_ETL_transform – 將成本管理導出轉換成 parquet,並移除每天匯出中重複的歷史數據。
    • 觸發器:
      • config_SettingsUpdated – 更新settings.json時觸發 config_ConfigureExports 管線。
      • config_DailySchedule – 觸發 config_RunExportJobs 當月成本數據的每日管線。
      • config_MonthlySchedule – 針對上個月的成本數據,每月觸發 config_RunExportJobs 管線。
      • msexports_FileAdded – 當成本管理導出完成時, msexports_ExecuteETL 觸發管線。
  • <hubName>-vault-<unique-suffix>金鑰保存庫 實例
    • 秘密:
      • Data Factory 系統受控識別

除了上述資訊之外,也會建立下列資源來自動化部署程式。 部署腳本應該會自動刪除。 不過,請勿刪除受控識別,因為它可能會在升級至下一個版本時造成錯誤。

  • 受控識別:
  • 部署文稿 (成功部署後自動刪除):
    • <datafactory>_deleteOldResources – 從先前的 FinOps 中樞部署中刪除未使用的資源。
    • <datafactory>_stopTriggers – 使用 triggerManager 身分識別停止中樞中的所有觸發程式。
    • <datafactory>_startTriggers – 使用 triggerManager 身分識別啟動中樞中的所有觸發程式。
    • <storage>_uploadSettings – 使用 blobManager 身分識別上傳settings.json檔案。

輸出

以下是部署所產生的輸出:

輸出 類型 描述
name String 已部署中樞實例的名稱。
位置 String 已部署 Azure 資源位置資源。 location
dataFactorytName String Data Factory 的名稱。 dataFactory.name
storageAccountId String 為中樞實例建立之記憶體帳戶的資源標識符。 建立成本管理匯出時必須使用它。 storage.outputs.resourceId
storageAccountName String 為中樞實例建立的記憶體帳戶名稱。 將 FinOps 工具組 Power BI 報表連接到您的數據時,必須使用它。 storage.outputs.name
storageUrlForPowerBI String 將自訂Power BI報表連接到資料時使用的URL。 'https://${storage.outputs.name}.dfs.${environment().suffixes.storage}/${storage.outputs.ingestionContainer}'
managedIdentityId String Data Factory 受控識別的物件標識碼。 設定 Managed 匯出時,需要此輸出。 dataFactory.identity.principalId
managedIdentityTenantId String Microsoft Entra 租用戶識別碼。 設定 Managed 匯出時,需要此輸出。 tenant().tenantId