FinOps ハブでのデータの処理方法
FinOps ハブは、多くのデータ処理アクティビティを実行して、データのクリーンアップ、正規化、最適化を行います。 次のセクションでは、Cost Management からハブ インスタンスにデータがどのように流れるかを示します。
スコープの設定
スコープは、コスト、使用状況、炭素データへのアクセスを提供するクラウド リソースとアカウント階層内のレベルです。 FinOps ハブの場合は、通常、マイクロソフトエンタープライズ契約 (EA) 課金アカウントまたは Microsoft 顧客契約 (MCA) 課金プロファイルを使用することをお勧めしますが、基本的な分析にはクラウド スコープで十分です。 Cost Management では EA 課金アカウントと MCA 課金プロファイルのデータのみが公開されるため、価格と予約のデータが必要かどうかが主な懸念事項です。
FinOps ハブでは、Cost Management のエクスポートを手動で構成するか、FinOps ハブに代わってスコープを管理するためのアクセス権を付与することで、スコープの構成がサポートされます。 マネージド スコープは、ハブ ストレージの config/settings.json ファイルで構成されます。 この情報では、新しいマネージド スコープがこのファイルに追加された場合の動作について説明します。 コスト管理のエクスポートが手動で構成されているアンマネージド スコープでは、他のセットアップは必要ありません。
- settings.json ファイルが更新されると、config_SettingsUpdated トリガーが実行されます。
- config_ConfigureExports パイプラインは、追加された新しいスコープに対して新しいエクスポートを作成します。
データ インジェスト
データ インジェストは、次の 2 つの部分に分けることができます。
- ストレージにプッシュ データをエクスポートします。
- ハブはデータを処理して取り込みます。
マネージド スコープの場合、ハブは次の手順を実行します。
- config_DailyScheduleトリガーとconfig_MonthlySchedule トリガーは、それぞれのスケジュールで実行され、データ インジェストが開始されます。
- config_StartExportProcess パイプラインは、実行中のスケジュールに該当するエクスポートを取得します。
- config_RunExportJobs パイプラインは、選択した各エクスポートを実行します。
- Cost Management は、生のコストの詳細を msexports コンテナーにエクスポートします。 詳細情報。
エクスポートが実行されると、マネージドかアンマネージドかに関係なく、ハブは次の手順を実行します。
- msexports_ExecuteETL パイプラインは、ファイルがストレージに追加されると、抽出-変換-読み込み (ETL) プロセスを開始します。
- msexports_ETL_ingestion パイプラインは、データを Parquet 形式に変換し、スケーラブルなファイル構造を使用して ingestion コンテナーに移動します。 詳細情報。
- Power BI またはその他のツールは、 ingestion コンテナーからデータを読み取ります。
インジェストについて
FinOps ハブは、 ingestion コンテナー内の特定のフォルダー パスに依存します。
ingestion/{dataset}/{yyyy}/{mm}/{scope-id}
ingestion
は、データ パイプラインがデータを保存するコンテナーです。{dataset}
はエクスポートされたデータセットの種類です。{month}
は、エクスポートされたデータの年と月をyyyyMM
形式で指定します。{scope-id}
は、データのスコープの完全修飾リソース ID であることが期待されます。
ハブを使用して Azure 以外のデータを監視する必要がある場合は、データを FOCUS に変換し それを ingestion コンテナーにドロップします。 このプロセスは、最新リリースでは明示的にテストされていないことに注意してください。 問題が発生した場合は、問題 作成します。
エクスポートについて
FinOps ハブでは、Cost Management エクスポートを使用してコスト データを取得します。 Cost Management は、 msexports コンテナー内のエクスポートされたデータのフォルダー構造を制御します。 一般的なパスは次のようになります。
{container}/{path}/{date-range}/{export-name}/{export-time}/{guid}/{file}
0.4 の時点では、FinOps ハブはファイル パスに依存しません。 ハブはマニフェスト ファイルを使用して、スコープ、データセット、月などを識別します。ハブのパスの唯一の重要な部分はコンテナーです。コンテナーは msexports である必要があります。
警告
- ingestion コンテナーにデータをエクスポートしないでください。 エクスポートされた CSV must ハブ エンジンによって処理される msexports コンテナーに発行されます。
- カスタム データを取り込むには、FinOps ツールキットの Power BI レポートが期待どおりに動作するように、focus で配置された parquet ファイルを ingestion コンテナーに保存します。
エクスポート マニフェストは、API バージョンで変更できます。 API バージョンの 2023-07-01-preview
の例を次に示します。
{
"exportConfig": {
"exportName": "<export-name>",
"resourceId": "/<scope>/providers/Microsoft.CostManagement/exports/<export-name>",
"dataVersion": "<dataset-version>",
"apiVersion": "<api-version>",
"type": "<dataset-type>",
"timeFrame": "OneTime|TheLastMonth|MonthToDate",
"granularity": "Daily"
},
"deliveryConfig": {
"partitionData": true,
"dataOverwriteBehavior": "CreateNewReport|OverwritePreviousReport",
"fileFormat": "Csv",
"containerUri": "<storage-resource-id>",
"rootFolderPath": "<path>"
},
"runInfo": {
"executionType": "Scheduled",
"submittedTime": "2024-02-03T18:33:03.1032074Z",
"runId": "af754a8e-30fc-4ef3-bfc6-71bd1efb8598",
"startDate": "2024-01-01T00:00:00",
"endDate": "2024-01-31T00:00:00"
},
"blobs": [
{
"blobName": "<path>/<export-name>/<date-range>/<export-time>/<guid>/<file-name>.csv",
"byteCount": ###
}
]
}
FinOps ハブでは、次のプロパティを使用します。
exportConfig.resourceId
スコープを識別します。exportConfig.type
を使用してデータセットの種類を識別します。exportConfig.dataVersion
データセットのバージョンを識別します。runInfo.startDate
エクスポートされた月を識別します。
FinOps ハブでは、次のデータセットの種類、バージョン、API バージョンがサポートされています。
- FocusCost:
1.0
、1.0-preview(v1)
- PriceSheet:
2023-05-01
- ReservationDetails:
2023-03-01
- ReservationRecommendations:
2023-05-01
- ReservationTransactions:
2023-05-01
- API のバージョン:
2023-07-01-preview
FinOps Hubs v0.4-0.5
次の情報では、FinOps Hubs v0.4-0.5 でのデータの処理方法について説明します。
v0.4-0.5 でのスコープの設定
- settings.json ファイルが更新されると、config_SettingsUpdated トリガーが実行されます。
- config_ConfigureExports パイプラインは、追加された新しいスコープに対して新しいエクスポートを作成します。
v0.4-0.5 でのデータ インジェスト
マネージド スコープの場合:
- config_DailyScheduleトリガーとconfig_MonthlySchedule トリガーは、それぞれのスケジュールで実行され、データ インジェストが開始されます。
- config_ExportData パイプラインは、実行中のスケジュールに適用可能なエクスポートを取得します。
- config_RunExports パイプラインは、選択した各エクスポートを実行します。
- Cost Management は、生のコストの詳細を msexports コンテナーにエクスポートします。 詳細については、「 v04-05 でのエクスポートについてを参照してください。
エクスポートが完了した後、マネージド スコープとアンマネージド スコープの両方について、次の操作を行います。
- msexports_ExecuteETL パイプラインは、ファイルがストレージに追加されると、抽出-変換-読み込み (ETL) プロセスを開始します。
- msexports_ETL_ingestion パイプラインは、データを標準スキーマに変換し、生データを parquet 形式で ingestion コンテナーに保存します。 詳細については、「 v04-05 での取り込みについてを参照してください。
- Power BI は、 ingestion コンテナーからコスト データを読み取ります。
v0.4-0.5 でのインジェストについて
FinOps ハブは、 ingestion コンテナー内の特定のフォルダー パスに依存します。
ingestion/{dataset}/{yyyy}/{mm}/{scope-id}
ingestion
は、データ パイプラインがデータを保存するコンテナーです。{dataset}
はエクスポートされたデータセットの種類です。{month}
は、エクスポートされたデータの年と月をyyyyMM
形式で指定します。{scope-id}
は、データのスコープの完全修飾リソース ID であることが期待されます。
ハブを使用して Azure 以外のデータを監視する必要がある場合は、データを FOCUS に変換し それを ingestion コンテナーにドロップします。 このプロセスは、最新リリースでは明示的にテストされていませんでした。 問題が発生した場合は、問題 作成します。
v0.4-0.5 でのエクスポートについて
FinOps ハブでは、Cost Management エクスポートを使用してコスト データを取得します。 Cost Management は、 msexports コンテナー内のエクスポートされたデータのフォルダー構造を制御します。 一般的なパスは次のようになります。
{container}/{path}/{date-range}/{export-name}/{export-time}/{guid}/{file}
0.4 の時点では、FinOps ハブはファイル パスに依存しません。 ハブはマニフェスト ファイルを使用して、スコープ、データセット、月などを識別します。 ハブのパスの唯一の重要な部分はコンテナーです。コンテナーは msexports である必要があります。
Note
ingestion コンテナーにデータをエクスポートしないでください。 エクスポートされた CSV must ハブ エンジンによって処理される msexports コンテナーに発行されます。
カスタム データを取り込むには、FinOps ツールキットの Power BI レポートが期待どおりに動作するように、focus で配置された parquet ファイルを ingestion コンテナーに保存します。
エクスポート マニフェストは、API バージョンで変更できます。 API バージョンの 2023-07-01-preview
の例を次に示します。
{
"exportConfig": {
"exportName": "<export-name>",
"resourceId": "/<scope>/providers/Microsoft.CostManagement/exports/<export-name>",
"dataVersion": "<dataset-version>",
"apiVersion": "<api-version>",
"type": "<dataset-type>",
"timeFrame": "OneTime|TheLastMonth|MonthToDate",
"granularity": "Daily"
},
"deliveryConfig": {
"partitionData": true,
"dataOverwriteBehavior": "CreateNewReport|OverwritePreviousReport",
"fileFormat": "Csv",
"containerUri": "<storage-resource-id>",
"rootFolderPath": "<path>"
},
"runInfo": {
"executionType": "Scheduled",
"submittedTime": "2024-02-03T18:33:03.1032074Z",
"runId": "af754a8e-30fc-4ef3-bfc6-71bd1efb8598",
"startDate": "2024-01-01T00:00:00",
"endDate": "2024-01-31T00:00:00"
},
"blobs": [
{
"blobName": "<path>/<export-name>/<date-range>/<export-time>/<guid>/<file-name>.csv",
"byteCount": ###
}
]
}
FinOps ハブでは、次のプロパティを使用します。
exportConfig.resourceId
スコープを識別します。exportConfig.type
を使用してデータセットの種類を識別します。exportConfig.dataVersion
データセットのバージョンを識別します。runInfo.startDate
エクスポートされた月を識別します。
FinOps ハブでは、次のデータセットの種類、バージョン、API バージョンがサポートされています。
- FocusCost:
1.0
、1.0-preview(v1)
- PriceSheet:
2023-05-01
- ReservationDetails:
2023-03-01
- ReservationRecommendations:
2023-05-01
- ReservationTransactions:
2023-05-01
- API のバージョン:
2023-07-01-preview
FinOps Hubs v0.2-0.3
次の手順では、FinOps Hubs バージョン 0.2-0.3 を使用してコスト データをエクスポートおよび処理するプロセスについて説明します。
- Cost Management は、生のコストの詳細を msexports コンテナーにエクスポートします。 詳細については、「 エクスポートについてを参照してください。
- msexports_ExecuteETL パイプラインは、ファイルがストレージに追加されると、抽出-変換-読み込み (ETL) プロセスを開始します。
- msexports_ETL_ingestion パイプラインは、エクスポートされたデータを parquet 形式で ingestion コンテナーに保存します。 詳細については、「 エクスポートについてを参照してください。
- Power BI は、 ingestion コンテナーからコスト データを読み取ります。
FinOps Hubs 0.2-0.3 では、エクスポート パスを使用して、エクスポートされたスコープと月を決定します。 パスの更新によってデータ パイプラインが中断される可能性がある場合は、この点が重要です。 この問題を回避するには、FinOps Hubs 0.4 に更新することをお勧めします。 想定されるパスは次のようになります。
msexports/{scope-id}/{export-name}/{date-range}/{export-time}/{guid}/{file}
msexports
は、エクスポートで指定されたコンテナーです。{scope-id}
は、エクスポートで指定されたフォルダー パスです。Hubs 0.3 以前では、これを使用して、データの取得元のスコープを特定します。 スコープ ID を使用することをお勧めしますが、任意の値を使用できます。 スコープ ID の例を次に示します。
[スコープの種類] 例値 サブスクリプション /subscriptions/###
Resource group /subscriptions/###/resourceGroups/###
請求先アカウント /providers/Microsoft.Billing/billingAccounts/###
請求プロファイル /providers/Microsoft.Billing/billingAccounts/###/billingProfiles/###
{export-name}
はエクスポートの名前です。ハブはこのフォルダーを無視します。
{date-range}
は、エクスポートされる日付範囲データです。Hubs 0.3 以前では、これを使用して月を識別します。 このフォルダーの形式は
yyyyMMdd-yyyyMMdd
。 Hubs 0.4 では、代わりにマニフェストが使用されます。{export-time}
は、エクスポートが実行されたときのタイムスタンプです。ハブはこれを無視します。 このフォルダーの形式は
yyyyMMddHHmm
。{guid}
は一意の GUID であり、常に存在するとは限りません。ハブはこれを無視します。 Cost Management には、常にこのフォルダーが含まれているとは限りません。 含めるかどうかは、エクスポートの作成に使用される API バージョンによって異なります。
{file}
はマニフェストまたはエクスポートされたデータです。バージョン 0.3 以前ではマニフェスト ファイルが無視され、 *.csv ファイルのみが監視されます。 今後のリリースでは、ハブによってマニフェストが監視されます。
FinOps hubs v0.1
次の手順では、FinOps Hubs バージョン 0.1 を使用してコスト データをエクスポートおよび処理するプロセスについて説明します。
- Cost Management は、生のコストの詳細を msexports コンテナーにエクスポートします。
- msexports_transform パイプラインは、生データを parquet 形式で ingestion コンテナーに保存します。
- Power BI は、 ingestion コンテナーからコスト データを読み取ります。