Cost Management エクスポートを手動で構成するか、FinOps ハブにエクスポートを管理するためのアクセス権を付与することで、FinOps ハブを課金アカウントとサブスクリプションに接続します。
FinOps ハブでは、Cost Management のエクスポートを使用して、監視する課金アカウントとサブスクリプションのコスト データをインポートします。 Cost Management のエクスポートを手動で構成するか、FinOps ハブにアクセス権を付与してエクスポートを管理することができます。
前提条件
開始する前に、以下が必要になります。
このチュートリアルでは、次の間接コストが発生します。
- Cost Management のエクスポートには直接コストはありませんが、データをストレージにプッシュします。この場合、格納されている GB の数のコストが発生します。
- エクスポートが完了すると、Data Factory パイプラインでデータの処理が開始され、パイプラインの実行時間のコストが発生します。
Cost Management のエクスポートについて
Cost Management には、次の 5 種類のエクスポートが用意されています。
- コストと使用状況の詳細 (FOCUS)
- FinOps Open Cost and Usage Specification (FOCUS) プロジェクトで定義されているように、コストと使用状況の詳細ファイルの FOCUS バージョンを使用して、すべてのコストをエクスポートします。
- インジェスト コンテナー内の Costs フォルダーにマップされます。
- 価格シート
- Azure サービスの価格をエクスポートします。
- インジェスト コンテナー内の Prices フォルダーにマップされます。
- 予約の詳細
- 使用済みおよび未使用の予約時間を含む、Azure サービスの予約の詳細をエクスポートします。
- インジェスト コンテナー内の CommitmentDiscountUsage フォルダーにマップされます。
- 予約に関する推奨事項
- すべての予約の推奨事項の詳細をエクスポートして節約します。 節約額は、交渉済みまたは割引済み (該当する場合) の価格に加えて計算されます。
- インジェスト コンテナー内の Recommendations フォルダーにマップされます。
- 予約トランザクション
- 購入した Azure 予約の予約トランザクションをエクスポートします。
- インジェスト コンテナー内の Transactions フォルダーにマップされます。
FinOps ハブでは、次のデータセットの種類、バージョン、API バージョンがサポートされています。
- FocusCost: 1.0r2、1.0、1.0-preview(v1)
- 価格表: 2023年05月01日
- 予約詳細:2023年03月01日
- 予約推奨事項: 2023-05-01
- 予約取引: 2023年5月1日
- API バージョン: 2023-07-01-preview
最もシームレスなエクスペリエンスを実現するために、 FinOps ハブでエクスポートを管理 できるようにすることをお勧めします。 このオプションでは、時間の経過と同時に維持するために最小限の労力が必要です。 Cost Management では、Microsoft 顧客契約の課金アカウントまたは課金プロファイルの管理されたエクスポートはサポートされないことに注意してください。
エクスポートを手動で構成する
スコープのアクセス許可を付与できない場合は、Cost Management エクスポートを手動で作成して同じ目標を達成できます。
- データ エクスポートのスコープを決定します。
- 価格シートや予約の推奨事項など、追加のデータセットにアクセスするには、 EA 課金アカウント または MCA 課金プロファイル スコープからエクスポートすることをお勧めします。
- 不足している価格とコストを設定するには、価格シートのエクスポートが必要です。
- 予約の推奨事項のエクスポートは、レート最適化の [予約の推奨事項] ページで使用されます。
- 選択した課金スコープでサポートされているエクスポートの種類ごとに、毎日のエクスポートを作成することをお勧めします。
- エンタープライズ契約課金アカウント: フォーカスコスト、プライスシート、予約トランザクション、予約詳細、予約推奨
- Microsoft 顧客契約の請求プロファイル: フォーカスコスト、価格表、予約取引、予約詳細、予約推奨事項
- サブスクリプション: FocusCosts
- 次の設定を使用して、新しい FOCUS コスト エクスポートを作成します。
-
データの種類 =
Cost and usage details (FOCUS)¹ -
データセットのバージョン =
1.0または1.0r2² -
Frequency =
Daily export of month-to-date costs² - ストレージ アカウント = (ハブと共にデプロイされたサブスクリプション/リソースを使用)
-
コンテナー =
msexports -
形式 =
Parquet(使用可能な場合) -
圧縮タイプ =
Snappy(使用可能な場合) -
Directory = (このスコープの一意のパスを指定します⁵)
-
EA 課金アカウント:
billingAccounts/{enrollment-number} -
MCA 課金プロファイル:
billingProfiles/{billing-profile-id} -
サブスクリプション:
subscriptions/{subscription-id} -
[リソース グループ]
subscriptions/{subscription-id}/resourceGroups/{rg-name}:
-
EA 課金アカウント:
- ファイルのパーティション分割 = オン
- データの上書き = Off⁴
-
データの種類 =
-
Frequencyを
Monthly export of last month's costsに設定する以外は、同じ設定で別のエクスポートを作成します。 - レポートに含めるその他のデータのエクスポートを作成します。
- サポートされているデータセットとバージョン:
- 価格シート
2023-05-01- Azure Data Explorer を使用する場合、不足している価格/コストを設定し、節約額を計算するために必要です。
- 予約の詳細
2023-03-01 - 予約に関する推奨事項
2023-05-01- 仮想マシンの予約に関する推奨事項は、レート最適化レポートの [予約の推奨事項] ページで必要です。 エクスポートを作成しない場合、ページは空になります。
- 予約トランザクション
2023-05-01
- 価格シート
- サポートされている形式: Parquet (優先) または CSV
- サポートされる圧縮: Snappy (優先)、GZip、または非圧縮
- サポートされているデータセットとバージョン:
- データセットを初期化するには、エクスポートを実行します。
- エクスポートは、最初に作成された後に表示されるまでに最大 1 日かかる場合があります。
- [Cost Management Exports]\(コスト管理のエクスポート\) ページの上部にある Run now コマンドを使用します。
- アカウントの規模に応じて、15 分以内にデータを利用できる必要があります。
- データをバックフィルする場合は、エクスポートの詳細を開き、[ 選択した日付のエクスポート ] コマンドを選択して一度に 1 か月ずつエクスポートするか 、Start-FinOpsCostExport PowerShell コマンド を使用して、
-Backfillパラメーターまたは特定の開始日と終了日のいずれかで、より大きな日付範囲をエクスポートします。
- 監視するスコープごとに手順 1 から 4 を繰り返します。
¹ FinOps ハブ 0.2 以降には、FOCUS コスト データが必要です。 2024 年 7 月の時点で、FOCUS コスト データをエクスポートするオプションには、Azure portal の中央の Cost Management エクスペリエンスからのみアクセスできます。 このオプションが表示されない場合は、「コスト管理エクスポート」を検索するか、それに移動してください。
² FOCUS 1.0r2 と 1.0 の違いは、日付列に秒を含めることだけです。 データを取り込むシステムに秒が必要ない場合は、既存の 1.0 エクスポートを変更して 1.0r2 を活用する必要はありません。
² 日次エクスポートの構成は、現在の月に開始されます。
⁴ ほとんどの設定が必要ですが、上書きは省略可能です。 ファイルを上書きしないようにお勧めします。そのためには、Data インジェストレポートを使用してインジェスト パイプラインを監視することができます。 そのレポートを使用する予定がない場合は、上書きを有効にします。
⁵ エクスポート パスには任意の値を指定できますが、スコープごとに一意である必要があります。 サブスクリプションや課金アカウントなど、ソース スコープを識別するパスを使用することをお勧めします。 2 つのスコープが同じパスを共有している場合は、インジェスト エラーが発生する可能性があります。
マネージド エクスポートを構成する
マネージド エクスポートを使用すると、FinOps ハブで Cost Management のエクスポートを設定および管理できます。 マネージド エクスポートを有効にするには、監視する各スコープのデータを読み取るアクセス権を Azure Data Factory に付与する必要があります。
注意
マネージド エクスポートは、FinOps ハブ 0.4 以降でのみ使用できます。
マネージド エクスポートでは、マネージド ID (MI) を使用してエクスポートが自動的に構成されます。 設定するには、次の手順に従います。
Azure Data Factory へのアクセス権を付与します。
- FinOps ハブ リソース グループから、 Deployments>hub>Outputs に移動し、 managedIdentityId と managedIdentityTenantId の値を書き留めます。 次の手順で使用します。
- 監視する各スコープにアクセス権を割り当てるには、次のガイドを使用します。
- EA 登録 – 登録閲覧者ロールのアクセス許可を割り当てます。
- EA 部署 – 部署閲覧者ロールのアクセス許可を割り当てます。
- サブスクリプションとリソース グループ – Azure portal を使用して Azure ロールを割り当。
目的のスコープを追加します。
- FinOps ハブ リソース グループからストレージ アカウントを開き、 Storage ブラウザー>Blob コンテナー>configに移動します。
- settings.json ファイルを選択し、⋯>View/edit を選択してファイルを開きます。
- scopesプロパティを更新して、監視するスコープを含めます。 詳細については、スコープの例 Settings.json参照してください。
- Save コマンドを選択して変更を保存します。 FinOps ハブは数分以内に変更を処理し、アカウントのサイズに応じて 30 分以内にデータを使用できるようにする必要があります。
重要
重複または重複するスコープを追加しないでください。これにより、データが重複する可能性があります。
履歴データをバックフィルします。
新しいスコープを構成するとすぐに、FinOps ハブは現在および将来のコストの監視を開始します。 履歴データをバックフィルするには、いくつかのオプションがあります。
オプション 1: config_RunBackfillJob パイプラインの使用
エクスポート後に履歴データを処理するには、 config_RunBackfillJob パイプラインを使用します。 Azure Data Factory パイプラインの実行の詳細については、「 Azure Data Factory パイプライン」を参照してください。
Azure portal からパイプラインを実行するには:
- FinOps ハブ リソース グループから Data Factory インスタンスを開き、 Launch Studio を選択し、 Author>Pipelines>config_RunBackfillJob に移動します。
- コマンド バーで Debug を選択してパイプラインを実行します。 合計実行時間は、監視している保有期間とスコープの数によって異なります。
PowerShell からパイプラインを実行するには:
Get-AzDataFactoryV2 ` -ResourceGroupName "{hub-resource-group}" ` -ErrorAction SilentlyContinue ` | ForEach-Object { Invoke-AzDataFactoryV2Pipeline ` -ResourceGroupName $_.ResourceGroupName ` -DataFactoryName $_.DataFactoryName ` -PipelineName 'config_RunBackfillJob' }オプション 2: Cost Management エクスポートの使用
Cost Management UI を使用して、複数の月のデータを直接バックフィルできます。 エクスポートの詳細については、 Cost Management のエクスポートに関するドキュメントを参照してください。
- Azure portal を開き、 Cost Management>Exports に移動します。
- FinOps ハブによって作成されたマネージド エクスポートを選択します。
- 上部のメニューから [ 選択した日付をエクスポート] を選択します。
- バックフィルする日付範囲を選択します (一度に複数の月を指定できます)。
- [ 実行 ] を選択してエクスポートを開始します。
オプション 3: powerShell コマンド Start-FinOpsCostExport 使用する
大きな日付範囲をバックフィルする最も効率的な方法は、 Start-FinOpsCostExport PowerShell コマンドを使用することです。 PowerShell を使用した Cost Management の操作については、「 Cost Management コマンドレット」を参照してください。
# Backfill the previous 12 months for a specific export Start-FinOpsCostExport -Name 'ftk-monthly-costdetails' ` -Scope '/providers/Microsoft.Billing/billingAccounts/1234567/departments/56789' ` -Backfill 12 # Or specify a specific date range Start-FinOpsCostExport -Name 'ftk-monthly-costdetails' ` -Scope '/providers/Microsoft.Billing/billingAccounts/1234567/departments/56789' ` -StartDate '2023-01-01' -EndDate '2023-12-31'このコマンドは、一度に複数の月のデータのエクスポートを処理し、発生する可能性のある API 調整の問題を処理します。
Settings.json スコープの例
EA 課金アカウント
"scopes": [ { "scope": "/providers/Microsoft.Billing/billingAccounts/1234567" } ]EA 部署
"scopes": [ { "scope": "/providers/Microsoft.Billing/billingAccounts/1234567/departments/56789" } ]サブスクリプション
"scopes": [ { "scope": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e" } ]複数のサブスクリプション
"scopes": [ { "scope": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e" }, { "scope": "subscriptions/bbbb1b1b-cc2c-dd3d-ee4e-ffffff5f5f5f" } ]リソース グループ
"scopes": [ { "scope": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/ftk-finops-hub" } ]
PowerShell を使用してエクスポートを構成する
FinOps ツールキット PowerShell モジュールを初めて使用する場合は、 PowerShell デプロイ ガイドを参照してモジュールをインストールしてください。
FinOps ツールキット PowerShell モジュールをインストールします。
Import-Module -Name FinOpsToolkitエクスポートを作成し、今すぐ実行して、最大 12 か月間のデータをバックフィルします。
New-FinOpsCostExport -Name 'ftk-FinOpsHub-costs' ` -Scope "{scope-id}" ` -StorageAccountId "{storage-resource-id}" ` -Backfill 12 ` -Execute
フィードバックを送る
クイック レビューを使用して、どのように取り組んでいるかをお知らせください。 これらのレビューを使用して、FinOps のツールとリソースを改善および拡張します。
特定の情報をお探しの場合は、既存のアイデアに投票するか、新しいアイデアを作成してください。 他のユーザーとアイデアを共有して、投票を増やしましょう。 投票数が最も多いアイデアに焦点を当てています。