コスト最適化ブックの使用とカスタマイズ
この記事では、コスト最適化ブックをインストールして編集する方法について説明します。 コスト最適化ブックは、使用率と効率の目標を達成するのに役立つ最もよく使用されるツールの一部の中心点です。 これにより、次のようなさまざまな分析情報が提供されます。
- Advisor のコストに関する推奨事項
- アイドル状態のリソースの識別
- 不適切に割り当て解除された仮想マシンの管理
- Windows、Linux、SQL データベースに対して Azure ハイブリッド特典オプションを使用する方法に関する分析情報
ブックには、コンピューティング、ストレージ、ネットワークに関する分析情報が含まれます。 ブックには、一部のクエリに対するクイック修正オプションもあります。 クイック修正オプションは、推奨される最適化をブック ページから直接適用し、最適化プロセスを合理化します。
ブックには、レートの最適化と使用状況の最適化という 2 つの主要なセクションがあります。
レートの最適化
このセクションでは、レート関連の要因に対処して Azure のコストを最適化する戦略に焦点を当てます。 これには、Advisor のコストに関する推奨事項からの分析情報、Windows、Linux、SQL データベースでの Azure ハイブリッド特典オプションの使用に関するガイダンスなどが含まれます。 また、予約や Azure 節約プランなど、コミットメントベースの割引に関する推奨事項も含まれています。 レートの最適化は、リソースの時間単位または月単位のコストを削減するために重要です。
Azure ハイブリッド特典を使用した Windows 仮想マシンのレート最適化セクションの例を次に示します。
使用状況の最適化
使用状況の最適化の目的は、Azure リソースが効率的に使用されるようにすることです。 このセクションでは、アイドル状態のリソースを特定し、不適切に割り当て解除された仮想マシンを管理し、リソース効率を向上させるための推奨事項を実装するガイダンスを提供します。 リソース使用率を最大化し、コストを最小限に抑えるための、使用量の最適化に重点を置きます。
AKS の [使用量の最適化] セクションの例を次に示します。
コスト最適化ブックの詳細については、「 コスト最適化ブックを使用して Azure のコストを管理および最適化するを参照してください。
ブックを使う
Azure Monitor ブックには、Azure portal 内でデータを分析し、豊富なビジュアル レポートを作成するための柔軟なキャンバスが用意されています。 その後、それらをカスタマイズして、Azure 環境に関する視覚的および対話型の情報を表示できます。 これにより、Azure 内のさまざまなデータ ソースに対してクエリを実行し、必要に応じてデータを変更または処理できます。 次に、使用可能な視覚化のいずれかを使用して表示し、最後にブックをチームと共有して、すべてのユーザーが使用できるようにすることができます。
コスト最適化ブックは Azure Advisor のブック ギャラリーにあり、セットアップは必要ありません。 ただし、クエリの追加やカスタマイズなど、ブックに変更を加える場合は、ブックをお使いの環境にコピーできます。
Advisor でブックを表示する
- Azure portal にサインインします。
- Azure Advisor を検索してください。
- 左側のナビゲーション メニューで、[Workbooks] を選択してください。
- Workbooks ギャラリーで、コスト最適化 (プレビュー) ブック テンプレートを選択してください。
- 探索する領域を選択してください。
ブックを Azure にデプロイする
元のブックに変更を加えたい場合、そのテンプレートは FinOps ツールキットの一部として提供され、わずか数ステップでデプロイできます。
ブックを展開して使用するために、次の最小特権ロールがあることを確認してください。
次のいずれかのオプションを使用して、コスト最適化ブック テンプレートをデプロイします。
{% include deploy.html template="optimization-workbook" public="1" gov="1" china="0" %}
サブスクリプション、場所、リソース グループを選択し、ブックに名前を付けてください。 次に、[確認と作成] を選択してブック テンプレートをデプロイしてください。
[確認と作成] ページで、[作成] を選択してください。
デプロイが完了したら、[出力] ページでブックの URL を表示およびコピーできます。 URL を使用すると、作成したブックに直接移動します。 次に例を示します。
ブックに新しいクエリを編集して含める
ブックにさらにクエリを追加または編集する場合は、必要に応じてテンプレートを編集できます。
ブックは主に Azure Resource Graph クエリに基づいています。 ただし、ブックではさまざまなソースがサポートされています。 これには、KQL、Azure Resource Manager、Azure Monitor、Azure Data Explorer、カスタム エンドポイントなどが含まれます。
また、さまざまなソースのデータをマージして、分析情報のエクスペリエンスを強化することもできます。 Azure Monitor には、多くの場合、トリアージと診断ワークフローに不可欠な、複数の相関データ ソースがあります。 データをマージまたは結合して、マージ コントロールを使用して豊富な分析情報を提供できます。
ブックの [Azure ハイブリッド特典] タブにクエリを作成して追加する方法を次に示します。 この例では、「コード例」セクションのコードを追加して、Azure ハイブリッド特典を使用していない Azure Stack HCI クラスターを特定できるようにします。
- ブックを開き、[編集] を選択してください。
- [レートの最適化] タブを選択すると、Azure ハイブリッド特典を使用する仮想マシンが表示されます。
- 右側のページの下部にある最後の [編集] オプションの右側にある省略記号 (...) 記号を選択し、[追加] を選択してください。 このアクションにより、最後のグループの後に新しい項目が追加されます。
- [クエリの追加] を選択します。
- [データ ソース] を Azure Resource Graph に変更してください。 [リソースの種類] は [サブスクリプション] のままにしてください。
- [サブスクリプション] でリスト オプションを選択し、[リソース パラメーター] で [サブスクリプション] を選択してください。
- 「コード例」セクションのコード例をコピーし、エディターに貼り付けてください。
- コード例の ResourceGroup 名を、Azure Stack HCI クラスターが存在する名前に変更してください。
- ページの下部にある [編集完了] を選択してください。
- 変更をブックに保存し、結果を確認してください。
コード セクションについて
この記事の目的は 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
という新しい列が作成されます。 そして、AHBStatus
が Disable
に設定されているリソースのみが必要です。
最後のセクションでは、クエリによって ResourceContainerstable
と resources
テーブルが結合されます。 結合は、リソースが属しているサブスクリプションを識別するのに役立ちます。
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 Workbooks を使用し、複数のデータ ソースから結合したデータを視覚化する」トレーニング モジュールを参照してください。
次のステップ
コスト最適化ブックの詳細については、「 Azure Monitor ブックを使用して複数のデータ ソースから結合されたデータを表示するを参照してください。