次の方法で共有


チュートリアル: FinOps ハブの作成と更新

このチュートリアルでは、Azure または Microsoft Fabric で新しい FinOps ハブ インスタンスを作成するか、既存の FinOps ハブ インスタンスを更新する方法について説明します。 このチュートリアルでは、FinOps ハブを設定および構成するときに行う必要があるデプロイ オプションと決定について説明します。 この記事は次のことに役立ちます。

  • FinOps ハブの前提条件を適用します。
  • 新しい FinOps ハブ インスタンスを作成するか、既存の FinOps ハブ インスタンスを更新します。
  • FinOps ハブでのデータの取り込みとバックフィル。
  • ハブを Microsoft Fabric に接続します。
  • レポートやダッシュボードを作成する。

[前提条件]

  • FinOps Hubs テンプレートをデプロイするアクセス許可を持つアクティブな Azure サブスクリプションへのアクセス:
  • エクスポートを構成するには、Cost Management でサポートされている 1 つ以上の Enterprise Agreement (EA)、Microsoft 顧客契約 (MCA)、または Microsoft Partner Agreement (MPA) スコープにアクセスします。
    • サブスクリプションとリソース グループ: Cost Management 共同作成者
    • EA の請求の範囲: エンタープライズリーダー、部門リーダー、またはアカウント所有者(登録アカウントとも呼ばれます)。
    • MCA の課金範囲: 課金アカウント、課金プロファイル、または請求書セクションの貢献者。
    • MPA の課金スコープ: 課金アカウント、課金プロファイル、または顧客の寄稿者。
  • 省略可能: リソースを作成してレポートを発行するための共同作成者またはメンバーのアクセス許可を持つ Power BI または Microsoft Fabric ワークスペースへのアクセス。
  • 省略可能: FinOps ツールキット PowerShell モジュール がインストールおよびインポートされた PowerShell 7 または Azure Cloud Shell。

チュートリアルの一部として、その他のアクセス許可について説明します。


必要なリソース プロバイダーを有効にする

FinOps ハブでは Cost Management を使用してデータをエクスポートし、Event Grid はデータがストレージ アカウントに追加されるタイミングを把握します。 テンプレートをデプロイする前に、 Microsoft.CostManagementExportsMicrosoft.EventGrid リソース プロバイダーを登録する必要があります。

  1. Azure portal から、 サブスクリプションの一覧を開きます。
  2. FinOps ハブのデプロイに使用するサブスクリプションを選択します。
  3. 左側のメニューで、[設定]>[リソース プロバイダー] を選択します。
  4. リソース プロバイダーの一覧で、 Microsoft.EventGrid の行を見つけます。
  5. [状態] 列に [未登録] と表示されている場合は、プロバイダー名 (⋅⋅⋅⋅) の右側にあるコンテキスト メニューを選択し、[登録] を選択します。
  6. Microsoft.CostManagementExports に対して手順 4 から 5 を繰り返します。

ネットワーク アーキテクチャを計画する

パブリックまたはプライベートのネットワーク ルーティングが好きですか?

パブリック ルーティングは最も一般的で、最も使い方が簡単です。 開いているインターネットからリソースにアクセスできます。 アクセスは、ロールベースのアクセス制御 (RBAC) を使用して制御されます。 パブリック ルーティングには構成は必要ありません。

パブリックまたはプライベートのネットワーク ルーティングが好きですか?

  • パブリック ルーティングは最も一般的で、最も使い方が簡単で、開いているインターネットからリソースに到達できるようにします。
  • プライベート ルーティングは最も安全であり、コストが追加され、ピアリングされたネットワークからのみリソースに到達できるようになります。

パブリック ルーティングには構成は必要ありません。 プライベート ルーティングを選択する場合は、ネットワーク管理者と協力してピアリングとルーティングを構成し、FinOps ハブ分離ネットワークにネットワークから到達できるようにします。 決定する前に、「 プライベート ネットワークの構成」で必要な追加の構成手順の詳細を確認してください。


省略可能: Microsoft Fabric を設定する

多くの組織では、データ分析、ストレージ、および処理を効率化するために、統合データ プラットフォームとして Microsoft Fabric を採用しています。 FinOps ハブでは、Microsoft Fabric Real-Time Intelligence (RTI) をプライマリ データ ストアまたはセカンダリ データ ストアとして使用できます。 このセクションは、Microsoft Fabric を Azure Data Explorer ではなくプライマリ データ ストアとして構成する場合にのみ適用されます。

Microsoft Fabric の構成は手動プロセスであり、テンプレートのデプロイの前後に明示的な手順が必要です。 このセクションでは、初期セットアップの要件について説明します。

  1. ワークスペースとイベントハウスを作成します。
    1. Microsoft Fabric から、目的のワークスペースを開くか、新しいワークスペースを作成します。 詳細については、こちらを参照してください
    2. Fabric ワークスペースで、ページの上部にある [+ 新しい項目 ] コマンドを選択します。
    3. [ データの格納>Eventhouse] を選択します。
    4. 名前 ( FinOpsHubなど) を指定し、[ 作成] を選択します。
  2. インジェスト データベースを作成して構成します。
    1. ページの上部にある Eventhouse>+ Database を選択し、名前を Ingestion に設定して、[ 作成] を選択します。
    2. 左側のメニューで Ingestion_queryset を選択します。
    3. ファイル内のすべてのテキストを削除します。
    4. テキスト エディターで finops-hub-fabric-setup-Ingestion.kql ファイル をダウンロードして開きます。
    5. このファイルのテキスト全体を Fabric クエリセット エディターにコピーします。
    6. Ctrl キーを押しながら H キーを押して検索と置換ダイアログをトリガーし、検索テキストを$$rawRetentionInDays$$に設定し、0または必要な日数に置き換えて_rawテーブルにデータを保持してから、Ctrl キーを押しながら Alt キーを押しながら Enter キーを押してすべてのインスタンスを置き換えます。
    7. Ctrl キーを押しながら Home キーを押してファイルの先頭にカーソルを移動し、Shift キーを押しながら Enter キーを押すか、ページの上部にある [実行] コマンドを選択します。
    8. スクリプトが完了するのを待ってから、[ 結果 ] 列を確認して、すべてのコマンドが正常に完了したことを確認します。
      • $$rawRetentionInDays$$ の行にエラーが表示された場合は、手順 2.6 と 2.7 を繰り返します。
      • 別のエラーが発生した場合は、 GitHub で問題を作成します
  3. finops-hub-fabric-setup-Hub.kql ファイル スクリプト ファイルを使用して、ハブ データベースに対して手順 2 を繰り返します。
  4. 左側のウィンドウで、[システムの概要] を選択し、右側の詳細ウィンドウの [クエリ URI] プロパティの [URI のコピー] リンクを選択します。
    • クエリ URI を書き留めます。 これは、次の手順で使用します。

FinOps ハブ テンプレートをデプロイする

FinOps ハブのコア エンジンは、Azure Resource Manager デプロイ テンプレートを使用してデプロイされます。 テンプレートは bicep で使用できます。 このテンプレートには、ストレージ アカウント、Azure Data Factory、Azure Data Explorer、およびその他のサポート リソースが含まれています。 テンプレートと最小特権アクセス要件の詳細については、 FinOps ハブ テンプレートの詳細を参照してください。

  1. Azure portal で目的のテンプレートを開きます。
  2. 目的のサブスクリプションとリソース グループを選択します。
  3. リソースをデプロイする Azure リージョンを選択します。
    • Microsoft Fabric に接続する場合は、Fabric 容量と同じリージョンを選択します。 リージョンは、ワークスペース設定 >License info>License 容量で確認できます。
  4. コア リソースとレポートの目的で使用されるハブ名を指定します。
    • すべてのリソースには、Cost Management のハブの下でグループ化するための共通の cm-resource-parent タグがあります。
  5. 一意の Azure Data Explorer クラスター名または Microsoft Fabric Eventhouse クエリ URI を指定します。
    • この名前は、データのクエリを実行し、レポート、ダッシュボード、その他のツールに接続するために使用されます。
    • Microsoft Fabric にデプロイする場合は、Fabric eventhouse クエリ URI を使用し、Data Explorer クラスター名を空のままにします。
    • Data Explorer と Fabric は省略可能ですが、合計支出が 100,000 ドルを超える監視を行う場合は推奨されます。
    • 警告: 100 万ドルを超える支出でストレージに依存している場合、Power BI でタイムアウトとデータ更新の問題が発生する可能性があります。 問題が発生した場合は、Data Explorer または Microsoft Fabric を使用して再デプロイします。
  6. フォームの下部にある [ 次へ ] ボタンを選択します。
  7. 必要に応じて、ストレージの冗長性または Data Explorer SKU を変更できます。
    • 初期デプロイのどちらの設定も変更しないことをお勧めします。
    • データ エクスプローラーを使用する場合、ストレージ アカウントは一時的なデータ ストアであり、geo 冗長性は必要ありません。
    • ほとんどのデプロイでは、より大きな Data Explorer SKU は必要ありません。 スケールアップまたはスケールアウトする前に、開発/テスト クラスターから開始し、パフォーマンスを監視することをお勧めします。
    • データ エクスプローラーのスケーリングの詳細については、「 クラスターの SKU を選択する」を参照してください。
  8. フォームの下部にある [ 次へ ] ボタンを選択します。
  9. 目的のデータ保持期間を設定します。
    • 生データ保持とは、データ エクスプローラーに追加されたデータを指しますが、最終的なテーブルには正規化されません。 インジェストの問題をトラブルシューティングする必要がある場合を除き、0 を使用します。 この数は、リテンション期間 (日数) を示します。
    • 正規化されたデータ保有期間とは、最終的なテーブルでデータを使用できる期間を数か月単位で指します。 0 は現在の月のみを保持し、1 は先月と今月のみを保持します。などです。
  10. フォームの下部にある [ 次へ ] ボタンを選択します。
  11. インフラストラクチャの暗号化が必要かどうかを示します。
    • インフラストラクチャの暗号化を必要とする特定のポリシーがない限り、推奨されません。
  12. パブリックまたはプライベートのネットワーク ルーティングが必要であることを示します。 詳細については、こちらを参照してください
  13. プライベートを選択した場合は、目的のプライベート ネットワーク アドレス プレフィックスを指定します。
  14. フォームの下部にある [ 次へ ] ボタンを選択します。
  15. 必要に応じて、リソースに追加するタグをさらに指定します。
  16. フォームの下部にある [ 次へ ] ボタンを選択します。
  17. 構成の概要を確認し、フォームの下部にある [ 作成 ] ボタンを選択します。

任意: ファブリック アクセスを構成する

プライマリ データ ストアとして Microsoft Fabric を設定する場合は、Data Factory と Fabric イベントハウスへのアクセスを構成します。

  1. Data Factory ID を取得します。
    1. Azure portal から、FinOps ハブ リソース グループを開きます。
    2. リソースの一覧で、Data Factory インスタンスを選択します。
    3. 左側のメニューで、[ 設定]>[管理 ID] を 選択し、 オブジェクト (プリンシパル) ID をコピーします。
  2. Data Factory にハブ データベースとインジェスト データベースへのアクセス権を付与します。
    1. Microsoft Fabric から目的のワークスペースを開き、ターゲットイベントハウスを選択します。

    2. 左側のウィンドウで インジェスト データベースを選択します。

    3. 左側のウィンドウ Ingestion_querysetを選択します。

    4. 次のコマンドを個別に実行し、 <adf-identity-id> を手順 1 の Data Factory マネージド ID オブジェクト ID に置き換えます。

      .add database Ingestion admins ('aadapp=<adf-identity-id>')
      
      .add database Hub admins ('aadapp=<adf-identity-id>')
      

監視するスコープを構成する

FinOps ハブでは、 FinOps Open Cost and Usage Specification (FOCUS) に合わせて、コストと使用状況のデータセットを監視できます。

エクスポートを手動で作成するか、FinOps ハブへのアクセスを許可してエクスポートを作成および管理することで、Microsoft Cost Management からデータを取り込むことができます。 監視する必要があるスコープごとに、次の手順を繰り返す必要があります。 最適な対象範囲と利用可能なデータセットには、EA 課金アカウントと MCA 課金プロファイルを使用することをお勧めします。 手動エクスポートと管理エクスポートの違いの詳細については、「スコープの 構成」を参照してください。

  1. Azure portal から Cost Management を開きます。
  2. ページの上部にあるスコープ ピッカーから目的のスコープを選択します。
  3. 左側のメニューで、[ レポートと分析>Exports] を選択します。
  4. [作成] コマンドを選択します。
  5. [すべてのコスト (フォーカス)] + 価格テンプレートを選択します。
  6. プレフィックス ( finops-hub など) を指定し、下部にある [次へ ] を選択します。
  7. FinOps ハブのデプロイによって作成されたサブスクリプションとストレージ アカウントを選択します。
  8. コンテナーを msexports に設定します。
  9. ディレクトリをスコープを識別する一意の文字列 (たとえば、 billingAccounts/###) に設定します。
  10. 最適なパフォーマンスを得るための Parquet 形式と Snappy 圧縮を選択します。
    • CSV と Parquet の任意の組み合わせは、圧縮されているか非圧縮であるかにかかわらずサポートされていますが、Parquet には Snappy 圧縮を使用することをお勧めします。
  11. 下部にある [次へ ] を選択します。
  12. 必要に応じて設定を確認して修正し、下部にある [ 作成 ] を選択します。
  13. それ以上のデータセットに対して、手順 4 から 12 を繰り返します。
    • レート最適化レポートの [予約の推奨事項] ページを読み込むには、予約に関する推奨事項が必要です。

マネージド エクスポート

マネージド エクスポートを使用すると、FinOps ハブで Cost Management のエクスポートを設定および管理できます。 マネージド エクスポートを有効にするには、監視する各スコープのデータを読み取るアクセス権を Azure Data Factory に付与する必要があります。 詳細な手順については、「 マネージド エクスポートの構成」を参照してください。

他のデータ ソースからの取り込み

Amazon Web Services (AWS)、Google Cloud Platform (GCP)、Oracle Cloud Infrastructure (OCI)、Tencent など、FOCUS をサポートする他のデータ プロバイダーからデータを取り込むには、

  1. プロバイダーから FOCUS データセットを構成します。
  2. FinOps ハブ ストレージ アカウントの インジェスト コンテナーにデータをコピーするワークフローを作成します。
    • ファイルは UTC カレンダー月で区切られ、それぞれ 2 GB 未満で、Parquet 形式で保存する必要があります。 スナップ圧縮は省略可能です。
    • ファイルは、次のフォルダー パスに配置する必要があります: Costs/yyyy/mm/{scope}
      • yyyy は、データセットの 4 桁の年を表します。
      • mm は、データセットの 2 桁の月を表します。
      • {scope} は、データセットの論理的で一貫性のある識別子を表します。 この値には、1 つ以上の入れ子になったフォルダーを使用する任意の有効なパスを指定できます。
    • プロバイダーが各データセットで重複しない差分を生成する場合は、月とスコープ フォルダーの間に日 (dd) や時間 (dd/hh) のためのフォルダーを追加します。
      • 目標は、オーバーライドするデータセットが毎回上書きされるように、同じフォルダー パスに常に配置されるようにすることです。 重複しないデータセットは、新しいフォルダー パスにプッシュする必要があります。
  3. 同じフォルダーに空の manifest.json ファイルを作成します。
    • データ エクスプローラーのインジェストは、manifest.json ファイルが追加または更新されたときにトリガーされます。
  4. 現在のインジェスト プロセスでカバーされていない列がある場合は、 Costs_raw テーブルと Costs_final_v1_0 テーブルを更新し、それに応じて Costs_transform_v1_0Costs_v1_0Costs 関数を 更新します。
    • カスタマイズによって今後のアップグレードがブロックされないように、既定のインジェスト コードに新しい列を追加する 機能要求 を送信します。

省略可能: 履歴データを入力する

FinOps ハブでは、データが自動的にバックフィルされることはありません。 履歴データを設定するには、 インジェスト ストレージ コンテナーにデータを発行するために使用されるカスタム データ パイプラインを含め、元のデータ プロバイダーからの履歴データ エクスポートを実行します。

Microsoft Cost Management の場合:

  1. Azure portal から Cost Management を開きます。
  2. ページの上部にあるスコープ ピッカーから目的のスコープを選択します。
  3. 左側のメニューで、[ レポートと分析>Exports] を選択します。
  4. エクスポートの一覧で目的のエクスポートを選択します。
    • 価格と使用状況のデータセットに不足している価格を入力できるように、コストの前に価格を常にエクスポートしてください。
    • コストが最初にエクスポートされた場合は、該当月のコストデータを補完するために、ingestion_ExecuteETLパイプラインを再実行して不足している価格を補完してください。
  5. [ 選択した日付のエクスポート] を選択し、目的の月を指定します。 常に完全な月をエクスポートします。
  6. 必要な月すべてに対して手順 5 を繰り返します。
    • Cost Management では、Azure portal からの過去 12 か月間のエクスポートのみがサポートされます。
    • 過去 12 か月を超えて PowerShell を使用してエクスポートすることを検討してください。
  7. エクスポートごとに手順 4 から 6 を繰り返します。
  8. スコープごとに手順 2 から 7 を繰り返します。

省略可能: フォロワーとして Microsoft Fabric に接続する

データ エクスプローラーを使用して FinOps ハブを構成する場合でも、Microsoft Fabric でデータを使用できるようにする場合は、Fabric イベントハウスを使用してショートカット (フォロワー) データベースを作成します。 Fabric イベント ハウスに直接取り込んだ場合、ショートカット データベースは必要ありません。

  1. Fabric ワークスペースで、ページの上部にある [+ 新しい項目 ] コマンドを選択します。
  2. [ データの格納>Eventhouse] を選択します。
  3. 名前を指定し、[ 作成] を選択します。
  4. ページの上部にある [ + データベース ] を選択します。
  5. 名前を Ingestion に設定し、「 新しいショートカット データベース (フォロワー)」と入力し、[ 次へ] を選択します。
  6. クラスター URI を FinOps ハブ クラスター URI に設定し、データベースを Ingestionに設定し、[ 作成] を選択します。
  7. Hub データベースに対して手順 4 から 6 を繰り返します。

レポートとダッシュボードを構成する

FinOps ハブには、Data Explorer ダッシュボードと Power BI レポートが付属しており、データ エクスプローラー (KQL 経由) または Azure Data Lake Storage でデータに接続できます。

Power BI を使用する場合でも、取り込まれたデータに対する迅速かつ簡単なセットアップと分析情報により、Data Explorer ダッシュボードを設定することをお勧めします。

  1. ダッシュボード テンプレートをダウンロードします
  2. ハブデータベースとインジェスト データベースへのアクセス権をユーザービューアー (またはそれ以上) に付与します。 詳細については、こちらを参照してください
  3. Azure Data Explorer ダッシュボードに移動します。
  4. 手順 1 でファイルから新しいダッシュボードをインポートします。
  5. ダッシュボードを編集し、データ ソースを FinOps ハブ クラスターに変更します。

詳細については、「 データ エクスプローラー ダッシュボードの構成」を参照してください。


トラブルシューティング

特定のエラーが発生した場合は、 一般的なエラーの一覧 で軽減手順を確認してください。 特定のエラー コードが発生しない場合や、その他の問題が発生した場合は、 トラブルシューティング ガイドを参照してください。

トラブルシューティング ガイドで問題が解決しない場合は、「 FinOps ツールキットの問題のサポートを受ける 」を参照してください。


フィードバックを送る

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

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


関連する FinOps 機能:

関連製品:

関連するソリューション: