次の方法で共有


FinOps ハブ テンプレート

バックグラウンドで、入力や出力など、FinOps ハブ テンプレートを構成するものを確認します。

このテンプレートは、新しい FinOps ハブ インスタンスを作成します。

FinOps ハブには次のものが含まれます。

  • コスト データをホストする Data Lake Storage。
  • データ処理とオーケストレーションのための Data Factory。
  • シークレットを格納するための Key Vault。

重要

テンプレートを使用するには、コスト データを含まれるストレージ アカウントの msexports コンテナーに発行する Cost Management エクスポートを作成する必要があります。 詳細については、「 新しいハブの作成」を参照してください。


前提条件

テンプレートをデプロイする前に、次の前提条件が満たされていることを確認します。


パラメーター

デプロイのカスタマイズに使用できるパラメーターを次に示します。

パラメーター 説明 規定値
hubName string 省略可能。 ハブの名前。 一意のリソース名を確保するために使用されます。 "finops-hub"
location string 省略可能。 すべてのリソースを作成する必要がある Azure の場所。 以下を参照してください。https://aka.ms/azureregions デプロイと同じ
skipEventGridRegistration [bool] Event Grid リソース プロバイダーが既に登録されているかどうかを示します (たとえば、以前のハブデプロイ)。 Event Grid RP の登録が必要です。 設定されていない場合は、リソース プロバイダーを自動登録するための一時的な Event Grid 名前空間が作成されます。 false (RP の登録)
EventGridLocation string 省略可能。 プライマリの場所がサポートされていない場合に Microsoft.EventGrid リソース プロバイダーを登録するために一時的な Event Grid 名前空間に使用する Azure の場所。 名前空間は削除され、ハブ操作には使用されません。 location と同じ
storageSku String 省略可能。 使用するストレージ SKU。 LRS = 最低コスト、ZRS = 高可用性。 Data Lake gen2 ストレージでは、Standard SKU を使用できません。 許可: Premium_LRSPremium_ZRS "Premium_LRS"
tags オブジェクト 省略可能。 すべてのリソースに適用するタグ。 cm-resource-parent タグも追加され、Cost Management のコストロールアップが向上します。
tagsByResource オブジェクト 省略可能。 リソースの種類に基づいてリソースに適用するタグ。 リソースの種類固有のタグは、すべてのリソースのタグとマージされます。
scopesToMonitor 配列 省略可能。 コストを監視および取り込むスコープ ID の一覧。
exportRetentionInDays int 省略可能。 ms-cm-exports コンテナーに保持するコスト データの日数。 0
ingestionRetentionInMonths int 省略可能。 インジェスト コンテナーに保持するコスト データの月数。 13
remoteHubStorageUri string 省略可能。 データをプッシュしてリモート ハブに取り込むストレージ アカウント。
remoteHubStorageKey string 省略可能。 リモート ハブにデータをプッシュするときに使用するストレージ アカウント キー。

リソース

デプロイ時に、ターゲット リソース グループに次のリソースが作成されます。

リソースでは、 <hubName>-<purpose>-<unique-suffix>という名前付け規則が使用されます。 名前は、長さと文字の制限を考慮して調整されます。 <unique-suffix>は、リソース名が必要に応じてグローバルに一意であることを確認するために使用されます。

  • <hubName>store<unique-suffix> ストレージ アカウント (Data Lake Storage Gen2)
    • BLOB コンテナー:
      • msexports – Cost Management のエクスポートを一時的に格納します。
      • ingestion – 取り込まれたデータを格納します。

        Note

        将来的には、このコンテナーを使用して、Cost Management の外部で外部データをステージングします。 - 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 – Data Factory パイプライン トリガーの制限を考慮するために、 msexports_ETL_ingestion パイプラインをキューに入れます。
      • msexports_ETL_transform – Cost Management のエクスポートを Parquet に変換し、各日のエクスポートで複製された履歴データを削除します。
      • config_ConfigureExports – すべてのスコープの Cost Management エクスポートを作成します。
      • config_StartBackfillProcess – 保持設定に基づいて、毎月のバックフィル ジョブを実行します。
      • config_RunBackfillJob – 指定した日付範囲に対して定義されているすべてのスコープのエクスポートを作成してトリガーします。
      • config_StartExportProcess – settings.jsonで定義されているスコープに基づいて、このハブ用に構成されているすべての Cost Management エクスポートの一覧を取得し、config_RunExportJobs パイプラインを使用して各エクスポートを実行します。
      • config_RunExportJobs – 指定した Cost Management エクスポートを実行します。
      • msexports_ExecuteETL – Data Factory パイプライントリガーの制限を考慮して、Cost Management エクスポートのインジェスト プロセスをトリガーします。
      • msexports_ETL_transform – Cost Management のエクスポートを Parquet に変換し、各日のエクスポートで複製された履歴データを削除します。
    • トリガー:
      • config_SettingsUpdated – settings.jsonが更新されたときに、 config_ConfigureExports パイプラインをトリガーします。
      • config_DailySchedule – 現在の月のコスト データに対して毎日、 config_RunExportJobs パイプラインをトリガーします。
      • config_MonthlySchedule – 前月のコスト データに対して毎月 config_RunExportJobs パイプラインをトリガーします。
      • msexports_FileAdded – Cost Management のエクスポートが完了したときに、 msexports_ExecuteETL パイプラインをトリガーします。
  • <hubName>-vault-<unique-suffix> Key Vault インスタンス
    • シークレット:
      • Data Factory システムマネージド ID

上記の情報に加えて、デプロイ プロセスを自動化するために次のリソースが作成されます。 デプロイ スクリプトは自動的に削除する必要があります。 ただし、次のリリースにアップグレードするときにエラーが発生する可能性があるため、マネージド ID を削除しないでください。

  • マネージド ID:
  • デプロイ スクリプト (デプロイが成功した後に自動的に削除):
    • <datafactory>_deleteOldResources – 以前の FinOps ハブデプロイから未使用のリソースを削除します。
    • <datafactory>_stopTriggers – triggerManager ID を使用して、ハブ内のすべてのトリガーを停止します。
    • <datafactory>_startTriggers – triggerManager ID を使用してハブ内のすべてのトリガーを開始します。
    • <storage>_uploadSettings – blobManager ID を使用してsettings.json ファイルをアップロードします。

出力

デプロイによって生成される出力を次に示します。

出力 説明
name String デプロイされたハブ インスタンスの名前。
location String Azure リソースの場所のリソースがデプロイされました。 location
dataFactorytName String Data Factory の名前。 dataFactory.name
storageAccountId String ハブ インスタンス用に作成されたストレージ アカウントのリソース ID。 Cost Management エクスポートの作成時に使用する必要があります。 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 マネージド ID のオブジェクト ID。 この出力は、マネージド エクスポートを構成するときに必要です。 dataFactory.identity.principalId
managedIdentityTenantId String Microsoft Entra テナント ID。 この出力は、マネージド エクスポートを構成するときに必要です。 tenant().tenantId