次の方法で共有


FinOps ブックの使用とカスタマイズ

この記事では、FinOps ブックをインストールおよび編集する方法について説明します。 FinOps ブックは、FinOps の目標を達成するのに役立つ一般的なツールの中心的なアクセス ポイントです。 各ブックには、次のような FinOps 機能に合わせたさまざまな分析情報が用意されています。

  • Advisor のコストに関する推奨事項
  • アイドル状態のリソースの識別
  • 不適切に割り当て解除された仮想マシンの管理
  • Windows、Linux、SQL データベースに対して Azure ハイブリッド特典オプションを使用する方法に関する分析情報

ブックには、コンピューティング、ストレージ、ネットワークなどの分析情報が含まれます。 また、ブックには、ブックから直接推奨されるアクションを実行するためのクイック修正オプションがいくつか用意されています。最適化プロセスが合理化されます。


ブックを使用する

Azure Monitor ブックには、Azure portal 内でデータを分析し、豊富なビジュアル レポートを作成するための柔軟なキャンバスが用意されています。 その後、それらをカスタマイズして、Azure 環境に関する視覚的および対話型の情報を表示できます。 これにより、Azure 内のさまざまなデータ ソースに対してクエリを実行し、必要に応じてデータを変更または処理できます。 次に、使用可能な視覚化のいずれかを使用して表示し、最後にブックをチームと共有して、すべてのユーザーが使用できるようにすることができます。

コスト最適化ブックは Azure Advisor のブック ギャラリーにあり、セットアップは必要ありません。 ただし、クエリの追加やカスタマイズなど、他のブックを展開したり、変更を加えたりする場合は、ブックを環境にコピーできます。

Advisor でコスト最適化ブックを表示する

  1. Azure portal にサインインします。
  2. Azure Advisor を検索してください。
  3. 左側のナビゲーション メニューで、[Workbooks] を選択してください。
  4. ブック ギャラリーで、ブック テンプレート コスト最適化 (プレビュー) 選択します。
  5. 探索する領域を選択してください。

FinOps ブックを Azure にデプロイする

コスト最適化ブックを変更する場合、または他の FinOps ブックを使用する場合は、FinOps ツールキットから FinOps ブック テンプレートをデプロイします。

まず、ブックを展開して使用するための、次の最小特権ロールがあることを確認します。

次のいずれかのオプションを使用して、FinOps ブック テンプレートをデプロイします。

Azure にデプロイするAzure Gov にデプロイする

サブスクリプション、場所、リソース グループを選択し、ブックに名前を付けます。 次に、[確認と作成] を選択してブック テンプレートをデプロイしてください。

[確認と作成] ページで、[作成] を選択してください。

デプロイが完了したら、[出力] ページでブックの URL を表示およびコピーできます。 URL を使用すると、作成したブックに直接移動します。


ブックに新しいクエリを編集して含める

ブックにさらにクエリを追加または編集する場合は、必要に応じてテンプレートを編集できます。

ブックは主に Azure Resource Graph クエリに基づいています。 ただし、ブックではさまざまなソースがサポートされています。 これには、Kusto 照会言語 (KQL)、Azure Resource Manager、Azure Monitor、Azure Data Explorer、カスタム エンドポイントなどが含まれます。

また、さまざまなソースのデータをマージして、分析情報のエクスペリエンスを強化することもできます。 Azure Monitor には、多くの場合、トリアージと診断ワークフローに不可欠な、複数の相関データ ソースがあります。 データをマージまたは結合して、マージ コントロールを使用して豊富な分析情報を提供できます。

コスト最適化ブックの Azure ハイブリッド特典タブにクエリを作成して追加する方法を次に示します。 この例では、Code の例セクションのコードを追加して、Azure ハイブリッド特典を使用していない Azure Stack ハイパーコンバージド インフラストラクチャ (HCI) クラスターを特定します。

  1. ブックを開き、[編集] を選択してください。
  2. [最適化] タブを選択します。Azure ハイブリッド特典を使用する仮想マシンが表示されます。
  3. 右側のページの下部にある最後の [編集] オプションの右側にある省略記号 (...) 記号を選択し、[追加] を選択してください。 このアクションにより、最後のグループの後に新しい項目が追加されます。
  4. [クエリの追加] を選択します。
  5. [データ ソース]Azure Resource Graph に変更してください。 [リソースの種類] は [サブスクリプション] のままにしてください。
  6. [サブスクリプション] でリスト オプションを選択し、[リソース パラメーター] で [サブスクリプション] を選択してください。
  7. コード例」セクションのコード例をコピーし、エディターに貼り付けてください。
  8. コード例の ResourceGroup 名を、Azure Stack HCI クラスターが存在する名前に変更してください。
  9. ページの下部にある [編集完了] を選択してください。
  10. 変更をブックに保存し、結果を確認してください。

コード セクションについて

この記事の目的は Azure Resource Graph クエリに焦点を当てることではありませんが、クエリの例で何が行われているかを理解することが重要です。 このコード例には、3 つのセクションがあります。

最初のセクションでは、次のコードで独自のサブスクリプションを識別し、グループ化します。

ResourceContainers
| where type =~ 'Microsoft.Resources/subscriptions'
| where tostring(properties.subscriptionPolicies.quotaId) !has "MSDNDevTest_2014-09-01" 
| extend SubscriptionName = name

Azure ハイブリッド特典は Dev/Test リソースに適用されないため、ResourceContainers テーブルに対してクエリを実行し、Dev/Test であるそれを削除します。

2 番目のセクションでは、クエリによって Stack HCI リソースが検索され、評価されます。

resources 
| where resourceGroup in ({ResourceGroup})
| where type == 'microsoft.azurestackhci/clusters'
| extend AHBStatus = tostring(properties.softwareAssuranceProperties.softwareAssuranceIntent)
| where AHBStatus == "Disable"

このセクションでは、Resource テーブルのクエリを実行します。 これは、リソースの種類 microsoft.azurestackhci/clustersでフィルター処理します。 ソフトウェア アシュアランス情報を含むプロパティがある AHBStatus という新しい列が作成されます。 そして、AHBStatusDisable に設定されているリソースのみが必要です。

最後のセクションでは、クエリによって ResourceContainerstableresources テーブルが結合されます。 結合は、リソースが属しているサブスクリプションを識別するのに役立ちます。

ResourceContainers | "Insert first code section go here"
| join (
    resources  "Insert second code section here"
) on subscriptionId 
| order by type asc 
| project HCIClusterId,ClusterName,Status,AHBStatus

最後に、最も関連性の高い列を表示します。 ブックには ResourceGroup パラメーターがあるため、サンプル コードではリソース グループごとに結果をフィルター処理できます。

コードの例

ブックに挿入するために使用する完全なコード例を次に示します。

ResourceContainers | where type =~ 'Microsoft.Resources/subscriptions' | where tostring (properties.subscriptionPolicies.quotaId) !has "MSDNDevTest_2014-09-01"  | extend SubscriptionName=name 
| join (
  resources 
  | where resourceGroup in ({ResourceGroup})
  | where type == 'microsoft.azurestackhci/clusters'
  | extend AHBStatus = tostring(properties.softwareAssuranceProperties.softwareAssuranceIntent)
  | where AHBStatus == "Disable"
  | extend HCIClusterId=properties.clusterId, ClusterName=properties.clusterName, Status=properties.status, AHBStatus=tostring(properties.softwareAssuranceProperties.softwareAssuranceIntent)
) on subscriptionId 
| order by type asc 
| project HCIClusterId,ClusterName,Status,AHBStatus

ブックの詳細情報

Azure Monitor ブックの詳細については、「 Azure Monitor Workbooks トレーニング モジュールを使用して複数のデータ ソースから結合されたデータを表示する」を参照してください。


他の FinOps ブックの詳細については、 FinOps ブックの概要を参照してください。