次の方法で共有


スコープを構成する

Cost Management エクスポートを手動で構成するか、FinOps ハブにエクスポートを管理するためのアクセス権を付与することで、FinOps ハブを課金アカウントとサブスクリプションに接続します。

FinOps ハブでは、Cost Management のエクスポートを使用して、監視する課金アカウントとサブスクリプションのコスト データをインポートします。 1 つの FinOps ハブ インスタンス内で、複数の課金アカウント、サブスクリプション、さらには他のクラウド プロバイダーからのデータを構成できます。 Cost Management のエクスポートを手動で構成するか、FinOps ハブにアクセス権を付与してエクスポートを管理することができます。


マルチスコープとマルチクラウドの機能

FinOps ハブは、複数のスコープと、複数のクラウド プロバイダーからのデータを処理するように設計されています。

  • 複数の Azure スコープ: 1 つの FinOps ハブを構成して、複数の EA 課金アカウント、MCA 課金プロファイル、サブスクリプション、およびリソース グループを同時に監視できます。
  • クラウド間のサポート: FinOps ハブでは 、FinOps Open Cost and Usage Specification (FOCUS) がサポートされています。これにより、AWS、Google Cloud などの他のクラウド プロバイダーからのコスト データの取り込みを可能にします。
  • 拡張可能なプラットフォーム: オープン アーキテクチャを使用すると、FinOps ハブを拡張して、標準のクラウド課金データ以外のカスタム データ ソースを取り込むことができます。

ヒント

複数のスコープを構成する場合は、データの競合を回避するために、エクスポート内の各スコープに一意のディレクトリ パスがあることを確認します。 詳細な構成ガイダンスについては、「 Settings.json スコープの例 」セクションを参照してください。

Warnung

重複するエクスポート スコープを構成することは、コスト データの重複につながるので避けてください。 たとえば、同じサブスクリプションに対して課金アカウント レベルのエクスポートとサブスクリプション レベルのエクスポートの両方を構成した場合、そのサブスクリプションのコストはハブで重複します。 エクスポート スコープが相互に排他的であることを常に確認してください。


前提条件

開始する前に、以下が必要になります。

このチュートリアルでは、次の間接コストが発生します。

  • Cost Management のエクスポートには直接コストはありませんが、データをストレージにプッシュします。この場合、格納されている GB の数のコストが発生します。
  • エクスポートが完了すると、Data Factory パイプラインでデータの処理が開始され、パイプラインの実行時間のコストが発生します。

課金アカウントとスコープ ID を検索する

エクスポートを構成する前に、監視する課金アカウントとスコープ ID を特定する必要があります。 特定の ID 形式は、課金アカウントの種類によって異なります。

Enterprise Agreement (EA) アカウント

EA アカウントの場合は、登録番号 (課金アカウント ID) が必要です。

  1. Azure portal にサインインします。
  2. [コストの管理と請求] を検索して選択します。
  3. 左側のメニューから [ 課金スコープ ] を選択します。
  4. ご自分の請求先アカウントを選択します。
  5. [ プロパティ ] ページで、 課金アカウント ID (登録番号) をコピーします。
    • 課金アカウントのスコープには、次の形式を使用します。 /providers/Microsoft.Billing/billingAccounts/{enrollment-number}
    • 部署の場合は、部門 ID を追加します。 /providers/Microsoft.Billing/billingAccounts/{enrollment-number}/departments/{department-id}

Microsoft 顧客契約 (MCA) のアカウント

MCA アカウントの場合は、課金アカウントではなく、課金プロファイルを使用してエクスポートを設定する必要があります。 課金プロファイル ID が必要です。

  1. Azure portal にサインインします。
  2. [コストの管理と請求] を検索して選択します。
  3. 左側のメニューから [ 課金スコープ ] を選択します。
  4. 課金アカウントを選択し、監視する課金プロファイルを選択します。
  5. [課金プロファイルの プロパティ] ページで、 課金プロファイル ID をコピーします。
    • 次の形式を使用します。 /providers/Microsoft.Billing/billingAccounts/{billing-account-id}/billingProfiles/{billing-profile-id}

重要

MCA コントラクトの場合は、常に課金アカウントのスコープではなく、エクスポートの課金プロファイル スコープを使用します。 特定のデータセット (価格シート、予約の推奨事項、予約の詳細) は、課金プロファイル レベルでのみ使用できます。

サブスクリプションとリソース グループ

サブスクリプションとリソース グループの場合:

  1. Azure portal にサインインします。
  2. サブスクリプションを検索して選択します。
  3. 監視するサブスクリプションを選択します。
  4. [ 概要 ] ページで、 サブスクリプション ID をコピーします
    • サブスクリプション スコープの場合: /subscriptions/{subscription-id}
    • リソース グループ スコープの場合: /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}

課金アカウントとスコープ情報の検索の詳細については、「 Azure portal ですべての課金アカウントを表示する」を参照してください。


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 エクスポートを手動で作成して同じ目標を達成できます。

  1. データ エクスポートのスコープを決定します。

    • 課金アカウントとスコープ ID の検索の詳細については、「 課金アカウントとスコープ ID の検索」を参照してください。
    • 価格シートや予約の推奨事項など、追加のデータセットにアクセスするには、 EA 課金アカウント または MCA 課金プロファイル スコープからエクスポートすることをお勧めします。
    • 不足している価格とコストを設定するには、価格シートのエクスポートが必要です。
    • 予約の推奨事項のエクスポートは、レート最適化の [予約の推奨事項] ページで使用されます。

    重要

    Microsoft 顧客契約のスコープ要件 (MCA)

    MCA コントラクトの場合、特定のデータセットは 課金プロファイル レベルでのみ使用でき、課金アカウント レベルでは使用できません。

    • 価格シートのデータ
    • 予約の推奨事項
    • 予約の詳細

    これらのエクスポートには、課金プロファイル スコープ (/providers/Microsoft.Billing/billingAccounts/###/billingProfiles/###) を使用する必要があります。 これはコスト管理の制限です。

    • 選択した課金スコープでサポートされているエクスポートの種類ごとに、毎日のエクスポートを作成することをお勧めします。
      • エンタープライズ契約課金アカウント: フォーカスコスト、プライスシート、予約トランザクション、予約詳細、予約推奨
      • Microsoft 顧客契約の請求プロファイル: フォーカスコスト、価格表、予約取引、予約詳細、予約推奨事項
      • サブスクリプション: FocusCosts
  2. 次の設定を使用して、新しい 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} :
    • ファイルのパーティション分割 = オン
    • データの上書き = Off⁴
  3. FrequencyMonthly export of last month's costsに設定する以外は、同じ設定で別のエクスポートを作成します。

  4. レポートに含めるその他のデータのエクスポートを作成します。

    • サポートされているデータセットとバージョン:
      • 価格シート 2023-05-01
        • Azure Data Explorer を使用する場合、不足している価格/コストを設定し、節約額を計算するために必要です。
      • 予約の詳細 2023-03-01
      • 予約に関する推奨事項 2023-05-01
        • 仮想マシンの予約に関する推奨事項は、レート最適化レポートの [予約の推奨事項] ページで必要です。 エクスポートを作成しない場合、ページは空になります。
      • 予約トランザクション 2023-05-01
    • サポートされている形式: Parquet (優先) または CSV
    • サポートされる圧縮: Snappy (優先)、GZip、または非圧縮
  5. データセットを初期化するには、エクスポートを実行します。

    • エクスポートは、最初に作成された後に表示されるまでに最大 1 日かかる場合があります。
    • [Cost Management Exports]\(コスト管理のエクスポート\) ページの上部にある Run now コマンドを使用します。
    • アカウントの規模に応じて、15 分以内にデータを利用できる必要があります。
    • データをバックフィルする場合は、エクスポートの詳細を開き、[ 選択した日付のエクスポート ] コマンドを選択して一度に 1 か月ずつエクスポートするか 、Start-FinOpsCostExport PowerShell コマンド を使用して、 -Backfill パラメーターまたは特定の開始日と終了日のいずれかで、より大きな日付範囲をエクスポートします。
  6. 監視する追加のスコープ (複数の課金アカウント、サブスクリプションなど) ごとに手順 1 から 5 を繰り返します。

重要

複数のスコープの構成: 複数のスコープを設定する場合は、データの競合を防ぐための一意のディレクトリ パスが各スコープにあることを確認します。 1 つの FinOps ハブ インスタンス内で、複数の EA 課金アカウント、MCA 課金プロファイル、サブスクリプション、およびリソース グループを監視できます。

¹ 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) を使用してエクスポートが自動的に構成されます。 設定するには、次の手順に従います。

  1. Azure Data Factory へのアクセス権を付与します。

  2. 目的のスコープを追加します。

    1. FinOps ハブ リソース グループからストレージ アカウントを開き、 Storage ブラウザー>Blob コンテナー>configに移動します。
    2. settings.json ファイルを選択し、>View/edit を選択してファイルを開きます。
    3. scopesプロパティを更新して、監視するスコープを含めます。 詳細については、スコープの例 Settings.json参照してください
    4. Save コマンドを選択して変更を保存します。 FinOps ハブは数分以内に変更を処理し、アカウントのサイズに応じて 30 分以内にデータを使用できるようにする必要があります。

    重要

    重複または重複するスコープを追加しないでください。これにより、データが重複する可能性があります。

  3. 履歴データをバックフィルします。

    新しいスコープを構成するとすぐに、FinOps ハブは現在および将来のコストの監視を開始します。 履歴データをバックフィルするには、いくつかのオプションがあります。

    オプション 1: config_RunBackfillJob パイプラインの使用

    エクスポート後に履歴データを処理するには、 config_RunBackfillJob パイプラインを使用します。 Azure Data Factory パイプラインの実行の詳細については、「 Azure Data Factory パイプライン」を参照してください。

    Azure portal からパイプラインを実行するには:

    1. FinOps ハブ リソース グループから Data Factory インスタンスを開き、 Launch Studio を選択し、 Author>Pipelines>config_RunBackfillJob に移動します。
    2. コマンド バーで 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 のエクスポートに関するドキュメントを参照してください

    1. Azure portal を開き、 Cost Management>Exports に移動します。
    2. FinOps ハブによって作成されたマネージド エクスポートを選択します。
    3. 上部のメニューから [ 選択した日付をエクスポート] を選択します。
    4. バックフィルする日付範囲を選択します (一度に複数の月を指定できます)。
    5. [ 実行 ] を選択してエクスポートを開始します。

    オプション 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"
      }
    ]
    
  • 複数の EA 課金アカウント

    "scopes": [
      {
        "scope": "/providers/Microsoft.Billing/billingAccounts/1234567"
      },
      {
        "scope": "/providers/Microsoft.Billing/billingAccounts/7654321"
      }
    ]
    
  • 混在スコープ (EA 課金アカウントとサブスクリプション)

    "scopes": [
      {
        "scope": "/providers/Microsoft.Billing/billingAccounts/1234567"
      },
      {
        "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 デプロイ ガイドを参照してモジュールをインストールしてください。

  1. FinOps ツールキット PowerShell モジュールをインストールします。

    Import-Module -Name FinOpsToolkit
    
  2. エクスポートを作成し、今すぐ実行して、最大 12 か月間のデータをバックフィルします。

    New-FinOpsCostExport -Name 'ftk-FinOpsHub-costs' `
      -Scope "{scope-id}" `
      -StorageAccountId "{storage-resource-id}" `
      -Backfill 12 `
      -Execute
    

フィードバックを送る

クイック レビューを使用して、どのように取り組んでいるかをお知らせください。 これらのレビューを使用して、FinOps のツールとリソースを改善および拡張します。

特定の情報をお探しの場合は、既存のアイデアに投票するか、新しいアイデアを作成してください。 他のユーザーとアイデアを共有して、投票を増やしましょう。 投票数が最も多いアイデアに焦点を当てています。